edb6c78
From 0fecc447cd64bf9da3345b2912e41e6005eb1011 Mon Sep 17 00:00:00 2001
edb6c78
From: Al Stone <ahs3@redhat.com>
edb6c78
Date: Mon, 28 Sep 2020 13:01:18 -0600
edb6c78
Subject: [PATCH 33/40] Support MCFG in a big-endian world
edb6c78
edb6c78
Signed-off-by: Al Stone <ahs3@redhat.com>
edb6c78
---
edb6c78
 source/common/dmtbdump2.c | 11 ++++++-----
edb6c78
 1 file changed, 6 insertions(+), 5 deletions(-)
edb6c78
edb6c78
Index: acpica-unix2-20200925/source/common/dmtbdump2.c
edb6c78
===================================================================
edb6c78
--- acpica-unix2-20200925.orig/source/common/dmtbdump2.c
edb6c78
+++ acpica-unix2-20200925/source/common/dmtbdump2.c
edb6c78
@@ -769,11 +769,12 @@ AcpiDmDumpMcfg (
edb6c78
     ACPI_STATUS             Status;
edb6c78
     UINT32                  Offset = sizeof (ACPI_TABLE_MCFG);
edb6c78
     ACPI_MCFG_ALLOCATION    *Subtable;
edb6c78
+    UINT32                  TableLength = AcpiUtReadUint32(&Table->Length);
edb6c78
 
edb6c78
 
edb6c78
     /* Main table */
edb6c78
 
edb6c78
-    Status = AcpiDmDumpTable (Table->Length, 0, Table, 0, AcpiDmTableInfoMcfg);
edb6c78
+    Status = AcpiDmDumpTable (TableLength, 0, Table, 0, AcpiDmTableInfoMcfg);
edb6c78
     if (ACPI_FAILURE (Status))
edb6c78
     {
edb6c78
         return;
edb6c78
@@ -782,17 +783,17 @@ AcpiDmDumpMcfg (
edb6c78
     /* Subtables */
edb6c78
 
edb6c78
     Subtable = ACPI_ADD_PTR (ACPI_MCFG_ALLOCATION, Table, Offset);
edb6c78
-    while (Offset < Table->Length)
edb6c78
+    while (Offset < TableLength)
edb6c78
     {
edb6c78
-        if (Offset + sizeof (ACPI_MCFG_ALLOCATION) > Table->Length)
edb6c78
+        if (Offset + sizeof (ACPI_MCFG_ALLOCATION) > TableLength)
edb6c78
         {
edb6c78
             AcpiOsPrintf ("Warning: there are %u invalid trailing bytes\n",
edb6c78
-                (UINT32) sizeof (ACPI_MCFG_ALLOCATION) - (Offset - Table->Length));
edb6c78
+                (UINT32) sizeof (ACPI_MCFG_ALLOCATION) - (Offset - TableLength));
edb6c78
             return;
edb6c78
         }
edb6c78
 
edb6c78
         AcpiOsPrintf ("\n");
edb6c78
-        Status = AcpiDmDumpTable (Table->Length, Offset, Subtable,
edb6c78
+        Status = AcpiDmDumpTable (TableLength, Offset, Subtable,
edb6c78
             sizeof (ACPI_MCFG_ALLOCATION), AcpiDmTableInfoMcfg0);
edb6c78
         if (ACPI_FAILURE (Status))
edb6c78
         {