Blame big-endian-dmtbdump3.patch

d7f8eec
Index: acpica-unix-20191018/source/common/dmtbdump3.c
d7f8eec
===================================================================
d7f8eec
--- acpica-unix-20191018.orig/source/common/dmtbdump3.c
d7f8eec
+++ acpica-unix-20191018/source/common/dmtbdump3.c
d7f8eec
@@ -68,9 +68,11 @@ void
d7f8eec
 AcpiDmDumpSlic (
d7f8eec
     ACPI_TABLE_HEADER       *Table)
d7f8eec
 {
d7f8eec
+    UINT32	Length;
d7f8eec
 
d7f8eec
-    (void) AcpiDmDumpTable (Table->Length, sizeof (ACPI_TABLE_HEADER), Table,
d7f8eec
-        Table->Length - sizeof (*Table), AcpiDmTableInfoSlic);
d7f8eec
+    ACPI_MOVE_32_TO_32(&Length, &Table->Length);
d7f8eec
+    (void) AcpiDmDumpTable (Length, sizeof (ACPI_TABLE_HEADER), Table,
d7f8eec
+        Length - sizeof (*Table), AcpiDmTableInfoSlic);
d7f8eec
 }
d7f8eec
 
d7f8eec
 
d7f8eec
@@ -93,14 +95,17 @@ AcpiDmDumpSlit (
d7f8eec
     ACPI_STATUS             Status;
d7f8eec
     UINT32                  Offset;
d7f8eec
     UINT8                   *Row;
d7f8eec
-    UINT32                  Localities;
d7f8eec
+    UINT64                  Localities;
d7f8eec
     UINT32                  i;
d7f8eec
     UINT32                  j;
d7f8eec
+    UINT32		    Length;
d7f8eec
+    UINT64                  Tmp64;
d7f8eec
 
d7f8eec
 
d7f8eec
     /* Main table */
d7f8eec
 
d7f8eec
-    Status = AcpiDmDumpTable (Table->Length, 0, Table, 0, AcpiDmTableInfoSlit);
d7f8eec
+    ACPI_MOVE_32_TO_32(&Length, &Table->Length);
d7f8eec
+    Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoSlit);
d7f8eec
     if (ACPI_FAILURE (Status))
d7f8eec
     {
d7f8eec
         return;
d7f8eec
@@ -108,7 +113,8 @@ AcpiDmDumpSlit (
d7f8eec
 
d7f8eec
     /* Display the Locality NxN Matrix */
d7f8eec
 
d7f8eec
-    Localities = (UINT32) ACPI_CAST_PTR (ACPI_TABLE_SLIT, Table)->LocalityCount;
d7f8eec
+    Tmp64 = (UINT64) ACPI_CAST_PTR (ACPI_TABLE_SLIT, Table)->LocalityCount;
d7f8eec
+    ACPI_MOVE_64_TO_64(&Localities, &Tmp64);
d7f8eec
     Offset = ACPI_OFFSET (ACPI_TABLE_SLIT, Entry[0]);
d7f8eec
     Row = (UINT8 *) ACPI_CAST_PTR (ACPI_TABLE_SLIT, Table)->Entry;
d7f8eec
 
d7f8eec
@@ -121,7 +127,7 @@ AcpiDmDumpSlit (
d7f8eec
         {
d7f8eec
             /* Check for beyond EOT */
d7f8eec
 
d7f8eec
-            if (Offset >= Table->Length)
d7f8eec
+            if (Offset >= Length)
d7f8eec
             {
d7f8eec
                 AcpiOsPrintf (
d7f8eec
                     "\n**** Not enough room in table for all localities\n");
d7f8eec
@@ -173,11 +179,13 @@ AcpiDmDumpSrat (
d7f8eec
     UINT32                  Offset = sizeof (ACPI_TABLE_SRAT);
d7f8eec
     ACPI_SUBTABLE_HEADER    *Subtable;
d7f8eec
     ACPI_DMTABLE_INFO       *InfoTable;
d7f8eec
+    UINT32		    Length;
d7f8eec
 
d7f8eec
 
d7f8eec
     /* Main table */
d7f8eec
 
d7f8eec
-    Status = AcpiDmDumpTable (Table->Length, 0, Table, 0, AcpiDmTableInfoSrat);
d7f8eec
+    ACPI_MOVE_32_TO_32(&Length, &Table->Length);
d7f8eec
+    Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoSrat);
d7f8eec
     if (ACPI_FAILURE (Status))
d7f8eec
     {
d7f8eec
         return;
d7f8eec
@@ -186,12 +194,12 @@ AcpiDmDumpSrat (
d7f8eec
     /* Subtables */
d7f8eec
 
d7f8eec
     Subtable = ACPI_ADD_PTR (ACPI_SUBTABLE_HEADER, Table, Offset);
d7f8eec
-    while (Offset < Table->Length)
d7f8eec
+    while (Offset < Length)
d7f8eec
     {
d7f8eec
         /* Common subtable header */
d7f8eec
 
d7f8eec
         AcpiOsPrintf ("\n");
d7f8eec
-        Status = AcpiDmDumpTable (Table->Length, Offset, Subtable,
d7f8eec
+        Status = AcpiDmDumpTable (Length, Offset, Subtable,
d7f8eec
             Subtable->Length, AcpiDmTableInfoSratHdr);
d7f8eec
         if (ACPI_FAILURE (Status))
d7f8eec
         {
d7f8eec
@@ -245,7 +253,7 @@ AcpiDmDumpSrat (
d7f8eec
         }
d7f8eec
 
d7f8eec
         AcpiOsPrintf ("\n");
d7f8eec
-        Status = AcpiDmDumpTable (Table->Length, Offset, Subtable,
d7f8eec
+        Status = AcpiDmDumpTable (Length, Offset, Subtable,
d7f8eec
             Subtable->Length, InfoTable);
d7f8eec
         if (ACPI_FAILURE (Status))
d7f8eec
         {
d7f8eec
@@ -282,13 +290,14 @@ AcpiDmDumpStao (
d7f8eec
 {
d7f8eec
     ACPI_STATUS             Status;
d7f8eec
     char                    *Namepath;
d7f8eec
-    UINT32                  Length = Table->Length;
d7f8eec
+    UINT32                  Length;
d7f8eec
     UINT32                  StringLength;
d7f8eec
     UINT32                  Offset = sizeof (ACPI_TABLE_STAO);
d7f8eec
 
d7f8eec
 
d7f8eec
     /* Main table */
d7f8eec
 
d7f8eec
+    ACPI_MOVE_32_TO_32(&Length, &Table->Length);
d7f8eec
     Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoStao);
d7f8eec
     if (ACPI_FAILURE (Status))
d7f8eec
     {
d7f8eec
@@ -297,7 +306,7 @@ AcpiDmDumpStao (
d7f8eec
 
d7f8eec
     /* The rest of the table consists of Namepath strings */
d7f8eec
 
d7f8eec
-    while (Offset < Table->Length)
d7f8eec
+    while (Offset < Length)
d7f8eec
     {
d7f8eec
         Namepath = ACPI_ADD_PTR (char, Table, Offset);
d7f8eec
         StringLength = strlen (Namepath) + 1;
d7f8eec
@@ -339,11 +348,14 @@ AcpiDmDumpTcpa (
d7f8eec
     ACPI_TABLE_TCPA_HDR     *Subtable = ACPI_ADD_PTR (
d7f8eec
                                 ACPI_TABLE_TCPA_HDR, Table, Offset);
d7f8eec
     ACPI_STATUS             Status;
d7f8eec
+    UINT32		    Length;
d7f8eec
+    UINT16		    PlatformClass;
d7f8eec
 
d7f8eec
 
d7f8eec
     /* Main table */
d7f8eec
 
d7f8eec
-    Status = AcpiDmDumpTable (Table->Length, 0, Table,
d7f8eec
+    ACPI_MOVE_32_TO_32(&Length, &Table->Length);
d7f8eec
+    Status = AcpiDmDumpTable (Length, 0, Table,
d7f8eec
         0, AcpiDmTableInfoTcpaHdr);
d7f8eec
     if (ACPI_FAILURE (Status))
d7f8eec
     {
d7f8eec
@@ -354,18 +366,19 @@ AcpiDmDumpTcpa (
d7f8eec
      * Examine the PlatformClass field to determine the table type.
d7f8eec
      * Either a client or server table. Only one.
d7f8eec
      */
d7f8eec
-    switch (CommonHeader->PlatformClass)
d7f8eec
+    ACPI_MOVE_16_TO_16(&PlatformClass, &CommonHeader->PlatformClass);
d7f8eec
+    switch (PlatformClass)
d7f8eec
     {
d7f8eec
     case ACPI_TCPA_CLIENT_TABLE:
d7f8eec
 
d7f8eec
-        Status = AcpiDmDumpTable (Table->Length, Offset, Subtable,
d7f8eec
-            Table->Length - Offset, AcpiDmTableInfoTcpaClient);
d7f8eec
+        Status = AcpiDmDumpTable (Length, Offset, Subtable,
d7f8eec
+            Length - Offset, AcpiDmTableInfoTcpaClient);
d7f8eec
         break;
d7f8eec
 
d7f8eec
     case ACPI_TCPA_SERVER_TABLE:
d7f8eec
 
d7f8eec
-        Status = AcpiDmDumpTable (Table->Length, Offset, Subtable,
d7f8eec
-            Table->Length - Offset, AcpiDmTableInfoTcpaServer);
d7f8eec
+        Status = AcpiDmDumpTable (Length, Offset, Subtable,
d7f8eec
+            Length - Offset, AcpiDmTableInfoTcpaServer);
d7f8eec
         break;
d7f8eec
 
d7f8eec
     default:
d7f8eec
@@ -512,11 +525,13 @@ AcpiDmDumpVrtc (
d7f8eec
     ACPI_STATUS             Status;
d7f8eec
     UINT32                  Offset = sizeof (ACPI_TABLE_VRTC);
d7f8eec
     ACPI_VRTC_ENTRY         *Subtable;
d7f8eec
+    UINT32		    Length;
d7f8eec
 
d7f8eec
 
d7f8eec
     /* Main table */
d7f8eec
 
d7f8eec
-    Status = AcpiDmDumpTable (Table->Length, 0, Table, 0, AcpiDmTableInfoVrtc);
d7f8eec
+    ACPI_MOVE_32_TO_32(&Length, &Table->Length);
d7f8eec
+    Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoVrtc);
d7f8eec
     if (ACPI_FAILURE (Status))
d7f8eec
     {
d7f8eec
         return;
d7f8eec
@@ -525,12 +540,12 @@ AcpiDmDumpVrtc (
d7f8eec
     /* Subtables */
d7f8eec
 
d7f8eec
     Subtable = ACPI_ADD_PTR (ACPI_VRTC_ENTRY, Table, Offset);
d7f8eec
-    while (Offset < Table->Length)
d7f8eec
+    while (Offset < Length)
d7f8eec
     {
d7f8eec
         /* Common subtable header */
d7f8eec
 
d7f8eec
         AcpiOsPrintf ("\n");
d7f8eec
-        Status = AcpiDmDumpTable (Table->Length, Offset, Subtable,
d7f8eec
+        Status = AcpiDmDumpTable (Length, Offset, Subtable,
d7f8eec
             sizeof (ACPI_VRTC_ENTRY), AcpiDmTableInfoVrtc0);
d7f8eec
         if (ACPI_FAILURE (Status))
d7f8eec
         {
d7f8eec
@@ -565,11 +580,13 @@ AcpiDmDumpWdat (
d7f8eec
     ACPI_STATUS             Status;
d7f8eec
     UINT32                  Offset = sizeof (ACPI_TABLE_WDAT);
d7f8eec
     ACPI_WDAT_ENTRY         *Subtable;
d7f8eec
+    UINT32		    Length;
d7f8eec
 
d7f8eec
 
d7f8eec
     /* Main table */
d7f8eec
 
d7f8eec
-    Status = AcpiDmDumpTable (Table->Length, 0, Table, 0, AcpiDmTableInfoWdat);
d7f8eec
+    ACPI_MOVE_32_TO_32(&Length, &Table->Length);
d7f8eec
+    Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoWdat);
d7f8eec
     if (ACPI_FAILURE (Status))
d7f8eec
     {
d7f8eec
         return;
d7f8eec
@@ -578,12 +595,12 @@ AcpiDmDumpWdat (
d7f8eec
     /* Subtables */
d7f8eec
 
d7f8eec
     Subtable = ACPI_ADD_PTR (ACPI_WDAT_ENTRY, Table, Offset);
d7f8eec
-    while (Offset < Table->Length)
d7f8eec
+    while (Offset < Length)
d7f8eec
     {
d7f8eec
         /* Common subtable header */
d7f8eec
 
d7f8eec
         AcpiOsPrintf ("\n");
d7f8eec
-        Status = AcpiDmDumpTable (Table->Length, Offset, Subtable,
d7f8eec
+        Status = AcpiDmDumpTable (Length, Offset, Subtable,
d7f8eec
             sizeof (ACPI_WDAT_ENTRY), AcpiDmTableInfoWdat0);
d7f8eec
         if (ACPI_FAILURE (Status))
d7f8eec
         {
d7f8eec
@@ -618,12 +635,13 @@ AcpiDmDumpWpbt (
d7f8eec
 {
d7f8eec
     ACPI_STATUS             Status;
d7f8eec
     ACPI_TABLE_WPBT         *Subtable;
d7f8eec
-    UINT32                  Length = Table->Length;
d7f8eec
+    UINT32                  Length;
d7f8eec
     UINT16                  ArgumentsLength;
d7f8eec
 
d7f8eec
 
d7f8eec
     /* Dump the main table */
d7f8eec
 
d7f8eec
+    ACPI_MOVE_32_TO_32(&Length, &Table->Length);
d7f8eec
     Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoWpbt);
d7f8eec
     if (ACPI_FAILURE (Status))
d7f8eec
     {
d7f8eec
@@ -633,10 +651,10 @@ AcpiDmDumpWpbt (
d7f8eec
     /* Extract the arguments buffer length from the main table */
d7f8eec
 
d7f8eec
     Subtable = ACPI_CAST_PTR (ACPI_TABLE_WPBT, Table);
d7f8eec
-    ArgumentsLength = Subtable->ArgumentsLength;
d7f8eec
+    ACPI_MOVE_16_TO_16(&ArgumentsLength, &Subtable->ArgumentsLength);
d7f8eec
 
d7f8eec
     /* Dump the arguments buffer */
d7f8eec
 
d7f8eec
-    (void) AcpiDmDumpTable (Table->Length, 0, Table, ArgumentsLength,
d7f8eec
+    (void) AcpiDmDumpTable (Length, 0, Table, ArgumentsLength,
d7f8eec
         AcpiDmTableInfoWpbt0);
d7f8eec
 }