Al Stone 0476e0
diff -Naur acpica-unix2-20180209.orig/source/components/tables/tbutils.c acpica-unix2-20180209/source/components/tables/tbutils.c
Al Stone 0476e0
--- acpica-unix2-20180209.orig/source/components/tables/tbutils.c	2018-03-15 16:47:21.831526264 -0600
Al Stone 0476e0
+++ acpica-unix2-20180209/source/components/tables/tbutils.c	2018-03-15 16:58:20.030097284 -0600
Al Stone 0476e0
@@ -238,9 +238,11 @@
Al Stone 0476e0
          * 64-bit platform, XSDT: Move (unaligned) 64-bit to local,
Al Stone 0476e0
          *  return 64-bit
Al Stone 0476e0
          */
Al Stone 0476e0
-	Address64 = (UINT64) TableEntry;
Al Stone 0476e0
 
Al Stone 0476e0
 #if ACPI_MACHINE_WIDTH == 32
Al Stone 0476e0
+	UINT32 Tmp32 = (UINT32) TableEntry;
Al Stone 0476e0
+
Al Stone 0476e0
+	Address64 = (UINT64) Tmp32;
Al Stone 0476e0
         if (Address64 > ACPI_UINT32_MAX)
Al Stone 0476e0
         {
Al Stone 0476e0
             /* Will truncate 64-bit address to 32 bits, issue warning */
Al Stone 0476e0
@@ -250,9 +252,15 @@
Al Stone 0476e0
                 " truncating",
Al Stone 0476e0
                 ACPI_FORMAT_UINT64 (Address64)));
Al Stone 0476e0
         }
Al Stone 0476e0
-#endif
Al Stone 0476e0
+
Al Stone 0476e0
+        return ((ACPI_PHYSICAL_ADDRESS) (*ACPI_CAST_PTR (
Al Stone 0476e0
+            UINT32, TableEntry)));
Al Stone 0476e0
+#else
Al Stone 0476e0
+	Address64 = (UINT64) TableEntry;
Al Stone 0476e0
+
Al Stone 0476e0
         return ((ACPI_PHYSICAL_ADDRESS) (*ACPI_CAST_PTR (
Al Stone 0476e0
             UINT64, Address64)));
Al Stone 0476e0
+#endif
Al Stone 0476e0
     }
Al Stone 0476e0
 }
Al Stone 0476e0
 
Al Stone 0476e0
diff -Naur acpica-unix2-20180209.orig/source/compiler/aslparseop.c acpica-unix2-20180209/source/compiler/aslparseop.c
Al Stone 0476e0
--- acpica-unix2-20180209.orig/source/compiler/aslparseop.c	2018-03-15 17:20:09.844338074 -0600
Al Stone 0476e0
+++ acpica-unix2-20180209/source/compiler/aslparseop.c	2018-03-15 17:28:19.570800797 -0600
Al Stone 0476e0
@@ -287,7 +287,11 @@
Al Stone 0476e0
         ParseOpcode == PARSEOP_NAMESEG ||
Al Stone 0476e0
         ParseOpcode == PARSEOP_STRING_LITERAL)
Al Stone 0476e0
     {
Al Stone 0476e0
+#if ACPI_MACHINE_WIDTH == 32
Al Stone 0476e0
+        Op->Asl.Value.String = (char *) (UINT32) Value;
Al Stone 0476e0
+#else
Al Stone 0476e0
         Op->Asl.Value.String = (char *) Value;
Al Stone 0476e0
+#endif
Al Stone 0476e0
     }
Al Stone 0476e0
     else
Al Stone 0476e0
     {