From 82421dd7d534f78edf85b862b196bae256cf8f87 Mon Sep 17 00:00:00 2001 From: Al Stone Date: Wed, 23 Sep 2020 12:25:38 -0600 Subject: [PATCH 19/40] Support SRAT in a big-endian world Signed-off-by: Al Stone --- source/common/dmtbdump3.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) Index: acpica-unix2-20200925/source/common/dmtbdump3.c =================================================================== --- acpica-unix2-20200925.orig/source/common/dmtbdump3.c +++ acpica-unix2-20200925/source/common/dmtbdump3.c @@ -173,11 +173,12 @@ AcpiDmDumpSrat ( UINT32 Offset = sizeof (ACPI_TABLE_SRAT); ACPI_SUBTABLE_HEADER *Subtable; ACPI_DMTABLE_INFO *InfoTable; + UINT32 TableLength = AcpiUtReadUint32(&Table->Length); /* Main table */ - Status = AcpiDmDumpTable (Table->Length, 0, Table, 0, AcpiDmTableInfoSrat); + Status = AcpiDmDumpTable (TableLength, 0, Table, 0, AcpiDmTableInfoSrat); if (ACPI_FAILURE (Status)) { return; @@ -186,12 +187,12 @@ AcpiDmDumpSrat ( /* Subtables */ Subtable = ACPI_ADD_PTR (ACPI_SUBTABLE_HEADER, Table, Offset); - while (Offset < Table->Length) + while (Offset < TableLength) { /* Common subtable header */ AcpiOsPrintf ("\n"); - Status = AcpiDmDumpTable (Table->Length, Offset, Subtable, + Status = AcpiDmDumpTable (TableLength, Offset, Subtable, Subtable->Length, AcpiDmTableInfoSratHdr); if (ACPI_FAILURE (Status)) { @@ -245,7 +246,7 @@ AcpiDmDumpSrat ( } AcpiOsPrintf ("\n"); - Status = AcpiDmDumpTable (Table->Length, Offset, Subtable, + Status = AcpiDmDumpTable (TableLength, Offset, Subtable, Subtable->Length, InfoTable); if (ACPI_FAILURE (Status)) {