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