]> git.pld-linux.org Git - packages/acpica.git/blame - 0038-Support-PMTT-in-a-big-endian-world.patch
- updated tests
[packages/acpica.git] / 0038-Support-PMTT-in-a-big-endian-world.patch
CommitLineData
b643ab7e
JB
1From bd19995fa268ed3e93c071162d0e9c2d35ada0d4 Mon Sep 17 00:00:00 2001
2From: Al Stone <ahs3@redhat.com>
3Date: Tue, 29 Jun 2021 16:23:30 -0600
4Subject: [PATCH 38/45] Support PMTT in a big-endian world
5
6Signed-off-by: Al Stone <ahs3@redhat.com>
7---
8 source/common/dmtbdump2.c | 18 ++++++++++--------
9 1 file changed, 10 insertions(+), 8 deletions(-)
10
11Index: acpica-unix2-20220331/source/common/dmtbdump2.c
12===================================================================
13--- acpica-unix2-20220331.orig/source/common/dmtbdump2.c
14+++ acpica-unix2-20220331/source/common/dmtbdump2.c
15@@ -2142,8 +2142,9 @@ AcpiDmDumpPmtt (
16 {
17 ACPI_STATUS Status;
18 ACPI_PMTT_HEADER *Subtable;
19- UINT32 Length = Table->Length;
20+ UINT32 Length = AcpiUtReadUint32 (&Table->Length);
21 UINT32 Offset = sizeof (ACPI_TABLE_PMTT);
22+ UINT16 SubtableLength;
23
24
25 /* Main table */
26@@ -2157,17 +2158,18 @@ AcpiDmDumpPmtt (
27 /* Subtables */
28
29 Subtable = ACPI_ADD_PTR (ACPI_PMTT_HEADER, Table, Offset);
30- while (Offset < Table->Length)
31+ while (Offset < Length)
32 {
33 /* Each of the types below contain the common subtable header */
34
35 AcpiOsPrintf ("\n");
36+ SubtableLength = AcpiUtReadUint16 (&Subtable->Length);
37 switch (Subtable->Type)
38 {
39 case ACPI_PMTT_TYPE_SOCKET:
40
41 Status = AcpiDmDumpTable (Length, Offset, Subtable,
42- Subtable->Length, AcpiDmTableInfoPmtt0);
43+ SubtableLength, AcpiDmTableInfoPmtt0);
44 if (ACPI_FAILURE (Status))
45 {
46 return;
47@@ -2176,7 +2178,7 @@ AcpiDmDumpPmtt (
48
49 case ACPI_PMTT_TYPE_CONTROLLER:
50 Status = AcpiDmDumpTable (Length, Offset, Subtable,
51- Subtable->Length, AcpiDmTableInfoPmtt1);
52+ SubtableLength, AcpiDmTableInfoPmtt1);
53 if (ACPI_FAILURE (Status))
54 {
55 return;
56@@ -2185,7 +2187,7 @@ AcpiDmDumpPmtt (
57
58 case ACPI_PMTT_TYPE_DIMM:
59 Status = AcpiDmDumpTable (Length, Offset, Subtable,
60- Subtable->Length, AcpiDmTableInfoPmtt2);
61+ SubtableLength, AcpiDmTableInfoPmtt2);
62 if (ACPI_FAILURE (Status))
63 {
64 return;
65@@ -2194,7 +2196,7 @@ AcpiDmDumpPmtt (
66
67 case ACPI_PMTT_TYPE_VENDOR:
68 Status = AcpiDmDumpTable (Length, Offset, Subtable,
69- Subtable->Length, AcpiDmTableInfoPmttVendor);
70+ SubtableLength, AcpiDmTableInfoPmttVendor);
71 if (ACPI_FAILURE (Status))
72 {
73 return;
74@@ -2210,9 +2212,9 @@ AcpiDmDumpPmtt (
75
76 /* Point to next subtable */
77
78- Offset += Subtable->Length;
79+ Offset += SubtableLength;
80 Subtable = ACPI_ADD_PTR (ACPI_PMTT_HEADER,
81- Subtable, Subtable->Length);
82+ Subtable, SubtableLength);
83 }
84 }
85
This page took 0.081378 seconds and 4 git commands to generate.