Blob Blame History Raw
Index: acpica-unix-20191018/source/common/dmtbdump.c
===================================================================
--- acpica-unix-20191018.orig/source/common/dmtbdump.c
+++ acpica-unix-20191018/source/common/dmtbdump.c
@@ -277,6 +277,8 @@ AcpiDmDumpRsdt (
     UINT32                  Entries;
     UINT32                  Offset;
     UINT32                  i;
+    UINT32		    Length;
+    UINT32		    Address;
 
 
     /* Point to start of table pointer array */
@@ -286,12 +288,14 @@ AcpiDmDumpRsdt (
 
     /* RSDT uses 32-bit pointers */
 
-    Entries = (Table->Length - sizeof (ACPI_TABLE_HEADER)) / sizeof (UINT32);
+    ACPI_MOVE_32_TO_32(&Length, &Table->Length);
+    Entries = (Length - sizeof (ACPI_TABLE_HEADER)) / sizeof (UINT32);
 
     for (i = 0; i < Entries; i++)
     {
         AcpiDmLineHeader2 (Offset, sizeof (UINT32), "ACPI Table Address", i);
-        AcpiOsPrintf ("%8.8X\n", Array[i]);
+	ACPI_MOVE_32_TO_32(&Address, &Array[i]);
+        AcpiOsPrintf ("%8.8X\n", Address);
         Offset += sizeof (UINT32);
     }
 }
@@ -317,6 +321,8 @@ AcpiDmDumpXsdt (
     UINT32                  Entries;
     UINT32                  Offset;
     UINT32                  i;
+    UINT32                  Length;
+    UINT64		    Address;
 
 
     /* Point to start of table pointer array */
@@ -326,12 +332,14 @@ AcpiDmDumpXsdt (
 
     /* XSDT uses 64-bit pointers */
 
-    Entries = (Table->Length - sizeof (ACPI_TABLE_HEADER)) / sizeof (UINT64);
+    ACPI_MOVE_32_TO_32(&Length, &Table->Length);
+    Entries = (Length - sizeof (ACPI_TABLE_HEADER)) / sizeof (UINT64);
 
     for (i = 0; i < Entries; i++)
     {
         AcpiDmLineHeader2 (Offset, sizeof (UINT64), "ACPI Table Address", i);
-        AcpiOsPrintf ("%8.8X%8.8X\n", ACPI_FORMAT_UINT64 (Array[i]));
+	ACPI_MOVE_64_TO_64(&Address, &Array[i]);
+        AcpiOsPrintf ("%8.8X%8.8X\n", ACPI_FORMAT_UINT64 (Address));
         Offset += sizeof (UINT64);
     }
 }
@@ -358,12 +366,12 @@ AcpiDmDumpFadt (
     ACPI_TABLE_HEADER       *Table)
 {
     ACPI_STATUS             Status;
-
+    UINT32		    Length;
 
     /* Always dump the minimum FADT revision 1 fields (ACPI 1.0) */
 
-    Status = AcpiDmDumpTable (Table->Length, 0, Table, 0,
-        AcpiDmTableInfoFadt1);
+    ACPI_MOVE_32_TO_32(&Length, &Table->Length);
+    Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoFadt1);
     if (ACPI_FAILURE (Status))
     {
         return;
@@ -371,11 +379,9 @@ AcpiDmDumpFadt (
 
     /* Check for FADT revision 2 fields (ACPI 1.0B MS extensions) */
 
-    if ((Table->Length > ACPI_FADT_V1_SIZE) &&
-        (Table->Length <= ACPI_FADT_V2_SIZE))
+    if ((Length > ACPI_FADT_V1_SIZE) && (Length <= ACPI_FADT_V2_SIZE))
     {
-        Status = AcpiDmDumpTable (Table->Length, 0, Table, 0,
-            AcpiDmTableInfoFadt2);
+        Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoFadt2);
         if (ACPI_FAILURE (Status))
         {
             return;
@@ -384,10 +390,9 @@ AcpiDmDumpFadt (
 
     /* Check for FADT revision 3/4 fields and up (ACPI 2.0+ extended data) */
 
-    else if (Table->Length > ACPI_FADT_V2_SIZE)
+    else if (Length > ACPI_FADT_V2_SIZE)
     {
-        Status = AcpiDmDumpTable (Table->Length, 0, Table, 0,
-            AcpiDmTableInfoFadt3);
+        Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoFadt3);
         if (ACPI_FAILURE (Status))
         {
             return;
@@ -395,9 +400,9 @@ AcpiDmDumpFadt (
 
         /* Check for FADT revision 5 fields and up (ACPI 5.0+) */
 
-        if (Table->Length > ACPI_FADT_V3_SIZE)
+        if (Length > ACPI_FADT_V3_SIZE)
         {
-            Status = AcpiDmDumpTable (Table->Length, 0, Table, 0,
+            Status = AcpiDmDumpTable (Length, 0, Table, 0,
                 AcpiDmTableInfoFadt5);
             if (ACPI_FAILURE (Status))
             {
@@ -407,9 +412,9 @@ AcpiDmDumpFadt (
 
         /* Check for FADT revision 6 fields and up (ACPI 6.0+) */
 
-        if (Table->Length > ACPI_FADT_V3_SIZE)
+        if (Length > ACPI_FADT_V3_SIZE)
         {
-            Status = AcpiDmDumpTable (Table->Length, 0, Table, 0,
+            Status = AcpiDmDumpTable (Length, 0, Table, 0,
                 AcpiDmTableInfoFadt6);
             if (ACPI_FAILURE (Status))
             {
@@ -420,11 +425,11 @@ AcpiDmDumpFadt (
 
     /* Validate various fields in the FADT, including length */
 
-    AcpiTbCreateLocalFadt (Table, Table->Length);
+    AcpiTbCreateLocalFadt (Table, Length);
 
     /* Validate FADT length against the revision */
 
-    AcpiDmValidateFadtLength (Table->Revision, Table->Length);
+    AcpiDmValidateFadtLength (Table->Revision, Length);
 }
 
 
@@ -450,6 +455,7 @@ AcpiDmValidateFadtLength (
     UINT32                  Length)
 {
     UINT32                  ExpectedLength;
+    UINT32		    Tmp32;
 
 
     switch (Revision)
@@ -485,7 +491,8 @@ AcpiDmValidateFadtLength (
         return;
     }
 
-    if (Length == ExpectedLength)
+    ACPI_MOVE_32_TO_32(&Tmp32, &Length);
+    if (Tmp32 == ExpectedLength)
     {
         return;
     }
@@ -493,5 +500,5 @@ AcpiDmValidateFadtLength (
     AcpiOsPrintf (
         "\n// ACPI Warning: FADT revision %X does not match length: "
         "found %X expected %X\n",
-        Revision, Length, ExpectedLength);
+        Revision, Tmp32, ExpectedLength);
 }