edb6c78416
This update also means a major update for all of the big-endian patching that has been done. The older mechanism was getting to unwieldy to keep maintained, and too sensitive to upstream changes. Hence, redid all of the old patches, and took the opportunity to make them more amenable to change over time. Ultimately, the goal is to have upstream accept these in some form. Signed-off-by: Al Stone <ahs3@redhat.com>
50 lines
1.6 KiB
Diff
50 lines
1.6 KiB
Diff
Index: acpica-unix2-20200925/source/components/tables/tbutils.c
|
|
===================================================================
|
|
--- acpica-unix2-20200925.orig/source/components/tables/tbutils.c
|
|
+++ acpica-unix2-20200925/source/components/tables/tbutils.c
|
|
@@ -238,9 +238,11 @@ AcpiTbGetRootTableEntry (
|
|
* 64-bit platform, XSDT: Move (unaligned) 64-bit to local,
|
|
* return 64-bit
|
|
*/
|
|
- ACPI_MOVE_64_TO_64 (&Address64, TableEntry);
|
|
|
|
#if ACPI_MACHINE_WIDTH == 32
|
|
+ UINT32 Tmp32 = (UINT32) TableEntry;
|
|
+
|
|
+ Address64 = (UINT64) Tmp32;
|
|
if (Address64 > ACPI_UINT32_MAX)
|
|
{
|
|
/* Will truncate 64-bit address to 32 bits, issue warning */
|
|
@@ -250,8 +252,14 @@ AcpiTbGetRootTableEntry (
|
|
" truncating",
|
|
ACPI_FORMAT_UINT64 (Address64)));
|
|
}
|
|
-#endif
|
|
+
|
|
+ return ((ACPI_PHYSICAL_ADDRESS) (*ACPI_CAST_PTR (
|
|
+ UINT32, TableEntry)));
|
|
+#else
|
|
+ Address64 = (UINT64) TableEntry;
|
|
+
|
|
return ((ACPI_PHYSICAL_ADDRESS) (Address64));
|
|
+#endif
|
|
}
|
|
}
|
|
|
|
Index: acpica-unix2-20200925/source/compiler/aslparseop.c
|
|
===================================================================
|
|
--- acpica-unix2-20200925.orig/source/compiler/aslparseop.c
|
|
+++ acpica-unix2-20200925/source/compiler/aslparseop.c
|
|
@@ -289,7 +289,11 @@ TrCreateValuedLeafOp (
|
|
ParseOpcode == PARSEOP_NAMESEG ||
|
|
ParseOpcode == PARSEOP_STRING_LITERAL)
|
|
{
|
|
+#if ACPI_MACHINE_WIDTH == 32
|
|
+ Op->Asl.Value.String = (char *) (UINT32) Value;
|
|
+#else
|
|
Op->Asl.Value.String = (char *) Value;
|
|
+#endif
|
|
}
|
|
else
|
|
{
|