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