Blame 0017-Support-RSDT-RSD-PTR-in-a-big-endian-world.patch

edb6c78
From 6565935b43c4795387aa4814d171dcd3c02bee33 Mon Sep 17 00:00:00 2001
edb6c78
From: Al Stone <ahs3@redhat.com>
edb6c78
Date: Wed, 23 Sep 2020 12:11:46 -0600
edb6c78
Subject: [PATCH 17/40] Support RSDT ('RSD PTR') in a big-endian world
edb6c78
edb6c78
Signed-off-by: Al Stone <ahs3@redhat.com>
edb6c78
---
edb6c78
 source/common/dmtbdump.c | 5 +++--
edb6c78
 1 file changed, 3 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
@@ -277,6 +277,7 @@ AcpiDmDumpRsdt (
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
@@ -286,12 +287,12 @@ AcpiDmDumpRsdt (
edb6c78
 
edb6c78
     /* RSDT uses 32-bit pointers */
edb6c78
 
edb6c78
-    Entries = (Table->Length - sizeof (ACPI_TABLE_HEADER)) / sizeof (UINT32);
edb6c78
+    Entries = (TableLength - sizeof (ACPI_TABLE_HEADER)) / sizeof (UINT32);
edb6c78
 
edb6c78
     for (i = 0; i < Entries; i++)
edb6c78
     {
edb6c78
         AcpiDmLineHeader2 (Offset, sizeof (UINT32), "ACPI Table Address", i);
edb6c78
-        AcpiOsPrintf ("%8.8X\n", Array[i]);
edb6c78
+        AcpiOsPrintf ("%8.8X\n", AcpiUtReadUint32(&Array[i]));
edb6c78
         Offset += sizeof (UINT32);
edb6c78
     }
edb6c78
 }