Blame 0018-Support-XSDT-in-a-big-endian-world.patch

edb6c78
From 8d0ea4932cebc5d13cc811eb4f78b66a5e3cfd2c Mon Sep 17 00:00:00 2001
edb6c78
From: Al Stone <ahs3@redhat.com>
edb6c78
Date: Wed, 23 Sep 2020 12:16:37 -0600
edb6c78
Subject: [PATCH 18/40] Support XSDT in a big-endian world
edb6c78
edb6c78
Signed-off-by: Al Stone <ahs3@redhat.com>
edb6c78
---
edb6c78
 source/common/dmtbdump.c | 6 ++++--
edb6c78
 1 file changed, 4 insertions(+), 2 deletions(-)
edb6c78
edb6c78
Index: acpica-unix2-20200925/source/common/dmtbdump.c
edb6c78
===================================================================
edb6c78
--- acpica-unix2-20200925.orig/source/common/dmtbdump.c
edb6c78
+++ acpica-unix2-20200925/source/common/dmtbdump.c
edb6c78
@@ -318,6 +318,7 @@ AcpiDmDumpXsdt (
edb6c78
     UINT32                  Entries;
edb6c78
     UINT32                  Offset;
edb6c78
     UINT32                  i;
edb6c78
+    UINT32                  TableLength = AcpiUtReadUint32(&Table->Length);
edb6c78
 
edb6c78
 
edb6c78
     /* Point to start of table pointer array */
edb6c78
@@ -327,12 +328,13 @@ AcpiDmDumpXsdt (
edb6c78
 
edb6c78
     /* XSDT uses 64-bit pointers */
edb6c78
 
edb6c78
-    Entries = (Table->Length - sizeof (ACPI_TABLE_HEADER)) / sizeof (UINT64);
edb6c78
+    Entries = (TableLength - sizeof (ACPI_TABLE_HEADER)) / sizeof (UINT64);
edb6c78
 
edb6c78
     for (i = 0; i < Entries; i++)
edb6c78
     {
edb6c78
         AcpiDmLineHeader2 (Offset, sizeof (UINT64), "ACPI Table Address", i);
edb6c78
-        AcpiOsPrintf ("%8.8X%8.8X\n", ACPI_FORMAT_UINT64 (Array[i]));
edb6c78
+        AcpiOsPrintf ("%8.8X%8.8X\n",
edb6c78
+		     	ACPI_FORMAT_UINT64 (AcpiUtReadUint64(&Array[i])));
edb6c78
         Offset += sizeof (UINT64);
edb6c78
     }
edb6c78
 }