d7f8eec
Index: acpica-unix-20191018/source/components/tables/tbutils.c
d7f8eec
===================================================================
d7f8eec
--- acpica-unix-20191018.orig/source/components/tables/tbutils.c
d7f8eec
+++ acpica-unix-20191018/source/components/tables/tbutils.c
d7f8eec
@@ -238,9 +238,11 @@ AcpiTbGetRootTableEntry (
0476e03
          * 64-bit platform, XSDT: Move (unaligned) 64-bit to local,
0476e03
          *  return 64-bit
0476e03
          */
0476e03
-	Address64 = (UINT64) TableEntry;
0476e03
 
0476e03
 #if ACPI_MACHINE_WIDTH == 32
0476e03
+	UINT32 Tmp32 = (UINT32) TableEntry;
0476e03
+
0476e03
+	Address64 = (UINT64) Tmp32;
0476e03
         if (Address64 > ACPI_UINT32_MAX)
0476e03
         {
0476e03
             /* Will truncate 64-bit address to 32 bits, issue warning */
d7f8eec
@@ -250,9 +252,15 @@ AcpiTbGetRootTableEntry (
0476e03
                 " truncating",
0476e03
                 ACPI_FORMAT_UINT64 (Address64)));
0476e03
         }
0476e03
-#endif
0476e03
+
0476e03
+        return ((ACPI_PHYSICAL_ADDRESS) (*ACPI_CAST_PTR (
0476e03
+            UINT32, TableEntry)));
0476e03
+#else
0476e03
+	Address64 = (UINT64) TableEntry;
0476e03
+
0476e03
         return ((ACPI_PHYSICAL_ADDRESS) (*ACPI_CAST_PTR (
0476e03
             UINT64, Address64)));
0476e03
+#endif
0476e03
     }
0476e03
 }
0476e03
 
d7f8eec
Index: acpica-unix-20191018/source/compiler/aslparseop.c
d7f8eec
===================================================================
d7f8eec
--- acpica-unix-20191018.orig/source/compiler/aslparseop.c
d7f8eec
+++ acpica-unix-20191018/source/compiler/aslparseop.c
d7f8eec
@@ -287,7 +287,11 @@ TrCreateValuedLeafOp (
0476e03
         ParseOpcode == PARSEOP_NAMESEG ||
0476e03
         ParseOpcode == PARSEOP_STRING_LITERAL)
0476e03
     {
0476e03
+#if ACPI_MACHINE_WIDTH == 32
0476e03
+        Op->Asl.Value.String = (char *) (UINT32) Value;
0476e03
+#else
0476e03
         Op->Asl.Value.String = (char *) Value;
0476e03
+#endif
0476e03
     }
0476e03
     else
0476e03
     {