The package rpms/acpica-tools.git has added or updated architecture specific content in
its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/acpica-tools.git/commit/?id=99f17....
Change:
-%ifnarch s390x
Thanks.
Full change:
============
commit c88a2bebac3054667c7a062f6a6328163d1710de
Author: Al Stone <ahs3(a)redhat.com>
Date: Fri Aug 18 19:01:16 2017 -0600
Clean up unused patch
Signed-off-by: Al Stone <ahs3(a)redhat.com>
diff --git a/update-big-endian.patch b/update-big-endian.patch
deleted file mode 100644
index 2c859f0..0000000
--- a/update-big-endian.patch
+++ /dev/null
@@ -1,3949 +0,0 @@
-Index: acpica-unix2-20170728/source/common/acfileio.c
-===================================================================
---- acpica-unix2-20170728.orig/source/common/acfileio.c
-+++ acpica-unix2-20170728/source/common/acfileio.c
-@@ -280,6 +280,7 @@ AcGetOneTableFromFile (
- ACPI_TABLE_HEADER *Table;
- INT32 Count;
- long TableOffset;
-+ UINT32 TableLen;
-
-
- *ReturnTable = NULL;
-@@ -319,7 +320,8 @@ AcGetOneTableFromFile (
-
- /* Allocate a buffer for the entire table */
-
-- Table = AcpiOsAllocate ((ACPI_SIZE) TableHeader.Length);
-+ ACPI_MOVE_32_TO_32(&TableLen, &TableHeader.Length);
-+ Table = AcpiOsAllocate ((ACPI_SIZE) TableLen);
- if (!Table)
- {
- return (AE_NO_MEMORY);
-@@ -329,8 +331,8 @@ AcGetOneTableFromFile (
-
- fseek (File, TableOffset, SEEK_SET);
-
-- Count = fread (Table, 1, TableHeader.Length, File);
-- if (Count != (INT32) TableHeader.Length)
-+ Count = fread (Table, 1, TableLen, File);
-+ if (Count != (INT32) TableLen)
- {
- Status = AE_ERROR;
- goto ErrorExit;
-@@ -338,7 +340,7 @@ AcGetOneTableFromFile (
-
- /* Validate the checksum (just issue a warning) */
-
-- Status = AcpiTbVerifyChecksum (Table, TableHeader.Length);
-+ Status = AcpiTbVerifyChecksum (Table, TableLen);
- if (ACPI_FAILURE (Status))
- {
- Status = AcCheckTextModeCorruption (Table);
-@@ -430,6 +432,7 @@ AcValidateTableHeader (
- ACPI_SIZE Actual;
- long OriginalOffset;
- UINT32 FileSize;
-+ UINT32 TableLength;
- UINT32 i;
-
-
-@@ -459,11 +462,12 @@ AcValidateTableHeader (
- /* Validate table length against bytes remaining in the file */
-
- FileSize = CmGetFileSize (File);
-- if (TableHeader.Length > (UINT32) (FileSize - TableOffset))
-+ ACPI_MOVE_32_TO_32(&TableLength, &TableHeader.Length);
-+ if (TableLength > (UINT32) (FileSize - TableOffset))
- {
- fprintf (stderr, "Table [%4.4s] is too long for file - "
- "needs: 0x%.2X, remaining in file: 0x%.2X\n",
-- TableHeader.Signature, TableHeader.Length,
-+ TableHeader.Signature, TableLength,
- (UINT32) (FileSize - TableOffset));
- return (AE_BAD_HEADER);
- }
-Index: acpica-unix2-20170728/source/common/dmtable.c
-===================================================================
---- acpica-unix2-20170728.orig/source/common/dmtable.c
-+++ acpica-unix2-20170728/source/common/dmtable.c
-@@ -524,7 +524,7 @@ AcpiDmDumpDataTable (
- */
- if (ACPI_COMPARE_NAME (Table->Signature, ACPI_SIG_FACS))
- {
-- Length = Table->Length;
-+ ACPI_MOVE_32_TO_32(&Length, &Table->Length);
- Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoFacs);
- if (ACPI_FAILURE (Status))
- {
-@@ -538,13 +538,14 @@ AcpiDmDumpDataTable (
- else if (ACPI_COMPARE_NAME (Table->Signature, ACPI_SIG_S3PT))
- {
- Length = AcpiDmDumpS3pt (Table);
-+ ACPI_MOVE_32_TO_32(&Length, &Table->Length);
- }
- else
- {
- /*
- * All other tables must use the common ACPI table header, dump it now
- */
-- Length = Table->Length;
-+ ACPI_MOVE_32_TO_32(&Length, &Table->Length);
- Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoHeader);
- if (ACPI_FAILURE (Status))
- {
-@@ -755,6 +756,7 @@ AcpiDmDumpTable (
- BOOLEAN LastOutputBlankLine = FALSE;
- ACPI_STATUS Status;
- char RepairedName[8];
-+ UINT16 Val16;
-
-
- if (!Info)
-@@ -1149,8 +1151,9 @@ AcpiDmDumpTable (
- /* Checksum, display and validate */
-
- AcpiOsPrintf ("%2.2X", *Target);
-- Temp8 = AcpiDmGenerateChecksum (Table,
-- ACPI_CAST_PTR (ACPI_TABLE_HEADER, Table)->Length,
-+ ACPI_MOVE_32_TO_32(&Temp32,
-+ &ACPI_CAST_PTR (ACPI_TABLE_HEADER, Table)->Length);
-+ Temp8 = AcpiDmGenerateChecksum (Table, Temp32,
- ACPI_CAST_PTR (ACPI_TABLE_HEADER, Table)->Checksum);
-
- if (Temp8 != ACPI_CAST_PTR (ACPI_TABLE_HEADER, Table)->Checksum)
-@@ -1215,14 +1218,14 @@ AcpiDmDumpTable (
-
- /* DMAR subtable types */
-
-- Temp16 = ACPI_GET16 (Target);
-+ Val16 = ACPI_GET16 (Target);
-+ ACPI_MOVE_16_TO_16(&Temp16, &Val16);
- if (Temp16 > ACPI_DMAR_TYPE_RESERVED)
- {
- Temp16 = ACPI_DMAR_TYPE_RESERVED;
- }
-
-- AcpiOsPrintf (UINT16_FORMAT, ACPI_GET16 (Target),
-- AcpiDmDmarSubnames[Temp16]);
-+ AcpiOsPrintf (UINT16_FORMAT, Temp16, AcpiDmDmarSubnames[Temp16]);
- break;
-
- case ACPI_DMT_DMAR_SCOPE:
-@@ -1313,14 +1316,14 @@ AcpiDmDumpTable (
-
- /* HEST subtable types */
-
-- Temp16 = ACPI_GET16 (Target);
-+ Val16 = ACPI_GET16 (Target);
-+ ACPI_MOVE_16_TO_16(&Temp16, &Val16);
- if (Temp16 > ACPI_HEST_TYPE_RESERVED)
- {
- Temp16 = ACPI_HEST_TYPE_RESERVED;
- }
-
-- AcpiOsPrintf (UINT16_FORMAT, ACPI_GET16 (Target),
-- AcpiDmHestSubnames[Temp16]);
-+ AcpiOsPrintf (UINT16_FORMAT, Temp16, AcpiDmHestSubnames[Temp16]);
- break;
-
- case ACPI_DMT_HESTNTFY:
-@@ -1400,13 +1403,14 @@ AcpiDmDumpTable (
-
- /* NFIT subtable types */
-
-- Temp16 = ACPI_GET16 (Target);
-+ Val16 = ACPI_GET16 (Target);
-+ ACPI_MOVE_16_TO_16(&Temp16, &Val16);
- if (Temp16 > ACPI_NFIT_TYPE_RESERVED)
- {
- Temp16 = ACPI_NFIT_TYPE_RESERVED;
- }
-
-- AcpiOsPrintf (UINT16_FORMAT, ACPI_GET16 (Target),
-+ AcpiOsPrintf (UINT16_FORMAT, Temp16,
- AcpiDmNfitSubnames[Temp16]);
- break;
-
-Index: acpica-unix2-20170728/source/common/dmtables.c
-===================================================================
---- acpica-unix2-20170728.orig/source/common/dmtables.c
-+++ acpica-unix2-20170728/source/common/dmtables.c
-@@ -142,7 +142,9 @@ AdCreateTableHeader (
- ACPI_TABLE_HEADER *Table)
- {
- UINT8 Checksum;
--
-+ UINT32 TableLen;
-+ UINT32 OemRev;
-+ UINT32 CompilerRev;
-
- /* Reset globals for External statements */
-
-@@ -154,9 +156,10 @@ AdCreateTableHeader (
- */
- AdDisassemblerHeader (Filename, ACPI_IS_AML_TABLE);
-
-+ ACPI_MOVE_32_TO_32(&TableLen, &Table->Length);
- AcpiOsPrintf (" * Original Table Header:\n");
- AcpiOsPrintf (" * Signature \"%4.4s\"\n",
Table->Signature);
-- AcpiOsPrintf (" * Length 0x%8.8X (%u)\n", Table->Length,
Table->Length);
-+ AcpiOsPrintf (" * Length 0x%8.8X (%u)\n", TableLen,
TableLen);
-
- /* Print and validate the revision */
-
-@@ -188,7 +191,7 @@ AdCreateTableHeader (
-
- AcpiOsPrintf ("\n * Checksum 0x%2.2X",
Table->Checksum);
-
-- Checksum = AcpiTbChecksum (ACPI_CAST_PTR (UINT8, Table), Table->Length);
-+ Checksum = AcpiTbChecksum (ACPI_CAST_PTR (UINT8, Table), TableLen);
- if (Checksum)
- {
- AcpiOsPrintf (" **** Incorrect checksum, should be 0x%2.2X",
-@@ -198,9 +201,11 @@ AdCreateTableHeader (
- AcpiOsPrintf ("\n");
- AcpiOsPrintf (" * OEM ID \"%.6s\"\n",
Table->OemId);
- AcpiOsPrintf (" * OEM Table ID \"%.8s\"\n",
Table->OemTableId);
-- AcpiOsPrintf (" * OEM Revision 0x%8.8X (%u)\n",
Table->OemRevision, Table->OemRevision);
-+ ACPI_MOVE_32_TO_32(&OemRev, &Table->OemRevision);
-+ AcpiOsPrintf (" * OEM Revision 0x%8.8X (%u)\n", OemRev, OemRev);
- AcpiOsPrintf (" * Compiler ID \"%.4s\"\n",
Table->AslCompilerId);
-- AcpiOsPrintf (" * Compiler Version 0x%8.8X (%u)\n",
Table->AslCompilerRevision, Table->AslCompilerRevision);
-+ ACPI_MOVE_32_TO_32(&CompilerRev, &Table->AslCompilerRevision);
-+ AcpiOsPrintf (" * Compiler Version 0x%8.8X (%u)\n", CompilerRev,
CompilerRev);
- AcpiOsPrintf (" */\n");
-
- /*
-@@ -221,7 +226,7 @@ AdCreateTableHeader (
- AcpiOsPrintf (
- "DefinitionBlock (\"\", \"%4.4s\", %hu,
\"%.6s\", \"%.8s\", 0x%8.8X)\n",
- Table->Signature, Table->Revision,
-- Table->OemId, Table->OemTableId, Table->OemRevision);
-+ Table->OemId, Table->OemTableId, OemRev);
- }
-
-
-@@ -396,7 +401,8 @@ AdParseTable (
-
- fprintf (stderr, "Pass 1 parse of [%4.4s]\n", (char *)
Table->Signature);
-
-- AmlLength = Table->Length - sizeof (ACPI_TABLE_HEADER);
-+ ACPI_MOVE_32_TO_32(&AmlLength, &Table->Length);
-+ AmlLength -= sizeof (ACPI_TABLE_HEADER);
- AmlStart = ((UINT8 *) Table + sizeof (ACPI_TABLE_HEADER));
- ASL_CV_INIT_FILETREE(Table, AmlStart, AmlLength);
-
-Index: acpica-unix2-20170728/source/common/dmtbdump.c
-===================================================================
---- acpica-unix2-20170728.orig/source/common/dmtbdump.c
-+++ acpica-unix2-20170728/source/common/dmtbdump.c
-@@ -277,6 +277,8 @@ AcpiDmDumpRsdt (
- UINT32 Entries;
- UINT32 Offset;
- UINT32 i;
-+ UINT32 Length;
-+ UINT32 Address;
-
-
- /* Point to start of table pointer array */
-@@ -286,12 +288,14 @@ AcpiDmDumpRsdt (
-
- /* RSDT uses 32-bit pointers */
-
-- Entries = (Table->Length - sizeof (ACPI_TABLE_HEADER)) / sizeof (UINT32);
-+ ACPI_MOVE_32_TO_32(&Length, &Table->Length);
-+ Entries = (Length - sizeof (ACPI_TABLE_HEADER)) / sizeof (UINT32);
-
- for (i = 0; i < Entries; i++)
- {
- AcpiDmLineHeader2 (Offset, sizeof (UINT32), "ACPI Table Address", i);
-- AcpiOsPrintf ("%8.8X\n", Array[i]);
-+ ACPI_MOVE_32_TO_32(&Address, &Array[i]);
-+ AcpiOsPrintf ("%8.8X\n", Address);
- Offset += sizeof (UINT32);
- }
- }
-@@ -317,6 +321,8 @@ AcpiDmDumpXsdt (
- UINT32 Entries;
- UINT32 Offset;
- UINT32 i;
-+ UINT32 Length;
-+ UINT64 Address;
-
-
- /* Point to start of table pointer array */
-@@ -326,12 +332,14 @@ AcpiDmDumpXsdt (
-
- /* XSDT uses 64-bit pointers */
-
-- Entries = (Table->Length - sizeof (ACPI_TABLE_HEADER)) / sizeof (UINT64);
-+ ACPI_MOVE_32_TO_32(&Length, &Table->Length);
-+ Entries = (Length - sizeof (ACPI_TABLE_HEADER)) / sizeof (UINT64);
-
- for (i = 0; i < Entries; i++)
- {
- AcpiDmLineHeader2 (Offset, sizeof (UINT64), "ACPI Table Address", i);
-- AcpiOsPrintf ("%8.8X%8.8X\n", ACPI_FORMAT_UINT64 (Array[i]));
-+ ACPI_MOVE_64_TO_64(&Address, &Array[i]);
-+ AcpiOsPrintf ("%8.8X%8.8X\n", ACPI_FORMAT_UINT64 (Address));
- Offset += sizeof (UINT64);
- }
- }
-@@ -524,17 +532,21 @@ AcpiDmDumpAsf (
- UINT32 DataOffset = 0;
- UINT32 i;
- UINT8 Type;
-+ UINT32 Len;
-+ UINT16 SubLen;
-
-
- /* No main table, only subtables */
-
-+ ACPI_MOVE_32_TO_32(&Len, &Table->Length);
- SubTable = ACPI_ADD_PTR (ACPI_ASF_INFO, Table, Offset);
-- while (Offset < Table->Length)
-+ while (Offset < Len)
- {
- /* Common subtable header */
-
-- Status = AcpiDmDumpTable (Table->Length, Offset, SubTable,
-- SubTable->Header.Length, AcpiDmTableInfoAsfHdr);
-+ ACPI_MOVE_16_TO_16(&SubLen, &SubTable->Header.Length);
-+ Status = AcpiDmDumpTable (Len, Offset, SubTable,
-+ SubLen, AcpiDmTableInfoAsfHdr);
- if (ACPI_FAILURE (Status))
- {
- return;
-@@ -591,8 +603,7 @@ AcpiDmDumpAsf (
- return;
- }
-
-- Status = AcpiDmDumpTable (Table->Length, Offset, SubTable,
-- SubTable->Header.Length, InfoTable);
-+ Status = AcpiDmDumpTable (Len, Offset, SubTable, SubLen, InfoTable);
- if (ACPI_FAILURE (Status))
- {
- return;
-@@ -608,7 +619,7 @@ AcpiDmDumpAsf (
- for (i = 0; i < DataCount; i++)
- {
- AcpiOsPrintf ("\n");
-- Status = AcpiDmDumpTable (Table->Length, DataOffset,
-+ Status = AcpiDmDumpTable (Len, DataOffset,
- DataTable, DataLength, DataInfoTable);
- if (ACPI_FAILURE (Status))
- {
-@@ -654,15 +665,14 @@ AcpiDmDumpAsf (
-
- /* Point to next subtable */
-
-- if (!SubTable->Header.Length)
-+ if (!SubLen)
- {
- AcpiOsPrintf ("Invalid zero subtable header length\n");
- return;
- }
-
-- Offset += SubTable->Header.Length;
-- SubTable = ACPI_ADD_PTR (ACPI_ASF_INFO, SubTable,
-- SubTable->Header.Length);
-+ Offset += SubLen;
-+ SubTable = ACPI_ADD_PTR (ACPI_ASF_INFO, SubTable, SubLen);
- }
- }
-
-@@ -686,12 +696,13 @@ AcpiDmDumpCpep (
- {
- ACPI_STATUS Status;
- ACPI_CPEP_POLLING *SubTable;
-- UINT32 Length = Table->Length;
-+ UINT32 Length;
- UINT32 Offset = sizeof (ACPI_TABLE_CPEP);
-
-
- /* Main table */
-
-+ ACPI_MOVE_32_TO_32(&Length, &Table->Length);
- Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoCpep);
- if (ACPI_FAILURE (Status))
- {
-@@ -701,7 +712,7 @@ AcpiDmDumpCpep (
- /* Subtables */
-
- SubTable = ACPI_ADD_PTR (ACPI_CPEP_POLLING, Table, Offset);
-- while (Offset < Table->Length)
-+ while (Offset < Length)
- {
- AcpiOsPrintf ("\n");
- Status = AcpiDmDumpTable (Length, Offset, SubTable,
-@@ -741,7 +752,10 @@ AcpiDmDumpCsrt (
- ACPI_CSRT_GROUP *SubTable;
- ACPI_CSRT_SHARED_INFO *SharedInfoTable;
- ACPI_CSRT_DESCRIPTOR *SubSubTable;
-- UINT32 Length = Table->Length;
-+ UINT32 Length;
-+ UINT32 SubLength;
-+ UINT32 SubSubLength;
-+ UINT32 SharedInfoLength;
- UINT32 Offset = sizeof (ACPI_TABLE_CSRT);
- UINT32 SubOffset;
- UINT32 SubSubOffset;
-@@ -752,14 +766,16 @@ AcpiDmDumpCsrt (
-
- /* Subtables (Resource Groups) */
-
-+ ACPI_MOVE_32_TO_32(&Length, &Table->Length);
- SubTable = ACPI_ADD_PTR (ACPI_CSRT_GROUP, Table, Offset);
-- while (Offset < Table->Length)
-+ while (Offset < Length)
- {
- /* Resource group subtable */
-
- AcpiOsPrintf ("\n");
-+ ACPI_MOVE_32_TO_32(&SubLength, &SubTable->Length);
- Status = AcpiDmDumpTable (Length, Offset, SubTable,
-- SubTable->Length, AcpiDmTableInfoCsrt0);
-+ SubLength, AcpiDmTableInfoCsrt0);
- if (ACPI_FAILURE (Status))
- {
- return;
-@@ -779,19 +795,20 @@ AcpiDmDumpCsrt (
- return;
- }
-
-- SubOffset += SubTable->SharedInfoLength;
-+ ACPI_MOVE_32_TO_32(&SharedInfoLength, &SubTable->SharedInfoLength);
-+ SubOffset += SharedInfoLength;
-
- /* Sub-Subtables (Resource Descriptors) */
-
- SubSubTable = ACPI_ADD_PTR (ACPI_CSRT_DESCRIPTOR, Table,
- Offset + SubOffset);
-
-- while ((SubOffset < SubTable->Length) &&
-- ((Offset + SubOffset) < Table->Length))
-+ while ((SubOffset < SubLength) && ((Offset + SubOffset) <
Length))
- {
- AcpiOsPrintf ("\n");
-+ ACPI_MOVE_32_TO_32(&SubSubLength, &SubSubTable->Length);
- Status = AcpiDmDumpTable (Length, Offset + SubOffset, SubSubTable,
-- SubSubTable->Length, AcpiDmTableInfoCsrt2);
-+ SubSubLength, AcpiDmTableInfoCsrt2);
- if (ACPI_FAILURE (Status))
- {
- return;
-@@ -801,7 +818,7 @@ AcpiDmDumpCsrt (
-
- /* Resource-specific info buffer */
-
-- InfoLength = SubSubTable->Length - SubSubOffset;
-+ InfoLength = SubSubLength - SubSubOffset;
- if (InfoLength)
- {
- Status = AcpiDmDumpTable (Length,
-@@ -816,16 +833,15 @@ AcpiDmDumpCsrt (
-
- /* Point to next sub-subtable */
-
-- SubOffset += SubSubTable->Length;
-+ SubOffset += SubSubLength;
- SubSubTable = ACPI_ADD_PTR (ACPI_CSRT_DESCRIPTOR, SubSubTable,
-- SubSubTable->Length);
-+ SubSubLength);
- }
-
- /* Point to next subtable */
-
-- Offset += SubTable->Length;
-- SubTable = ACPI_ADD_PTR (ACPI_CSRT_GROUP, SubTable,
-- SubTable->Length);
-+ Offset += SubLength;
-+ SubTable = ACPI_ADD_PTR (ACPI_CSRT_GROUP, SubTable, SubLength);
- }
- }
-
-@@ -849,16 +865,20 @@ AcpiDmDumpDbg2 (
- {
- ACPI_STATUS Status;
- ACPI_DBG2_DEVICE *SubTable;
-- UINT32 Length = Table->Length;
-+ UINT32 Length;
-+ UINT16 SubLength;
- UINT32 Offset = sizeof (ACPI_TABLE_DBG2);
- UINT32 i;
- UINT32 ArrayOffset;
- UINT32 AbsoluteOffset;
- UINT8 *Array;
-+ UINT16 Tmp16;
-+ UINT16 AlsoTmp16;
-
-
- /* Main table */
-
-+ ACPI_MOVE_32_TO_32(&Length, &Table->Length);
- Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoDbg2);
- if (ACPI_FAILURE (Status))
- {
-@@ -868,11 +888,12 @@ AcpiDmDumpDbg2 (
- /* Subtables */
-
- SubTable = ACPI_ADD_PTR (ACPI_DBG2_DEVICE, Table, Offset);
-- while (Offset < Table->Length)
-+ while (Offset < Length)
- {
- AcpiOsPrintf ("\n");
-+ ACPI_MOVE_16_TO_16(&SubLength, &SubTable->Length);
- Status = AcpiDmDumpTable (Length, Offset, SubTable,
-- SubTable->Length, AcpiDmTableInfoDbg2Device);
-+ SubLength, AcpiDmTableInfoDbg2Device);
- if (ACPI_FAILURE (Status))
- {
- return;
-@@ -882,13 +903,13 @@ AcpiDmDumpDbg2 (
-
- for (i = 0; i < SubTable->RegisterCount; i++)
- {
-- ArrayOffset = SubTable->BaseAddressOffset +
-- (sizeof (ACPI_GENERIC_ADDRESS) * i);
-+ ACPI_MOVE_16_TO_16(&Tmp16, &SubTable->BaseAddressOffset);
-+ ArrayOffset = Tmp16 + (sizeof (ACPI_GENERIC_ADDRESS) * i);
- AbsoluteOffset = Offset + ArrayOffset;
- Array = (UINT8 *) SubTable + ArrayOffset;
-
- Status = AcpiDmDumpTable (Length, AbsoluteOffset, Array,
-- SubTable->Length, AcpiDmTableInfoDbg2Addr);
-+ SubLength, AcpiDmTableInfoDbg2Addr);
- if (ACPI_FAILURE (Status))
- {
- return;
-@@ -899,13 +920,13 @@ AcpiDmDumpDbg2 (
-
- for (i = 0; i < SubTable->RegisterCount; i++)
- {
-- ArrayOffset = SubTable->AddressSizeOffset +
-- (sizeof (UINT32) * i);
-+ ACPI_MOVE_16_TO_16(&Tmp16, &SubTable->AddressSizeOffset);
-+ ArrayOffset = Tmp16 + (sizeof (UINT32) * i);
- AbsoluteOffset = Offset + ArrayOffset;
- Array = (UINT8 *) SubTable + ArrayOffset;
-
- Status = AcpiDmDumpTable (Length, AbsoluteOffset, Array,
-- SubTable->Length, AcpiDmTableInfoDbg2Size);
-+ SubLength, AcpiDmTableInfoDbg2Size);
- if (ACPI_FAILURE (Status))
- {
- return;
-@@ -915,12 +936,13 @@ AcpiDmDumpDbg2 (
- /* Dump the Namestring (required) */
-
- AcpiOsPrintf ("\n");
-- ArrayOffset = SubTable->NamepathOffset;
-+ ACPI_MOVE_16_TO_16(&Tmp16, &SubTable->NamepathOffset);
-+ ArrayOffset = Tmp16;
- AbsoluteOffset = Offset + ArrayOffset;
- Array = (UINT8 *) SubTable + ArrayOffset;
-
- Status = AcpiDmDumpTable (Length, AbsoluteOffset, Array,
-- SubTable->Length, AcpiDmTableInfoDbg2Name);
-+ SubLength, AcpiDmTableInfoDbg2Name);
- if (ACPI_FAILURE (Status))
- {
- return;
-@@ -930,9 +952,10 @@ AcpiDmDumpDbg2 (
-
- if (SubTable->OemDataOffset)
- {
-- Status = AcpiDmDumpTable (Length, Offset + SubTable->OemDataOffset,
-- Table, SubTable->OemDataLength,
-- AcpiDmTableInfoDbg2OemData);
-+ ACPI_MOVE_16_TO_16(&Tmp16, &SubTable->OemDataOffset);
-+ ACPI_MOVE_16_TO_16(&AlsoTmp16, &SubTable->OemDataLength);
-+ Status = AcpiDmDumpTable (Length, Offset + Tmp16,
-+ Table, AlsoTmp16, AcpiDmTableInfoDbg2OemData);
- if (ACPI_FAILURE (Status))
- {
- return;
-@@ -941,9 +964,9 @@ AcpiDmDumpDbg2 (
-
- /* Point to next subtable */
-
-- Offset += SubTable->Length;
-+ Offset += SubLength;
- SubTable = ACPI_ADD_PTR (ACPI_DBG2_DEVICE, SubTable,
-- SubTable->Length);
-+ SubLength);
- }
- }
-
-@@ -967,17 +990,20 @@ AcpiDmDumpDmar (
- {
- ACPI_STATUS Status;
- ACPI_DMAR_HEADER *SubTable;
-- UINT32 Length = Table->Length;
-+ UINT32 Length;
-+ UINT16 SubLength;
- UINT32 Offset = sizeof (ACPI_TABLE_DMAR);
- ACPI_DMTABLE_INFO *InfoTable;
- ACPI_DMAR_DEVICE_SCOPE *ScopeTable;
- UINT32 ScopeOffset;
- UINT8 *PciPath;
- UINT32 PathOffset;
-+ UINT16 SubType;
-
-
- /* Main table */
-
-+ ACPI_MOVE_32_TO_32(&Length, &Table->Length);
- Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoDmar);
- if (ACPI_FAILURE (Status))
- {
-@@ -987,13 +1013,14 @@ AcpiDmDumpDmar (
- /* Subtables */
-
- SubTable = ACPI_ADD_PTR (ACPI_DMAR_HEADER, Table, Offset);
-- while (Offset < Table->Length)
-+ while (Offset < Length)
- {
- /* Common subtable header */
-
- AcpiOsPrintf ("\n");
-+ ACPI_MOVE_16_TO_16(&SubLength, &SubTable->Length);
- Status = AcpiDmDumpTable (Length, Offset, SubTable,
-- SubTable->Length, AcpiDmTableInfoDmarHdr);
-+ SubLength, AcpiDmTableInfoDmarHdr);
- if (ACPI_FAILURE (Status))
- {
- return;
-@@ -1001,7 +1028,8 @@ AcpiDmDumpDmar (
-
- AcpiOsPrintf ("\n");
-
-- switch (SubTable->Type)
-+ ACPI_MOVE_16_TO_16(&SubType, &SubTable->Type);
-+ switch (SubType)
- {
- case ACPI_DMAR_TYPE_HARDWARE_UNIT:
-
-@@ -1036,12 +1064,12 @@ AcpiDmDumpDmar (
- default:
-
- AcpiOsPrintf ("\n**** Unknown DMAR subtable type 0x%X\n\n",
-- SubTable->Type);
-+ SubType);
- return;
- }
-
- Status = AcpiDmDumpTable (Length, Offset, SubTable,
-- SubTable->Length, InfoTable);
-+ SubLength, InfoTable);
- if (ACPI_FAILURE (Status))
- {
- return;
-@@ -1050,8 +1078,8 @@ AcpiDmDumpDmar (
- /*
- * Dump the optional device scope entries
- */
-- if ((SubTable->Type == ACPI_DMAR_TYPE_HARDWARE_AFFINITY) ||
-- (SubTable->Type == ACPI_DMAR_TYPE_NAMESPACE))
-+ if ((SubType == ACPI_DMAR_TYPE_HARDWARE_AFFINITY) ||
-+ (SubType == ACPI_DMAR_TYPE_NAMESPACE))
- {
- /* These types do not support device scopes */
-
-@@ -1059,7 +1087,7 @@ AcpiDmDumpDmar (
- }
-
- ScopeTable = ACPI_ADD_PTR (ACPI_DMAR_DEVICE_SCOPE, SubTable, ScopeOffset);
-- while (ScopeOffset < SubTable->Length)
-+ while (ScopeOffset < SubLength)
- {
- AcpiOsPrintf ("\n");
- Status = AcpiDmDumpTable (Length, Offset + ScopeOffset, ScopeTable,
-@@ -1100,9 +1128,8 @@ AcpiDmDumpDmar (
- NextSubtable:
- /* Point to next subtable */
-
-- Offset += SubTable->Length;
-- SubTable = ACPI_ADD_PTR (ACPI_DMAR_HEADER, SubTable,
-- SubTable->Length);
-+ Offset += SubLength;
-+ SubTable = ACPI_ADD_PTR (ACPI_DMAR_HEADER, SubTable, SubLength);
- }
- }
-
-@@ -1129,12 +1156,15 @@ AcpiDmDumpDrtm (
- ACPI_DRTM_RESOURCE_LIST *DrtmRl;
- ACPI_DRTM_DPS_ID *DrtmDps;
- UINT32 Count;
-+ UINT32 ValidatedCount;
-+ UINT32 ResourceCount;
-+ UINT32 Length;
-
-
- /* Main table */
-
-- Status = AcpiDmDumpTable (Table->Length, 0, Table, 0,
-- AcpiDmTableInfoDrtm);
-+ ACPI_MOVE_32_TO_32(&Length, &Table->Length);
-+ Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoDrtm);
- if (ACPI_FAILURE (Status))
- {
- return;
-@@ -1148,7 +1178,7 @@ AcpiDmDumpDrtm (
-
- DrtmVtl = ACPI_ADD_PTR (ACPI_DRTM_VTABLE_LIST, Table, Offset);
- AcpiOsPrintf ("\n");
-- Status = AcpiDmDumpTable (Table->Length, Offset,
-+ Status = AcpiDmDumpTable (Length, Offset,
- DrtmVtl, ACPI_OFFSET (ACPI_DRTM_VTABLE_LIST, ValidatedTables),
- AcpiDmTableInfoDrtm0);
- if (ACPI_FAILURE (Status))
-@@ -1161,10 +1191,11 @@ AcpiDmDumpDrtm (
- /* Dump Validated table addresses */
-
- Count = 0;
-- while ((Offset < Table->Length) &&
-- (DrtmVtl->ValidatedTableCount > Count))
-+ ACPI_MOVE_32_TO_32(&ValidatedCount, &DrtmVtl->ValidatedTableCount);
-+ while ((Offset < Length) &&
-+ (ValidatedCount > Count))
- {
-- Status = AcpiDmDumpTable (Table->Length, Offset,
-+ Status = AcpiDmDumpTable (Length, Offset,
- ACPI_ADD_PTR (void, Table, Offset), sizeof (UINT64),
- AcpiDmTableInfoDrtm0a);
- if (ACPI_FAILURE (Status))
-@@ -1180,7 +1211,7 @@ AcpiDmDumpDrtm (
-
- DrtmRl = ACPI_ADD_PTR (ACPI_DRTM_RESOURCE_LIST, Table, Offset);
- AcpiOsPrintf ("\n");
-- Status = AcpiDmDumpTable (Table->Length, Offset,
-+ Status = AcpiDmDumpTable (Length, Offset,
- DrtmRl, ACPI_OFFSET (ACPI_DRTM_RESOURCE_LIST, Resources),
- AcpiDmTableInfoDrtm1);
- if (ACPI_FAILURE (Status))
-@@ -1193,10 +1224,11 @@ AcpiDmDumpDrtm (
- /* Dump the Resource List */
-
- Count = 0;
-- while ((Offset < Table->Length) &&
-- (DrtmRl->ResourceCount > Count))
-+ ACPI_MOVE_32_TO_32(&ResourceCount, &DrtmRl->ResourceCount);
-+ while ((Offset < Length) &&
-+ (ResourceCount > Count))
- {
-- Status = AcpiDmDumpTable (Table->Length, Offset,
-+ Status = AcpiDmDumpTable (Length, Offset,
- ACPI_ADD_PTR (void, Table, Offset),
- sizeof (ACPI_DRTM_RESOURCE), AcpiDmTableInfoDrtm1a);
- if (ACPI_FAILURE (Status))
-@@ -1212,7 +1244,7 @@ AcpiDmDumpDrtm (
-
- DrtmDps = ACPI_ADD_PTR (ACPI_DRTM_DPS_ID, Table, Offset);
- AcpiOsPrintf ("\n");
-- (void) AcpiDmDumpTable (Table->Length, Offset,
-+ (void) AcpiDmDumpTable (Length, Offset,
- DrtmDps, sizeof (ACPI_DRTM_DPS_ID), AcpiDmTableInfoDrtm2);
- }
-
-@@ -1236,12 +1268,13 @@ AcpiDmDumpEinj (
- {
- ACPI_STATUS Status;
- ACPI_WHEA_HEADER *SubTable;
-- UINT32 Length = Table->Length;
-+ UINT32 Length;
- UINT32 Offset = sizeof (ACPI_TABLE_EINJ);
-
-
- /* Main table */
-
-+ ACPI_MOVE_32_TO_32(&Length, &Table->Length);
- Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoEinj);
- if (ACPI_FAILURE (Status))
- {
-@@ -1251,7 +1284,7 @@ AcpiDmDumpEinj (
- /* Subtables */
-
- SubTable = ACPI_ADD_PTR (ACPI_WHEA_HEADER, Table, Offset);
-- while (Offset < Table->Length)
-+ while (Offset < Length)
- {
- AcpiOsPrintf ("\n");
- Status = AcpiDmDumpTable (Length, Offset, SubTable,
-@@ -1289,12 +1322,13 @@ AcpiDmDumpErst (
- {
- ACPI_STATUS Status;
- ACPI_WHEA_HEADER *SubTable;
-- UINT32 Length = Table->Length;
-+ UINT32 Length;
- UINT32 Offset = sizeof (ACPI_TABLE_ERST);
-
-
- /* Main table */
-
-+ ACPI_MOVE_32_TO_32(&Length, &Table->Length);
- Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoErst);
- if (ACPI_FAILURE (Status))
- {
-@@ -1304,7 +1338,7 @@ AcpiDmDumpErst (
- /* Subtables */
-
- SubTable = ACPI_ADD_PTR (ACPI_WHEA_HEADER, Table, Offset);
-- while (Offset < Table->Length)
-+ while (Offset < Length)
- {
- AcpiOsPrintf ("\n");
- Status = AcpiDmDumpTable (Length, Offset, SubTable,
-@@ -1342,17 +1376,19 @@ AcpiDmDumpFpdt (
- {
- ACPI_STATUS Status;
- ACPI_FPDT_HEADER *SubTable;
-- UINT32 Length = Table->Length;
-+ UINT32 Length;
- UINT32 Offset = sizeof (ACPI_TABLE_FPDT);
- ACPI_DMTABLE_INFO *InfoTable;
-+ UINT16 Type;
-
-
- /* There is no main table (other than the standard ACPI header) */
-
- /* Subtables */
-
-+ ACPI_MOVE_32_TO_32(&Length, &Table->Length);
- SubTable = ACPI_ADD_PTR (ACPI_FPDT_HEADER, Table, Offset);
-- while (Offset < Table->Length)
-+ while (Offset < Length)
- {
- /* Common subtable header */
-
-@@ -1364,7 +1400,8 @@ AcpiDmDumpFpdt (
- return;
- }
-
-- switch (SubTable->Type)
-+ ACPI_MOVE_16_TO_16(&Type, &SubTable->Type);
-+ switch (Type)
- {
- case ACPI_FPDT_TYPE_BOOT:
-
-@@ -1378,8 +1415,7 @@ AcpiDmDumpFpdt (
-
- default:
-
-- AcpiOsPrintf ("\n**** Unknown FPDT subtable type 0x%X\n\n",
-- SubTable->Type);
-+ AcpiOsPrintf ("\n**** Unknown FPDT subtable type 0x%X\n\n",
Type);
-
- /* Attempt to continue */
-
-@@ -1427,16 +1463,19 @@ AcpiDmDumpGtdt (
- {
- ACPI_STATUS Status;
- ACPI_GTDT_HEADER *SubTable;
-- UINT32 Length = Table->Length;
-+ UINT32 Length;
-+ UINT16 SubLength;
- UINT32 Offset = sizeof (ACPI_TABLE_GTDT);
- ACPI_DMTABLE_INFO *InfoTable;
- UINT32 SubTableLength;
- UINT32 GtCount;
-+ UINT32 Tmp32;
- ACPI_GTDT_TIMER_ENTRY *GtxTable;
-
-
- /* Main table */
-
-+ ACPI_MOVE_32_TO_32(&Length, &Table->Length);
- Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoGtdt);
- if (ACPI_FAILURE (Status))
- {
-@@ -1446,7 +1485,7 @@ AcpiDmDumpGtdt (
- /* Subtables */
-
- SubTable = ACPI_ADD_PTR (ACPI_GTDT_HEADER, Table, Offset);
-- while (Offset < Table->Length)
-+ while (Offset < Length)
- {
- /* Common subtable header */
-
-@@ -1464,8 +1503,9 @@ AcpiDmDumpGtdt (
- case ACPI_GTDT_TYPE_TIMER_BLOCK:
-
- SubTableLength = sizeof (ACPI_GTDT_TIMER_BLOCK);
-- GtCount = (ACPI_CAST_PTR (ACPI_GTDT_TIMER_BLOCK,
-+ Tmp32 = (ACPI_CAST_PTR (ACPI_GTDT_TIMER_BLOCK,
- SubTable))->TimerCount;
-+ ACPI_MOVE_32_TO_32(&GtCount, &Tmp32);
-
- InfoTable = AcpiDmTableInfoGtdt0;
- break;
-@@ -1486,8 +1526,9 @@ AcpiDmDumpGtdt (
- return;
- }
-
-+ ACPI_MOVE_16_TO_16(&SubLength, &SubTable->Length);
- Status = AcpiDmDumpTable (Length, Offset, SubTable,
-- SubTable->Length, InfoTable);
-+ SubLength, InfoTable);
- if (ACPI_FAILURE (Status))
- {
- return;
-@@ -1546,16 +1587,18 @@ AcpiDmDumpHest (
- {
- ACPI_STATUS Status;
- ACPI_HEST_HEADER *SubTable;
-- UINT32 Length = Table->Length;
-+ UINT32 Length;
- UINT32 Offset = sizeof (ACPI_TABLE_HEST);
- ACPI_DMTABLE_INFO *InfoTable;
- UINT32 SubTableLength;
- UINT32 BankCount;
- ACPI_HEST_IA_ERROR_BANK *BankTable;
-+ UINT16 SubType;
-
-
- /* Main table */
-
-+ ACPI_MOVE_32_TO_32(&Length, &Table->Length);
- Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoHest);
- if (ACPI_FAILURE (Status))
- {
-@@ -1565,10 +1608,11 @@ AcpiDmDumpHest (
- /* Subtables */
-
- SubTable = ACPI_ADD_PTR (ACPI_HEST_HEADER, Table, Offset);
-- while (Offset < Table->Length)
-+ while (Offset < Length)
- {
- BankCount = 0;
-- switch (SubTable->Type)
-+ ACPI_MOVE_16_TO_16(&SubType, &SubTable->Type);
-+ switch (SubType)
- {
- case ACPI_HEST_TYPE_IA32_CHECK:
-
-@@ -1902,15 +1946,21 @@ AcpiDmDumpIort (
- ACPI_IORT_SMMU *IortSmmu = NULL;
- UINT32 Offset;
- UINT32 NodeOffset;
-+ UINT16 NodeLength;
- UINT32 Length;
- ACPI_DMTABLE_INFO *InfoTable;
- char *String;
- UINT32 i;
--
-+ UINT32 TableLen;
-+ UINT32 ItsCount;
-+ UINT32 MappingCount;
-+ UINT32 CtxIntCount;
-+ UINT32 PmuIntCount;
-
- /* Main table */
-
-- Status = AcpiDmDumpTable (Table->Length, 0, Table, 0, AcpiDmTableInfoIort);
-+ ACPI_MOVE_32_TO_32(&TableLen, &Table->Length);
-+ Status = AcpiDmDumpTable (TableLen, 0, Table, 0, AcpiDmTableInfoIort);
- if (ACPI_FAILURE (Status))
- {
- return;
-@@ -1921,18 +1971,19 @@ AcpiDmDumpIort (
-
- /* Dump the OptionalPadding (optional) */
-
-- if (Iort->NodeOffset > Offset)
-+ ACPI_MOVE_32_TO_32(&NodeOffset, &Iort->NodeOffset);
-+ if (NodeOffset > Offset)
- {
-- Status = AcpiDmDumpTable (Table->Length, Offset, Table,
-- Iort->NodeOffset - Offset, AcpiDmTableInfoIortPad);
-+ Status = AcpiDmDumpTable (TableLen, Offset, Table,
-+ NodeOffset - Offset, AcpiDmTableInfoIortPad);
- if (ACPI_FAILURE (Status))
- {
- return;
- }
- }
-
-- Offset = Iort->NodeOffset;
-- while (Offset < Table->Length)
-+ ACPI_MOVE_32_TO_32(&Offset, &Iort->NodeOffset);
-+ while (Offset < TableLen)
- {
- /* Common subtable header */
-
-@@ -1968,7 +2019,8 @@ AcpiDmDumpIort (
- case ACPI_IORT_NODE_PCI_ROOT_COMPLEX:
-
- InfoTable = AcpiDmTableInfoIort2;
-- Length = IortNode->Length - NodeOffset;
-+ ACPI_MOVE_16_TO_16(&NodeLength, &IortNode->Length);
-+ Length = NodeLength - NodeOffset;
- break;
-
- case ACPI_IORT_NODE_SMMU:
-@@ -1981,7 +2033,8 @@ AcpiDmDumpIort (
- case ACPI_IORT_NODE_SMMU_V3:
-
- InfoTable = AcpiDmTableInfoIort4;
-- Length = IortNode->Length - NodeOffset;
-+ ACPI_MOVE_16_TO_16(&NodeLength, &IortNode->Length);
-+ Length = NodeLength - NodeOffset;
- break;
-
- default:
-@@ -1991,7 +2044,8 @@ AcpiDmDumpIort (
-
- /* Attempt to continue */
-
-- if (!IortNode->Length)
-+ ACPI_MOVE_16_TO_16(&NodeLength, &IortNode->Length);
-+ if (!NodeLength)
- {
- AcpiOsPrintf ("Invalid zero length IORT node\n");
- return;
-@@ -2002,7 +2056,7 @@ AcpiDmDumpIort (
- /* Dump the node subtable header */
-
- AcpiOsPrintf ("\n");
-- Status = AcpiDmDumpTable (Table->Length, Offset + NodeOffset,
-+ Status = AcpiDmDumpTable (TableLen, Offset + NodeOffset,
- ACPI_ADD_PTR (ACPI_IORT_NODE, IortNode, NodeOffset),
- Length, InfoTable);
- if (ACPI_FAILURE (Status))
-@@ -2022,9 +2076,10 @@ AcpiDmDumpIort (
-
- if (IortItsGroup)
- {
-- for (i = 0; i < IortItsGroup->ItsCount; i++)
-+ ACPI_MOVE_32_TO_32(&ItsCount, &IortItsGroup->ItsCount);
-+ for (i = 0; i < ItsCount; i++)
- {
-- Status = AcpiDmDumpTable (Table->Length, Offset + NodeOffset,
-+ Status = AcpiDmDumpTable (TableLen, Offset + NodeOffset,
- ACPI_ADD_PTR (ACPI_IORT_NODE, IortNode, NodeOffset),
- 4, AcpiDmTableInfoIort0a);
- NodeOffset += 4;
-@@ -2036,11 +2091,11 @@ AcpiDmDumpIort (
-
- /* Dump the Padding (optional) */
-
-- if (IortNode->Length > NodeOffset)
-+ ACPI_MOVE_16_TO_16(&NodeLength, &IortNode->Length);
-+ if (NodeLength > NodeOffset)
- {
-- Status = AcpiDmDumpTable (Table->Length, Offset + NodeOffset,
-- Table, IortNode->Length - NodeOffset,
-- AcpiDmTableInfoIort1a);
-+ Status = AcpiDmDumpTable (TableLen, Offset + NodeOffset,
-+ Table, NodeLength - NodeOffset, AcpiDmTableInfoIort1a);
- if (ACPI_FAILURE (Status))
- {
- return;
-@@ -2057,8 +2112,8 @@ AcpiDmDumpIort (
- if (IortSmmu)
- {
- Length = 2 * sizeof (UINT64);
-- NodeOffset = IortSmmu->GlobalInterruptOffset;
-- Status = AcpiDmDumpTable (Table->Length, Offset + NodeOffset,
-+ ACPI_MOVE_32_TO_32(&NodeOffset,
&IortSmmu->GlobalInterruptOffset);
-+ Status = AcpiDmDumpTable (TableLen, Offset + NodeOffset,
- ACPI_ADD_PTR (ACPI_IORT_NODE, IortNode, NodeOffset),
- Length, AcpiDmTableInfoIort3a);
- if (ACPI_FAILURE (Status))
-@@ -2066,10 +2121,11 @@ AcpiDmDumpIort (
- return;
- }
-
-- NodeOffset = IortSmmu->ContextInterruptOffset;
-- for (i = 0; i < IortSmmu->ContextInterruptCount; i++)
-+ ACPI_MOVE_32_TO_32(&NodeOffset,
&IortSmmu->ContextInterruptOffset);
-+ ACPI_MOVE_32_TO_32(&CtxIntCount,
&IortSmmu->ContextInterruptCount);
-+ for (i = 0; i < CtxIntCount; i++)
- {
-- Status = AcpiDmDumpTable (Table->Length, Offset + NodeOffset,
-+ Status = AcpiDmDumpTable (TableLen, Offset + NodeOffset,
- ACPI_ADD_PTR (ACPI_IORT_NODE, IortNode, NodeOffset),
- 8, AcpiDmTableInfoIort3b);
- if (ACPI_FAILURE (Status))
-@@ -2080,10 +2136,11 @@ AcpiDmDumpIort (
- NodeOffset += 8;
- }
-
-- NodeOffset = IortSmmu->PmuInterruptOffset;
-- for (i = 0; i < IortSmmu->PmuInterruptCount; i++)
-+ ACPI_MOVE_32_TO_32(&NodeOffset,
&IortSmmu->PmuInterruptOffset);
-+ ACPI_MOVE_32_TO_32(&PmuIntCount,
&IortSmmu->PmuInterruptCount);
-+ for (i = 0; i < PmuIntCount; i++)
- {
-- Status = AcpiDmDumpTable (Table->Length, Offset + NodeOffset,
-+ Status = AcpiDmDumpTable (TableLen, Offset + NodeOffset,
- ACPI_ADD_PTR (ACPI_IORT_NODE, IortNode, NodeOffset),
- 8, AcpiDmTableInfoIort3c);
- if (ACPI_FAILURE (Status))
-@@ -2103,12 +2160,13 @@ AcpiDmDumpIort (
-
- /* Dump the ID mappings */
-
-- NodeOffset = IortNode->MappingOffset;
-- for (i = 0; i < IortNode->MappingCount; i++)
-+ ACPI_MOVE_32_TO_32(&NodeOffset, &IortNode->MappingOffset);
-+ ACPI_MOVE_32_TO_32(&MappingCount, &IortNode->MappingCount);
-+ for (i = 0; i < MappingCount; i++)
- {
- AcpiOsPrintf ("\n");
- Length = sizeof (ACPI_IORT_ID_MAPPING);
-- Status = AcpiDmDumpTable (Table->Length, Offset + NodeOffset,
-+ Status = AcpiDmDumpTable (TableLen, Offset + NodeOffset,
- ACPI_ADD_PTR (ACPI_IORT_NODE, IortNode, NodeOffset),
- Length, AcpiDmTableInfoIortMap);
- if (ACPI_FAILURE (Status))
-@@ -2122,8 +2180,9 @@ AcpiDmDumpIort (
- NextSubTable:
- /* Point to next node subtable */
-
-- Offset += IortNode->Length;
-- IortNode = ACPI_ADD_PTR (ACPI_IORT_NODE, IortNode, IortNode->Length);
-+ ACPI_MOVE_16_TO_16(&NodeLength, &IortNode->Length);
-+ Offset += NodeLength;
-+ IortNode = ACPI_ADD_PTR (ACPI_IORT_NODE, IortNode, NodeLength);
- }
- }
-
-@@ -2154,11 +2213,14 @@ AcpiDmDumpIvrs (
- ACPI_IVRS_DE_HEADER *DeviceEntry;
- ACPI_IVRS_HEADER *SubTable;
- ACPI_DMTABLE_INFO *InfoTable;
-+ UINT32 Length;
-+ UINT16 SubLength;
-
-
- /* Main table */
-
-- Status = AcpiDmDumpTable (Table->Length, 0, Table, 0, AcpiDmTableInfoIvrs);
-+ ACPI_MOVE_32_TO_32(&Length, &Table->Length);
-+ Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoIvrs);
- if (ACPI_FAILURE (Status))
- {
- return;
-@@ -2167,13 +2229,14 @@ AcpiDmDumpIvrs (
- /* Subtables */
-
- SubTable = ACPI_ADD_PTR (ACPI_IVRS_HEADER, Table, Offset);
-- while (Offset < Table->Length)
-+ while (Offset < Length)
- {
- /* Common subtable header */
-
- AcpiOsPrintf ("\n");
-- Status = AcpiDmDumpTable (Table->Length, Offset, SubTable,
-- SubTable->Length, AcpiDmTableInfoIvrsHdr);
-+ ACPI_MOVE_16_TO_16(&SubLength, &SubTable->Length);
-+ Status = AcpiDmDumpTable (Length, Offset, SubTable,
-+ SubLength, AcpiDmTableInfoIvrsHdr);
- if (ACPI_FAILURE (Status))
- {
- return;
-@@ -2200,7 +2263,7 @@ AcpiDmDumpIvrs (
-
- /* Attempt to continue */
-
-- if (!SubTable->Length)
-+ if (!SubLength)
- {
- AcpiOsPrintf ("Invalid zero length subtable\n");
- return;
-@@ -2211,8 +2274,8 @@ AcpiDmDumpIvrs (
- /* Dump the subtable */
-
- AcpiOsPrintf ("\n");
-- Status = AcpiDmDumpTable (Table->Length, Offset, SubTable,
-- SubTable->Length, InfoTable);
-+ Status = AcpiDmDumpTable (Length, Offset, SubTable,
-+ SubLength, InfoTable);
- if (ACPI_FAILURE (Status))
- {
- return;
-@@ -2226,7 +2289,7 @@ AcpiDmDumpIvrs (
- DeviceEntry = ACPI_ADD_PTR (ACPI_IVRS_DE_HEADER, SubTable,
- sizeof (ACPI_IVRS_HARDWARE));
-
-- while (EntryOffset < (Offset + SubTable->Length))
-+ while (EntryOffset < (Offset + SubLength))
- {
- AcpiOsPrintf ("\n");
- /*
-@@ -2288,7 +2351,7 @@ AcpiDmDumpIvrs (
-
- /* Dump the Device Entry */
-
-- Status = AcpiDmDumpTable (Table->Length, EntryOffset,
-+ Status = AcpiDmDumpTable (Length, EntryOffset,
- DeviceEntry, EntryLength, InfoTable);
- if (ACPI_FAILURE (Status))
- {
-@@ -2304,8 +2367,8 @@ AcpiDmDumpIvrs (
- NextSubTable:
- /* Point to next subtable */
-
-- Offset += SubTable->Length;
-- SubTable = ACPI_ADD_PTR (ACPI_IVRS_HEADER, SubTable, SubTable->Length);
-+ Offset += SubLength;
-+ SubTable = ACPI_ADD_PTR (ACPI_IVRS_HEADER, SubTable, SubLength);
- }
- }
-
-@@ -2331,7 +2394,7 @@ AcpiDmDumpLpit (
- {
- ACPI_STATUS Status;
- ACPI_LPIT_HEADER *SubTable;
-- UINT32 Length = Table->Length;
-+ UINT32 Length;
- UINT32 Offset = sizeof (ACPI_TABLE_LPIT);
- ACPI_DMTABLE_INFO *InfoTable;
- UINT32 SubTableLength;
-@@ -2339,8 +2402,9 @@ AcpiDmDumpLpit (
-
- /* Subtables */
-
-+ ACPI_MOVE_32_TO_32(&Length, &Table->Length);
- SubTable = ACPI_ADD_PTR (ACPI_LPIT_HEADER, Table, Offset);
-- while (Offset < Table->Length)
-+ while (Offset < Length)
- {
- /* Common subtable header */
-
-@@ -2404,13 +2468,14 @@ AcpiDmDumpMadt (
- {
- ACPI_STATUS Status;
- ACPI_SUBTABLE_HEADER *SubTable;
-- UINT32 Length = Table->Length;
-+ UINT32 Length;
- UINT32 Offset = sizeof (ACPI_TABLE_MADT);
- ACPI_DMTABLE_INFO *InfoTable;
-
-
- /* Main table */
-
-+ ACPI_MOVE_32_TO_32(&Length, &Table->Length);
- Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoMadt);
- if (ACPI_FAILURE (Status))
- {
-@@ -2420,7 +2485,7 @@ AcpiDmDumpMadt (
- /* Subtables */
-
- SubTable = ACPI_ADD_PTR (ACPI_SUBTABLE_HEADER, Table, Offset);
-- while (Offset < Table->Length)
-+ while (Offset < Length)
- {
- /* Common subtable header */
-
-@@ -2566,11 +2631,13 @@ AcpiDmDumpMcfg (
- ACPI_STATUS Status;
- UINT32 Offset = sizeof (ACPI_TABLE_MCFG);
- ACPI_MCFG_ALLOCATION *SubTable;
-+ UINT32 Len;
-
-
- /* Main table */
-
-- Status = AcpiDmDumpTable (Table->Length, 0, Table, 0, AcpiDmTableInfoMcfg);
-+ ACPI_MOVE_32_TO_32(&Len, &Table->Length);
-+ Status = AcpiDmDumpTable (Len, 0, Table, 0, AcpiDmTableInfoMcfg);
- if (ACPI_FAILURE (Status))
- {
- return;
-@@ -2579,17 +2646,17 @@ AcpiDmDumpMcfg (
- /* Subtables */
-
- SubTable = ACPI_ADD_PTR (ACPI_MCFG_ALLOCATION, Table, Offset);
-- while (Offset < Table->Length)
-+ while (Offset < Len)
- {
-- if (Offset + sizeof (ACPI_MCFG_ALLOCATION) > Table->Length)
-+ if (Offset + sizeof (ACPI_MCFG_ALLOCATION) > Len)
- {
- AcpiOsPrintf ("Warning: there are %u invalid trailing bytes\n",
-- sizeof (ACPI_MCFG_ALLOCATION) - (Offset - Table->Length));
-+ sizeof (ACPI_MCFG_ALLOCATION) - (Offset - Len));
- return;
- }
-
- AcpiOsPrintf ("\n");
-- Status = AcpiDmDumpTable (Table->Length, Offset, SubTable,
-+ Status = AcpiDmDumpTable (Len, Offset, SubTable,
- sizeof (ACPI_MCFG_ALLOCATION), AcpiDmTableInfoMcfg0);
- if (ACPI_FAILURE (Status))
- {
-@@ -2623,6 +2690,7 @@ AcpiDmDumpMpst (
- {
- ACPI_STATUS Status;
- UINT32 Offset = sizeof (ACPI_TABLE_MPST);
-+ ACPI_TABLE_MPST *Mpst;
- ACPI_MPST_POWER_NODE *SubTable0;
- ACPI_MPST_POWER_STATE *SubTable0A;
- ACPI_MPST_COMPONENT *SubTable0B;
-@@ -2631,11 +2699,13 @@ AcpiDmDumpMpst (
- UINT16 SubtableCount;
- UINT32 PowerStateCount;
- UINT32 ComponentCount;
-+ UINT32 Length;
-
-
- /* Main table */
-
-- Status = AcpiDmDumpTable (Table->Length, 0, Table, 0, AcpiDmTableInfoMpst);
-+ ACPI_MOVE_32_TO_32(&Length, &Table->Length);
-+ Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoMpst);
- if (ACPI_FAILURE (Status))
- {
- return;
-@@ -2643,13 +2713,14 @@ AcpiDmDumpMpst (
-
- /* Subtable: Memory Power Node(s) */
-
-- SubtableCount = (ACPI_CAST_PTR (ACPI_TABLE_MPST, Table))->PowerNodeCount;
-+ Mpst = ACPI_CAST_PTR (ACPI_TABLE_MPST, Table);
-+ ACPI_MOVE_16_TO_16(&SubtableCount, &Mpst->PowerNodeCount);
- SubTable0 = ACPI_ADD_PTR (ACPI_MPST_POWER_NODE, Table, Offset);
-
-- while ((Offset < Table->Length) && SubtableCount)
-+ while ((Offset < Length) && SubtableCount)
- {
- AcpiOsPrintf ("\n");
-- Status = AcpiDmDumpTable (Table->Length, Offset, SubTable0,
-+ Status = AcpiDmDumpTable (Length, Offset, SubTable0,
- sizeof (ACPI_MPST_POWER_NODE), AcpiDmTableInfoMpst0);
- if (ACPI_FAILURE (Status))
- {
-@@ -2658,8 +2729,8 @@ AcpiDmDumpMpst (
-
- /* Extract the sub-subtable counts */
-
-- PowerStateCount = SubTable0->NumPowerStates;
-- ComponentCount = SubTable0->NumPhysicalComponents;
-+ ACPI_MOVE_32_TO_32(&PowerStateCount, &SubTable0->NumPowerStates);
-+ ACPI_MOVE_32_TO_32(&ComponentCount,
&SubTable0->NumPhysicalComponents);
- Offset += sizeof (ACPI_MPST_POWER_NODE);
-
- /* Sub-subtables - Memory Power State Structure(s) */
-@@ -2670,7 +2741,7 @@ AcpiDmDumpMpst (
- while (PowerStateCount)
- {
- AcpiOsPrintf ("\n");
-- Status = AcpiDmDumpTable (Table->Length, Offset, SubTable0A,
-+ Status = AcpiDmDumpTable (Length, Offset, SubTable0A,
- sizeof (ACPI_MPST_POWER_STATE), AcpiDmTableInfoMpst0A);
- if (ACPI_FAILURE (Status))
- {
-@@ -2680,7 +2751,7 @@ AcpiDmDumpMpst (
- SubTable0A++;
- PowerStateCount--;
- Offset += sizeof (ACPI_MPST_POWER_STATE);
-- }
-+ }
-
- /* Sub-subtables - Physical Component ID Structure(s) */
-
-@@ -2693,7 +2764,7 @@ AcpiDmDumpMpst (
-
- while (ComponentCount)
- {
-- Status = AcpiDmDumpTable (Table->Length, Offset, SubTable0B,
-+ Status = AcpiDmDumpTable (Length, Offset, SubTable0B,
- sizeof (ACPI_MPST_COMPONENT), AcpiDmTableInfoMpst0B);
- if (ACPI_FAILURE (Status))
- {
-@@ -2708,17 +2779,19 @@ AcpiDmDumpMpst (
- /* Point to next Memory Power Node subtable */
-
- SubtableCount--;
-+ ACPI_MOVE_32_TO_32(&PowerStateCount, &SubTable0->NumPowerStates);
-+ ACPI_MOVE_32_TO_32(&ComponentCount,
&SubTable0->NumPhysicalComponents);
- SubTable0 = ACPI_ADD_PTR (ACPI_MPST_POWER_NODE, SubTable0,
- sizeof (ACPI_MPST_POWER_NODE) +
-- (sizeof (ACPI_MPST_POWER_STATE) * SubTable0->NumPowerStates) +
-- (sizeof (ACPI_MPST_COMPONENT) * SubTable0->NumPhysicalComponents));
-+ (sizeof (ACPI_MPST_POWER_STATE) * PowerStateCount) +
-+ (sizeof (ACPI_MPST_COMPONENT) * ComponentCount));
- }
-
- /* Subtable: Count of Memory Power State Characteristic structures */
-
- AcpiOsPrintf ("\n");
- SubTable1 = ACPI_CAST_PTR (ACPI_MPST_DATA_HDR, SubTable0);
-- Status = AcpiDmDumpTable (Table->Length, Offset, SubTable1,
-+ Status = AcpiDmDumpTable (Length, Offset, SubTable1,
- sizeof (ACPI_MPST_DATA_HDR), AcpiDmTableInfoMpst1);
- if (ACPI_FAILURE (Status))
- {
-@@ -2733,10 +2806,10 @@ AcpiDmDumpMpst (
- SubTable2 = ACPI_ADD_PTR (ACPI_MPST_POWER_DATA, SubTable1,
- sizeof (ACPI_MPST_DATA_HDR));
-
-- while ((Offset < Table->Length) && SubtableCount)
-+ while ((Offset < Length) && SubtableCount)
- {
- AcpiOsPrintf ("\n");
-- Status = AcpiDmDumpTable (Table->Length, Offset, SubTable2,
-+ Status = AcpiDmDumpTable (Length, Offset, SubTable2,
- sizeof (ACPI_MPST_POWER_DATA), AcpiDmTableInfoMpst2);
- if (ACPI_FAILURE (Status))
- {
-@@ -2769,11 +2842,13 @@ AcpiDmDumpMsct (
- ACPI_STATUS Status;
- UINT32 Offset = sizeof (ACPI_TABLE_MSCT);
- ACPI_MSCT_PROXIMITY *SubTable;
-+ UINT32 Length;
-
-
- /* Main table */
-
-- Status = AcpiDmDumpTable (Table->Length, 0, Table, 0, AcpiDmTableInfoMsct);
-+ ACPI_MOVE_32_TO_32(&Length, &Table->Length);
-+ Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoMsct);
- if (ACPI_FAILURE (Status))
- {
- return;
-@@ -2782,12 +2857,12 @@ AcpiDmDumpMsct (
- /* Subtables */
-
- SubTable = ACPI_ADD_PTR (ACPI_MSCT_PROXIMITY, Table, Offset);
-- while (Offset < Table->Length)
-+ while (Offset < Length)
- {
- /* Common subtable header */
-
- AcpiOsPrintf ("\n");
-- Status = AcpiDmDumpTable (Table->Length, Offset, SubTable,
-+ Status = AcpiDmDumpTable (Length, Offset, SubTable,
- sizeof (ACPI_MSCT_PROXIMITY), AcpiDmTableInfoMsct0);
- if (ACPI_FAILURE (Status))
- {
-@@ -2822,11 +2897,13 @@ AcpiDmDumpMtmr (
- ACPI_STATUS Status;
- UINT32 Offset = sizeof (ACPI_TABLE_MTMR);
- ACPI_MTMR_ENTRY *SubTable;
-+ UINT32 Length;
-
-
- /* Main table */
-
-- Status = AcpiDmDumpTable (Table->Length, 0, Table, 0, AcpiDmTableInfoMtmr);
-+ ACPI_MOVE_32_TO_32(&Length, &Table->Length);
-+ Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoMtmr);
- if (ACPI_FAILURE (Status))
- {
- return;
-@@ -2835,12 +2912,12 @@ AcpiDmDumpMtmr (
- /* Subtables */
-
- SubTable = ACPI_ADD_PTR (ACPI_MTMR_ENTRY, Table, Offset);
-- while (Offset < Table->Length)
-+ while (Offset < Length)
- {
- /* Common subtable header */
-
- AcpiOsPrintf ("\n");
-- Status = AcpiDmDumpTable (Table->Length, Offset, SubTable,
-+ Status = AcpiDmDumpTable (Length, Offset, SubTable,
- sizeof (ACPI_MTMR_ENTRY), AcpiDmTableInfoMtmr0);
- if (ACPI_FAILURE (Status))
- {
-@@ -2882,11 +2959,17 @@ AcpiDmDumpNfit (
- ACPI_NFIT_SMBIOS *SmbiosInfo = NULL;
- ACPI_NFIT_FLUSH_ADDRESS *Hint = NULL;
- UINT32 i;
-+ UINT32 TableLength;
-+ UINT16 SubLength;
-+ UINT16 SubType;
-+ UINT32 Count;
-+ UINT16 Count16;
-
-
- /* Main table */
-
-- Status = AcpiDmDumpTable (Table->Length, 0, Table, 0, AcpiDmTableInfoNfit);
-+ ACPI_MOVE_32_TO_32(&TableLength, &Table->Length);
-+ Status = AcpiDmDumpTable (TableLength, 0, Table, 0, AcpiDmTableInfoNfit);
- if (ACPI_FAILURE (Status))
- {
- return;
-@@ -2895,19 +2978,21 @@ AcpiDmDumpNfit (
- /* Subtables */
-
- SubTable = ACPI_ADD_PTR (ACPI_NFIT_HEADER, Table, Offset);
-- while (Offset < Table->Length)
-+ while (Offset < TableLength)
- {
- /* NFIT subtable header */
-
- AcpiOsPrintf ("\n");
-- Status = AcpiDmDumpTable (Table->Length, Offset, SubTable,
-- SubTable->Length, AcpiDmTableInfoNfitHdr);
-+ ACPI_MOVE_16_TO_16(&SubLength, &SubTable->Length);
-+ Status = AcpiDmDumpTable (TableLength, Offset, SubTable,
-+ SubLength, AcpiDmTableInfoNfitHdr);
- if (ACPI_FAILURE (Status))
- {
- return;
- }
-
-- switch (SubTable->Type)
-+ ACPI_MOVE_16_TO_16(&SubType, &SubTable->Type);
-+ switch (SubType)
- {
- case ACPI_NFIT_TYPE_SYSTEM_ADDRESS:
-
-@@ -2959,7 +3044,7 @@ AcpiDmDumpNfit (
-
- /* Attempt to continue */
-
-- if (!SubTable->Length)
-+ if (!SubLength)
- {
- AcpiOsPrintf ("Invalid zero length subtable\n");
- return;
-@@ -2968,8 +3053,8 @@ AcpiDmDumpNfit (
- }
-
- AcpiOsPrintf ("\n");
-- Status = AcpiDmDumpTable (Table->Length, Offset, SubTable,
-- SubTable->Length, InfoTable);
-+ Status = AcpiDmDumpTable (TableLength, Offset, SubTable,
-+ SubLength, InfoTable);
- if (ACPI_FAILURE (Status))
- {
- return;
-@@ -2977,13 +3062,14 @@ AcpiDmDumpNfit (
-
- /* Per-subtable variable-length fields */
-
-- switch (SubTable->Type)
-+ switch (SubType)
- {
- case ACPI_NFIT_TYPE_INTERLEAVE:
-
-- for (i = 0; i < Interleave->LineCount; i++)
-+ ACPI_MOVE_32_TO_32(&Count, &Interleave->LineCount);
-+ for (i = 0; i < Count; i++)
- {
-- Status = AcpiDmDumpTable (Table->Length, Offset + FieldOffset,
-+ Status = AcpiDmDumpTable (TableLength, Offset + FieldOffset,
- &Interleave->LineOffset[i],
- sizeof (UINT32), AcpiDmTableInfoNfit2a);
- if (ACPI_FAILURE (Status))
-@@ -2997,12 +3083,11 @@ AcpiDmDumpNfit (
-
- case ACPI_NFIT_TYPE_SMBIOS:
-
-- Length = SubTable->Length -
-- sizeof (ACPI_NFIT_SMBIOS) + sizeof (UINT8);
-+ Length = SubLength - sizeof (ACPI_NFIT_SMBIOS) + sizeof (UINT8);
-
- if (Length)
- {
-- Status = AcpiDmDumpTable (Table->Length,
-+ Status = AcpiDmDumpTable (TableLength,
- sizeof (ACPI_NFIT_SMBIOS) - sizeof (UINT8),
- SmbiosInfo,
- Length, AcpiDmTableInfoNfit3a);
-@@ -3016,9 +3101,10 @@ AcpiDmDumpNfit (
-
- case ACPI_NFIT_TYPE_FLUSH_ADDRESS:
-
-- for (i = 0; i < Hint->HintCount; i++)
-+ ACPI_MOVE_16_TO_16(&Count16, &Hint->HintCount);
-+ for (i = 0; i < Count16; i++)
- {
-- Status = AcpiDmDumpTable (Table->Length, Offset + FieldOffset,
-+ Status = AcpiDmDumpTable (TableLength, Offset + FieldOffset,
- &Hint->HintAddress[i],
- sizeof (UINT64), AcpiDmTableInfoNfit6a);
- if (ACPI_FAILURE (Status))
-@@ -3037,8 +3123,8 @@ AcpiDmDumpNfit (
- NextSubTable:
- /* Point to next subtable */
-
-- Offset += SubTable->Length;
-- SubTable = ACPI_ADD_PTR (ACPI_NFIT_HEADER, SubTable, SubTable->Length);
-+ Offset += SubLength;
-+ SubTable = ACPI_ADD_PTR (ACPI_NFIT_HEADER, SubTable, SubLength);
- }
- }
-
-@@ -3063,12 +3149,13 @@ AcpiDmDumpPcct (
- ACPI_STATUS Status;
- ACPI_PCCT_SUBSPACE *SubTable;
- ACPI_DMTABLE_INFO *InfoTable;
-- UINT32 Length = Table->Length;
-+ UINT32 Length;
- UINT32 Offset = sizeof (ACPI_TABLE_PCCT);
-
-
- /* Main table */
-
-+ ACPI_MOVE_32_TO_32(&Length, &Table->Length);
- Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoPcct);
- if (ACPI_FAILURE (Status))
- {
-@@ -3078,7 +3165,7 @@ AcpiDmDumpPcct (
- /* Subtables */
-
- SubTable = ACPI_ADD_PTR (ACPI_PCCT_SUBSPACE, Table, Offset);
-- while (Offset < Table->Length)
-+ while (Offset < Length)
- {
- /* Common subtable header */
-
-@@ -3164,16 +3251,21 @@ AcpiDmDumpPmtt (
- ACPI_PMTT_HEADER *MemSubTable;
- ACPI_PMTT_HEADER *DimmSubTable;
- ACPI_PMTT_DOMAIN *DomainArray;
-- UINT32 Length = Table->Length;
-+ UINT32 Length;
- UINT32 Offset = sizeof (ACPI_TABLE_PMTT);
- UINT32 MemOffset;
- UINT32 DimmOffset;
- UINT32 DomainOffset;
-- UINT32 DomainCount;
-+ UINT16 DomainCount;
-+ UINT16 SubLength;
-+ UINT16 Tmp16;
-+ UINT16 MemLength;
-+ UINT16 DimmLength;
-
-
- /* Main table */
-
-+ ACPI_MOVE_32_TO_32(&Length, &Table->Length);
- Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoPmtt);
- if (ACPI_FAILURE (Status))
- {
-@@ -3183,13 +3275,14 @@ AcpiDmDumpPmtt (
- /* Subtables */
-
- SubTable = ACPI_ADD_PTR (ACPI_PMTT_HEADER, Table, Offset);
-- while (Offset < Table->Length)
-+ while (Offset < Length)
- {
- /* Common subtable header */
-
- AcpiOsPrintf ("\n");
-+ ACPI_MOVE_16_TO_16(&SubLength, &SubTable->Length);
- Status = AcpiDmDumpTable (Length, Offset, SubTable,
-- SubTable->Length, AcpiDmTableInfoPmttHdr);
-+ SubLength, AcpiDmTableInfoPmttHdr);
- if (ACPI_FAILURE (Status))
- {
- return;
-@@ -3208,7 +3301,7 @@ AcpiDmDumpPmtt (
- /* Dump the fixed-length portion of the subtable */
-
- Status = AcpiDmDumpTable (Length, Offset, SubTable,
-- SubTable->Length, AcpiDmTableInfoPmtt0);
-+ SubLength, AcpiDmTableInfoPmtt0);
- if (ACPI_FAILURE (Status))
- {
- return;
-@@ -3220,15 +3313,16 @@ AcpiDmDumpPmtt (
- MemSubTable = ACPI_ADD_PTR (ACPI_PMTT_HEADER, SubTable,
- sizeof (ACPI_PMTT_SOCKET));
-
-- while (((Offset + MemOffset) < Table->Length) &&
-- (MemOffset < SubTable->Length))
-+ while (((Offset + MemOffset) < Length) &&
-+ (MemOffset < SubLength))
- {
- /* Common subtable header */
-
- AcpiOsPrintf ("\n");
-+ ACPI_MOVE_16_TO_16(&MemLength, &MemSubTable->Length);
- Status = AcpiDmDumpTable (Length,
- Offset + MemOffset, MemSubTable,
-- MemSubTable->Length, AcpiDmTableInfoPmttHdr);
-+ MemLength, AcpiDmTableInfoPmttHdr);
- if (ACPI_FAILURE (Status))
- {
- return;
-@@ -3248,7 +3342,7 @@ AcpiDmDumpPmtt (
-
- Status = AcpiDmDumpTable (Length,
- Offset + MemOffset, MemSubTable,
-- MemSubTable->Length, AcpiDmTableInfoPmtt1);
-+ MemLength, AcpiDmTableInfoPmtt1);
- if (ACPI_FAILURE (Status))
- {
- return;
-@@ -3256,13 +3350,14 @@ AcpiDmDumpPmtt (
-
- /* Walk the variable count of proximity domains */
-
-- DomainCount = ((ACPI_PMTT_CONTROLLER *) MemSubTable)->DomainCount;
-+ Tmp16 = ((ACPI_PMTT_CONTROLLER *) MemSubTable)->DomainCount;
-+ ACPI_MOVE_16_TO_16(&DomainCount, &Tmp16);
- DomainOffset = sizeof (ACPI_PMTT_CONTROLLER);
- DomainArray = ACPI_ADD_PTR (ACPI_PMTT_DOMAIN, MemSubTable,
- sizeof (ACPI_PMTT_CONTROLLER));
-
-- while (((Offset + MemOffset + DomainOffset) < Table->Length)
&&
-- ((MemOffset + DomainOffset) < SubTable->Length) &&
-+ while (((Offset + MemOffset + DomainOffset) < Length) &&
-+ ((MemOffset + DomainOffset) < SubLength) &&
- DomainCount)
- {
- Status = AcpiDmDumpTable (Length,
-@@ -3290,15 +3385,16 @@ AcpiDmDumpPmtt (
- DimmSubTable = ACPI_ADD_PTR (ACPI_PMTT_HEADER, MemSubTable,
- DomainOffset);
-
-- while (((Offset + MemOffset + DimmOffset) < Table->Length) &&
-- (DimmOffset < MemSubTable->Length))
-+ while (((Offset + MemOffset + DimmOffset) < Length) &&
-+ (DimmOffset < MemLength))
- {
- /* Common subtable header */
-
- AcpiOsPrintf ("\n");
-+ ACPI_MOVE_16_TO_16(&DimmLength, &DimmSubTable->Length);
- Status = AcpiDmDumpTable (Length,
- Offset + MemOffset + DimmOffset, DimmSubTable,
-- DimmSubTable->Length, AcpiDmTableInfoPmttHdr);
-+ DimmLength, AcpiDmTableInfoPmttHdr);
- if (ACPI_FAILURE (Status))
- {
- return;
-@@ -3318,7 +3414,7 @@ AcpiDmDumpPmtt (
-
- Status = AcpiDmDumpTable (Length,
- Offset + MemOffset + DimmOffset, DimmSubTable,
-- DimmSubTable->Length, AcpiDmTableInfoPmtt2);
-+ DimmLength, AcpiDmTableInfoPmtt2);
- if (ACPI_FAILURE (Status))
- {
- return;
-@@ -3326,23 +3422,22 @@ AcpiDmDumpPmtt (
-
- /* Point to next DIMM subtable */
-
-- DimmOffset += DimmSubTable->Length;
-+ DimmOffset += DimmLength;
- DimmSubTable = ACPI_ADD_PTR (ACPI_PMTT_HEADER,
-- DimmSubTable, DimmSubTable->Length);
-+ DimmSubTable, DimmLength);
- }
-
- /* Point to next Controller subtable */
-
-- MemOffset += MemSubTable->Length;
-+ MemOffset += MemLength;
- MemSubTable = ACPI_ADD_PTR (ACPI_PMTT_HEADER,
-- MemSubTable, MemSubTable->Length);
-+ MemSubTable, MemLength);
- }
-
- /* Point to next Socket subtable */
-
-- Offset += SubTable->Length;
-- SubTable = ACPI_ADD_PTR (ACPI_PMTT_HEADER,
-- SubTable, SubTable->Length);
-+ Offset += SubLength;
-+ SubTable = ACPI_ADD_PTR (ACPI_PMTT_HEADER, SubTable, SubLength);
- }
- }
-
-@@ -3498,6 +3593,8 @@ AcpiDmDumpS3pt (
- ACPI_FPDT_HEADER *SubTable;
- ACPI_DMTABLE_INFO *InfoTable;
- ACPI_TABLE_S3PT *S3ptTable = ACPI_CAST_PTR (ACPI_TABLE_S3PT, Tables);
-+ UINT32 Length;
-+ UINT16 SubType;
-
-
- /* Main table */
-@@ -3508,20 +3605,22 @@ AcpiDmDumpS3pt (
- return 0;
- }
-
-+ ACPI_MOVE_32_TO_32(&Length, &S3ptTable->Length);
- SubTable = ACPI_ADD_PTR (ACPI_FPDT_HEADER, S3ptTable, Offset);
-- while (Offset < S3ptTable->Length)
-+ while (Offset < Length)
- {
- /* Common subtable header */
-
- AcpiOsPrintf ("\n");
-- Status = AcpiDmDumpTable (S3ptTable->Length, Offset, SubTable,
-+ Status = AcpiDmDumpTable (Length, Offset, SubTable,
- SubTable->Length, AcpiDmTableInfoS3ptHdr);
- if (ACPI_FAILURE (Status))
- {
- return 0;
- }
-
-- switch (SubTable->Type)
-+ ACPI_MOVE_16_TO_16(&SubType, &SubTable->Type);
-+ switch (SubType)
- {
- case ACPI_S3PT_TYPE_RESUME:
-
-@@ -3536,7 +3635,7 @@ AcpiDmDumpS3pt (
- default:
-
- AcpiOsPrintf ("\n**** Unknown S3PT subtable type 0x%X\n",
-- SubTable->Type);
-+ SubType);
-
- /* Attempt to continue */
-
-@@ -3549,7 +3648,7 @@ AcpiDmDumpS3pt (
- }
-
- AcpiOsPrintf ("\n");
-- Status = AcpiDmDumpTable (S3ptTable->Length, Offset, SubTable,
-+ Status = AcpiDmDumpTable (Length, Offset, SubTable,
- SubTable->Length, InfoTable);
- if (ACPI_FAILURE (Status))
- {
-@@ -3583,9 +3682,11 @@ void
- AcpiDmDumpSlic (
- ACPI_TABLE_HEADER *Table)
- {
-+ UINT32 Length;
-
-- (void) AcpiDmDumpTable (Table->Length, sizeof (ACPI_TABLE_HEADER), Table,
-- Table->Length - sizeof (*Table), AcpiDmTableInfoSlic);
-+ ACPI_MOVE_32_TO_32(&Length, &Table->Length);
-+ (void) AcpiDmDumpTable (Length, sizeof (ACPI_TABLE_HEADER), Table,
-+ Length - sizeof (*Table), AcpiDmTableInfoSlic);
- }
-
-
-@@ -3608,14 +3709,17 @@ AcpiDmDumpSlit (
- ACPI_STATUS Status;
- UINT32 Offset;
- UINT8 *Row;
-- UINT32 Localities;
-+ UINT64 Localities;
- UINT32 i;
- UINT32 j;
-+ UINT32 Length;
-+ UINT64 Tmp64;
-
-
- /* Main table */
-
-- Status = AcpiDmDumpTable (Table->Length, 0, Table, 0, AcpiDmTableInfoSlit);
-+ ACPI_MOVE_32_TO_32(&Length, &Table->Length);
-+ Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoSlit);
- if (ACPI_FAILURE (Status))
- {
- return;
-@@ -3623,7 +3727,8 @@ AcpiDmDumpSlit (
-
- /* Display the Locality NxN Matrix */
-
-- Localities = (UINT32) ACPI_CAST_PTR (ACPI_TABLE_SLIT, Table)->LocalityCount;
-+ Tmp64 = (UINT64) ACPI_CAST_PTR (ACPI_TABLE_SLIT, Table)->LocalityCount;
-+ ACPI_MOVE_64_TO_64(&Localities, &Tmp64);
- Offset = ACPI_OFFSET (ACPI_TABLE_SLIT, Entry[0]);
- Row = (UINT8 *) ACPI_CAST_PTR (ACPI_TABLE_SLIT, Table)->Entry;
-
-@@ -3636,7 +3741,7 @@ AcpiDmDumpSlit (
- {
- /* Check for beyond EOT */
-
-- if (Offset >= Table->Length)
-+ if (Offset >= Length)
- {
- AcpiOsPrintf (
- "\n**** Not enough room in table for all localities\n");
-@@ -3688,11 +3793,13 @@ AcpiDmDumpSrat (
- UINT32 Offset = sizeof (ACPI_TABLE_SRAT);
- ACPI_SUBTABLE_HEADER *SubTable;
- ACPI_DMTABLE_INFO *InfoTable;
-+ UINT32 Length;
-
-
- /* Main table */
-
-- Status = AcpiDmDumpTable (Table->Length, 0, Table, 0, AcpiDmTableInfoSrat);
-+ ACPI_MOVE_32_TO_32(&Length, &Table->Length);
-+ Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoSrat);
- if (ACPI_FAILURE (Status))
- {
- return;
-@@ -3701,12 +3808,12 @@ AcpiDmDumpSrat (
- /* Subtables */
-
- SubTable = ACPI_ADD_PTR (ACPI_SUBTABLE_HEADER, Table, Offset);
-- while (Offset < Table->Length)
-+ while (Offset < Length)
- {
- /* Common subtable header */
-
- AcpiOsPrintf ("\n");
-- Status = AcpiDmDumpTable (Table->Length, Offset, SubTable,
-+ Status = AcpiDmDumpTable (Length, Offset, SubTable,
- SubTable->Length, AcpiDmTableInfoSratHdr);
- if (ACPI_FAILURE (Status))
- {
-@@ -3755,7 +3862,7 @@ AcpiDmDumpSrat (
- }
-
- AcpiOsPrintf ("\n");
-- Status = AcpiDmDumpTable (Table->Length, Offset, SubTable,
-+ Status = AcpiDmDumpTable (Length, Offset, SubTable,
- SubTable->Length, InfoTable);
- if (ACPI_FAILURE (Status))
- {
-@@ -3792,13 +3899,14 @@ AcpiDmDumpStao (
- {
- ACPI_STATUS Status;
- char *Namepath;
-- UINT32 Length = Table->Length;
-+ UINT32 Length;
- UINT32 StringLength;
- UINT32 Offset = sizeof (ACPI_TABLE_STAO);
-
-
- /* Main table */
-
-+ ACPI_MOVE_32_TO_32(&Length, &Table->Length);
- Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoStao);
- if (ACPI_FAILURE (Status))
- {
-@@ -3807,7 +3915,7 @@ AcpiDmDumpStao (
-
- /* The rest of the table consists of Namepath strings */
-
-- while (Offset < Table->Length)
-+ while (Offset < Length)
- {
- Namepath = ACPI_ADD_PTR (char, Table, Offset);
- StringLength = strlen (Namepath) + 1;
-@@ -3849,11 +3957,14 @@ AcpiDmDumpTcpa (
- ACPI_TABLE_TCPA_HDR *SubTable = ACPI_ADD_PTR (
- ACPI_TABLE_TCPA_HDR, Table, Offset);
- ACPI_STATUS Status;
-+ UINT32 Length;
-+ UINT16 PlatformClass;
-
-
- /* Main table */
-
-- Status = AcpiDmDumpTable (Table->Length, 0, Table,
-+ ACPI_MOVE_32_TO_32(&Length, &Table->Length);
-+ Status = AcpiDmDumpTable (Length, 0, Table,
- 0, AcpiDmTableInfoTcpaHdr);
- if (ACPI_FAILURE (Status))
- {
-@@ -3864,18 +3975,19 @@ AcpiDmDumpTcpa (
- * Examine the PlatformClass field to determine the table type.
- * Either a client or server table. Only one.
- */
-- switch (CommonHeader->PlatformClass)
-+ ACPI_MOVE_16_TO_16(&PlatformClass, &CommonHeader->PlatformClass);
-+ switch (PlatformClass)
- {
- case ACPI_TCPA_CLIENT_TABLE:
-
-- Status = AcpiDmDumpTable (Table->Length, Offset, SubTable,
-- Table->Length - Offset, AcpiDmTableInfoTcpaClient);
-+ Status = AcpiDmDumpTable (Length, Offset, SubTable,
-+ Length - Offset, AcpiDmTableInfoTcpaClient);
- break;
-
- case ACPI_TCPA_SERVER_TABLE:
-
-- Status = AcpiDmDumpTable (Table->Length, Offset, SubTable,
-- Table->Length - Offset, AcpiDmTableInfoTcpaServer);
-+ Status = AcpiDmDumpTable (Length, Offset, SubTable,
-+ Length - Offset, AcpiDmTableInfoTcpaServer);
- break;
-
- default:
-@@ -3912,11 +4024,13 @@ AcpiDmDumpVrtc (
- ACPI_STATUS Status;
- UINT32 Offset = sizeof (ACPI_TABLE_VRTC);
- ACPI_VRTC_ENTRY *SubTable;
-+ UINT32 Length;
-
-
- /* Main table */
-
-- Status = AcpiDmDumpTable (Table->Length, 0, Table, 0, AcpiDmTableInfoVrtc);
-+ ACPI_MOVE_32_TO_32(&Length, &Table->Length);
-+ Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoVrtc);
- if (ACPI_FAILURE (Status))
- {
- return;
-@@ -3925,12 +4039,12 @@ AcpiDmDumpVrtc (
- /* Subtables */
-
- SubTable = ACPI_ADD_PTR (ACPI_VRTC_ENTRY, Table, Offset);
-- while (Offset < Table->Length)
-+ while (Offset < Length)
- {
- /* Common subtable header */
-
- AcpiOsPrintf ("\n");
-- Status = AcpiDmDumpTable (Table->Length, Offset, SubTable,
-+ Status = AcpiDmDumpTable (Length, Offset, SubTable,
- sizeof (ACPI_VRTC_ENTRY), AcpiDmTableInfoVrtc0);
- if (ACPI_FAILURE (Status))
- {
-@@ -3965,11 +4079,13 @@ AcpiDmDumpWdat (
- ACPI_STATUS Status;
- UINT32 Offset = sizeof (ACPI_TABLE_WDAT);
- ACPI_WDAT_ENTRY *SubTable;
-+ UINT32 Length;
-
-
- /* Main table */
-
-- Status = AcpiDmDumpTable (Table->Length, 0, Table, 0, AcpiDmTableInfoWdat);
-+ ACPI_MOVE_32_TO_32(&Length, &Table->Length);
-+ Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoWdat);
- if (ACPI_FAILURE (Status))
- {
- return;
-@@ -3978,12 +4094,12 @@ AcpiDmDumpWdat (
- /* Subtables */
-
- SubTable = ACPI_ADD_PTR (ACPI_WDAT_ENTRY, Table, Offset);
-- while (Offset < Table->Length)
-+ while (Offset < Length)
- {
- /* Common subtable header */
-
- AcpiOsPrintf ("\n");
-- Status = AcpiDmDumpTable (Table->Length, Offset, SubTable,
-+ Status = AcpiDmDumpTable (Length, Offset, SubTable,
- sizeof (ACPI_WDAT_ENTRY), AcpiDmTableInfoWdat0);
- if (ACPI_FAILURE (Status))
- {
-@@ -4018,12 +4134,13 @@ AcpiDmDumpWpbt (
- {
- ACPI_STATUS Status;
- ACPI_TABLE_WPBT *SubTable;
-- UINT32 Length = Table->Length;
-+ UINT32 Length;
- UINT16 ArgumentsLength;
-
-
- /* Dump the main table */
-
-+ ACPI_MOVE_32_TO_32(&Length, &Table->Length);
- Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoWpbt);
- if (ACPI_FAILURE (Status))
- {
-@@ -4033,10 +4150,10 @@ AcpiDmDumpWpbt (
- /* Extract the arguments buffer length from the main table */
-
- SubTable = ACPI_CAST_PTR (ACPI_TABLE_WPBT, Table);
-- ArgumentsLength = SubTable->ArgumentsLength;
-+ ACPI_MOVE_16_TO_16(&ArgumentsLength, &SubTable->ArgumentsLength);
-
- /* Dump the arguments buffer */
-
-- (void) AcpiDmDumpTable (Table->Length, 0, Table, ArgumentsLength,
-+ (void) AcpiDmDumpTable (Length, 0, Table, ArgumentsLength,
- AcpiDmTableInfoWpbt0);
- }
-Index: acpica-unix2-20170728/source/compiler/aslrestype2.c
-===================================================================
---- acpica-unix2-20170728.orig/source/compiler/aslrestype2.c
-+++ acpica-unix2-20170728/source/compiler/aslrestype2.c
-@@ -98,21 +98,33 @@ RsDoGeneralRegisterDescriptor (
- {
- case 0: /* Address space */
-
-+ /*
- Descriptor->GenericReg.AddressSpaceId = (UINT8)
InitializerOp->Asl.Value.Integer;
-+ */
-+ ACPI_MOVE_64_TO_8(&Descriptor->GenericReg.AddressSpaceId,
-+ &InitializerOp->Asl.Value.Integer);
- RsCreateByteField (InitializerOp, ACPI_RESTAG_ADDRESSSPACE,
- CurrentByteOffset + ASL_RESDESC_OFFSET (GenericReg.AddressSpaceId));
- break;
-
- case 1: /* Register Bit Width */
-
-+ /*
- Descriptor->GenericReg.BitWidth = (UINT8)
InitializerOp->Asl.Value.Integer;
-+ */
-+ ACPI_MOVE_64_TO_8(&Descriptor->GenericReg.BitWidth,
-+ &InitializerOp->Asl.Value.Integer);
- RsCreateByteField (InitializerOp, ACPI_RESTAG_REGISTERBITWIDTH,
- CurrentByteOffset + ASL_RESDESC_OFFSET (GenericReg.BitWidth));
- break;
-
- case 2: /* Register Bit Offset */
-
-+ /*
- Descriptor->GenericReg.BitOffset = (UINT8)
InitializerOp->Asl.Value.Integer;
-+ */
-+ ACPI_MOVE_64_TO_8(&Descriptor->GenericReg.BitOffset,
-+ &InitializerOp->Asl.Value.Integer);
- RsCreateByteField (InitializerOp, ACPI_RESTAG_REGISTERBITOFFSET,
- CurrentByteOffset + ASL_RESDESC_OFFSET (GenericReg.BitOffset));
- break;
-@@ -127,7 +139,11 @@ RsDoGeneralRegisterDescriptor (
-
- case 4: /* Access Size (ACPI 3.0) */
-
-+ /*
- Descriptor->GenericReg.AccessSize = (UINT8)
InitializerOp->Asl.Value.Integer;
-+ */
-+ ACPI_MOVE_64_TO_8(&Descriptor->GenericReg.AccessSize,
-+ &InitializerOp->Asl.Value.Integer);
- RsCreateByteField (InitializerOp, ACPI_RESTAG_ACCESSSIZE,
- CurrentByteOffset + ASL_RESDESC_OFFSET (GenericReg.AccessSize));
-
-Index: acpica-unix2-20170728/source/compiler/dtfield.c
-===================================================================
---- acpica-unix2-20170728.orig/source/compiler/dtfield.c
-+++ acpica-unix2-20170728/source/compiler/dtfield.c
-@@ -360,7 +360,27 @@ DtCompileInteger (
- DtError (ASL_ERROR, ASL_MSG_INTEGER_SIZE, Field, MsgBuffer);
- }
-
-- memcpy (Buffer, &Value, ByteLength);
-+ switch (ByteLength) {
-+ case 1:
-+ ACPI_MOVE_64_TO_8(Buffer, &Value);
-+ break;
-+
-+ case 2:
-+ ACPI_MOVE_64_TO_16(Buffer, &Value);
-+ break;
-+
-+ case 4:
-+ ACPI_MOVE_64_TO_32(Buffer, &Value);
-+ break;
-+
-+ case 8:
-+ ACPI_MOVE_64_TO_64(Buffer, &Value);
-+ break;
-+
-+ default:
-+ memcpy (Buffer, &Value, ByteLength);
-+ break;
-+ }
- return;
- }
-
-Index: acpica-unix2-20170728/source/compiler/dtsubtable.c
-===================================================================
---- acpica-unix2-20170728.orig/source/compiler/dtsubtable.c
-+++ acpica-unix2-20170728/source/compiler/dtsubtable.c
-@@ -379,6 +379,21 @@ DtSetSubtableLength (
- return;
- }
-
-- memcpy (Subtable->LengthField, &Subtable->TotalLength,
-- Subtable->SizeOfLengthField);
-+ switch(Subtable->SizeOfLengthField) {
-+ case 1:
-+ ACPI_MOVE_32_TO_8(Subtable->LengthField, &Subtable->TotalLength);
-+ break;
-+
-+ case 2:
-+ ACPI_MOVE_32_TO_16(Subtable->LengthField, &Subtable->TotalLength);
-+ break;
-+
-+ case 4:
-+ ACPI_MOVE_32_TO_32(Subtable->LengthField, &Subtable->TotalLength);
-+ break;
-+
-+ default:
-+ memcpy (Subtable->LengthField, &Subtable->TotalLength,
-+ Subtable->SizeOfLengthField);
-+ }
- }
-Index: acpica-unix2-20170728/source/compiler/dttable1.c
-===================================================================
---- acpica-unix2-20170728.orig/source/compiler/dttable1.c
-+++ acpica-unix2-20170728/source/compiler/dttable1.c
-@@ -282,6 +282,8 @@ DtCompileCsrt (
- DT_FIELD **PFieldList = (DT_FIELD **) List;
- UINT32 DescriptorCount;
- UINT32 GroupLength;
-+ ACPI_CSRT_GROUP *Pgrp;
-+ UINT32 Tmp32;
-
-
- /* Subtables (Resource Groups) */
-@@ -300,12 +302,20 @@ DtCompileCsrt (
-
- /* Compute the number of resource descriptors */
-
-+ /*
- GroupLength =
- (ACPI_CAST_PTR (ACPI_CSRT_GROUP,
- Subtable->Buffer))->Length -
- (ACPI_CAST_PTR (ACPI_CSRT_GROUP,
- Subtable->Buffer))->SharedInfoLength -
- sizeof (ACPI_CSRT_GROUP);
-+ */
-+ Pgrp = ACPI_CAST_PTR(ACPI_CSRT_GROUP, Subtable->Buffer);
-+ ACPI_MOVE_32_TO_32(&Tmp32, &Pgrp->Length);
-+ GroupLength = Tmp32;
-+ ACPI_MOVE_32_TO_32(&Tmp32, &Pgrp->SharedInfoLength);
-+ GroupLength -= Tmp32;
-+ GroupLength -= sizeof (ACPI_CSRT_GROUP);
-
- DescriptorCount = (GroupLength /
- sizeof (ACPI_CSRT_DESCRIPTOR));
-@@ -393,6 +403,8 @@ DtCompileDbg2 (
- ACPI_DBG2_DEVICE *DeviceInfo;
- UINT16 CurrentOffset;
- UINT32 i;
-+ UINT16 Tmp16;
-+ UINT32 Tmp32;
-
-
- /* Main table */
-@@ -409,10 +421,11 @@ DtCompileDbg2 (
- /* Main table fields */
-
- Dbg2Header = ACPI_CAST_PTR (ACPI_DBG2_HEADER, Subtable->Buffer);
-- Dbg2Header->InfoOffset = sizeof (ACPI_TABLE_HEADER) + ACPI_PTR_DIFF (
-+ Tmp32 = sizeof (ACPI_TABLE_HEADER) + ACPI_PTR_DIFF (
- ACPI_ADD_PTR (UINT8, Dbg2Header, sizeof (ACPI_DBG2_HEADER)), Dbg2Header);
-+ ACPI_MOVE_32_TO_32(&Dbg2Header->InfoOffset, &Tmp32);
-
-- SubtableCount = Dbg2Header->InfoCount;
-+ ACPI_MOVE_32_TO_32(&SubtableCount, &Dbg2Header->InfoCount);
- DtPushSubtable (Subtable);
-
- /* Process all Device Information subtables (Count = InfoCount) */
-@@ -439,7 +452,7 @@ DtCompileDbg2 (
-
- /* BaseAddressRegister GAS array (Required, size is RegisterCount) */
-
-- DeviceInfo->BaseAddressOffset = CurrentOffset;
-+ ACPI_MOVE_16_TO_16(&DeviceInfo->BaseAddressOffset, &CurrentOffset);
- for (i = 0; *PFieldList && (i < DeviceInfo->RegisterCount); i++)
- {
- Status = DtCompileTable (PFieldList, AcpiDmTableInfoDbg2Addr,
-@@ -455,7 +468,7 @@ DtCompileDbg2 (
-
- /* AddressSize array (Required, size = RegisterCount) */
-
-- DeviceInfo->AddressSizeOffset = CurrentOffset;
-+ ACPI_MOVE_16_TO_16(&DeviceInfo->AddressSizeOffset, &CurrentOffset);
- for (i = 0; *PFieldList && (i < DeviceInfo->RegisterCount); i++)
- {
- Status = DtCompileTable (PFieldList, AcpiDmTableInfoDbg2Size,
-@@ -471,7 +484,7 @@ DtCompileDbg2 (
-
- /* NamespaceString device identifier (Required, size = NamePathLength) */
-
-- DeviceInfo->NamepathOffset = CurrentOffset;
-+ ACPI_MOVE_16_TO_16(&DeviceInfo->NamepathOffset, &CurrentOffset);
- Status = DtCompileTable (PFieldList, AcpiDmTableInfoDbg2Name,
- &Subtable, TRUE);
- if (ACPI_FAILURE (Status))
-@@ -481,8 +494,9 @@ DtCompileDbg2 (
-
- /* Update the device info header */
-
-- DeviceInfo->NamepathLength = (UINT16) Subtable->Length;
-- CurrentOffset += (UINT16) DeviceInfo->NamepathLength;
-+ ACPI_MOVE_32_TO_16(&DeviceInfo->NamepathLength,
&Subtable->Length);
-+ ACPI_MOVE_16_TO_16(&Tmp16, &DeviceInfo->NamepathLength);
-+ CurrentOffset += Tmp16;
- DtInsertSubtable (ParentTable, Subtable);
-
- /* OemData - Variable-length data (Optional, size = OemDataLength) */
-@@ -503,8 +517,8 @@ DtCompileDbg2 (
-
- if (Subtable && Subtable->Length)
- {
-- DeviceInfo->OemDataOffset = CurrentOffset;
-- DeviceInfo->OemDataLength = (UINT16) Subtable->Length;
-+ ACPI_MOVE_16_TO_16(&DeviceInfo->OemDataOffset, &CurrentOffset);
-+ ACPI_MOVE_32_TO_16(&DeviceInfo->OemDataLength,
&Subtable->Length);
-
- DtInsertSubtable (ParentTable, Subtable);
- }
-@@ -544,6 +558,8 @@ DtCompileDmar (
- ACPI_DMAR_DEVICE_SCOPE *DmarDeviceScope;
- UINT32 DeviceScopeLength;
- UINT32 PciPathLength;
-+ UINT16 Tmp16;
-+ UINT16 HdrType;
-
-
- Status = DtCompileTable (PFieldList, AcpiDmTableInfoDmar, &Subtable, TRUE);
-@@ -573,8 +589,11 @@ DtCompileDmar (
- DtPushSubtable (Subtable);
-
- DmarHeader = ACPI_CAST_PTR (ACPI_DMAR_HEADER, Subtable->Buffer);
-+ ACPI_MOVE_16_TO_16(&Tmp16, &DmarHeader->Length);
-+ DmarHeader->Length = Tmp16;
-
-- switch (DmarHeader->Type)
-+ ACPI_MOVE_16_TO_16(&HdrType, &DmarHeader->Type);
-+ switch (HdrType)
- {
- case ACPI_DMAR_TYPE_HARDWARE_UNIT:
-
-@@ -621,8 +640,8 @@ DtCompileDmar (
- /*
- * Optional Device Scope subtables
- */
-- if ((DmarHeader->Type == ACPI_DMAR_TYPE_HARDWARE_AFFINITY) ||
-- (DmarHeader->Type == ACPI_DMAR_TYPE_NAMESPACE))
-+ if ((HdrType == ACPI_DMAR_TYPE_HARDWARE_AFFINITY) ||
-+ (HdrType == ACPI_DMAR_TYPE_NAMESPACE))
- {
- /* These types do not support device scopes */
-
-@@ -631,8 +650,8 @@ DtCompileDmar (
- }
-
- DtPushSubtable (Subtable);
-- DeviceScopeLength = DmarHeader->Length - Subtable->Length -
-- ParentTable->Length;
-+ DeviceScopeLength = DmarHeader->Length - Subtable->Length -
-+ ParentTable->Length;
- while (DeviceScopeLength)
- {
- Status = DtCompileTable (PFieldList, AcpiDmTableInfoDmarScope,
-@@ -757,7 +776,7 @@ DtCompileDrtm (
- Count++;
- }
-
-- DrtmVtl->ValidatedTableCount = Count;
-+ ACPI_MOVE_32_TO_32(&DrtmVtl->ValidatedTableCount, &Count);
- DtPopSubtable ();
- ParentTable = DtPeekSubtable ();
-
-@@ -795,7 +814,7 @@ DtCompileDrtm (
- Count++;
- }
-
-- DrtmRl->ResourceCount = Count;
-+ ACPI_MOVE_32_TO_32(&DrtmRl->ResourceCount, &Count);
- DtPopSubtable ();
- ParentTable = DtPeekSubtable ();
-
-@@ -889,6 +908,7 @@ DtCompileGtdt (
- ACPI_SUBTABLE_HEADER *GtdtHeader;
- ACPI_DMTABLE_INFO *InfoTable;
- UINT32 GtCount;
-+ ACPI_GTDT_TIMER_BLOCK *TimerBlock;
-
-
- Status = DtCompileTable (PFieldList, AcpiDmTableInfoGtdt,
-@@ -955,8 +975,9 @@ DtCompileGtdt (
- DtPushSubtable (Subtable);
- ParentTable = DtPeekSubtable ();
-
-- GtCount = (ACPI_CAST_PTR (ACPI_GTDT_TIMER_BLOCK,
-- Subtable->Buffer - sizeof(ACPI_GTDT_HEADER)))->TimerCount;
-+ TimerBlock = ACPI_CAST_PTR (ACPI_GTDT_TIMER_BLOCK,
-+ Subtable->Buffer - sizeof(ACPI_GTDT_HEADER));
-+ ACPI_MOVE_32_TO_32(&GtCount, &TimerBlock->TimerCount);
-
- while (GtCount)
- {
-@@ -1009,6 +1030,7 @@ DtCompileFpdt (
- ACPI_DMTABLE_INFO *InfoTable;
- DT_FIELD **PFieldList = (DT_FIELD **) List;
- DT_FIELD *SubtableStart;
-+ UINT16 HdrType;
-
-
- while (*PFieldList)
-@@ -1027,7 +1049,8 @@ DtCompileFpdt (
-
- FpdtHeader = ACPI_CAST_PTR (ACPI_FPDT_HEADER, Subtable->Buffer);
-
-- switch (FpdtHeader->Type)
-+ ACPI_MOVE_16_TO_16(&HdrType, &FpdtHeader->Type);
-+ switch (HdrType)
- {
- case ACPI_FPDT_TYPE_BOOT:
-
-@@ -1085,6 +1108,7 @@ DtCompileHest (
- ACPI_DMTABLE_INFO *InfoTable;
- UINT16 Type;
- UINT32 BankCount;
-+ UINT16 Tmp16;
-
-
- Status = DtCompileTable (PFieldList, AcpiDmTableInfoHest,
-@@ -1102,8 +1126,9 @@ DtCompileHest (
- /* Get subtable type */
-
- SubtableStart = *PFieldList;
-- DtCompileInteger ((UINT8 *) &Type, *PFieldList, 2, 0);
-+ DtCompileInteger ((UINT8 *) &Tmp16, *PFieldList, 2, 0);
-
-+ ACPI_MOVE_16_TO_16(&Type, &Tmp16);
- switch (Type)
- {
- case ACPI_HEST_TYPE_IA32_CHECK:
-@@ -1453,11 +1478,13 @@ DtCompileIort (
- ACPI_IORT_SMMU *IortSmmu;
- UINT32 NodeNumber;
- UINT32 NodeLength;
-+ UINT32 NodeOffset;
- UINT32 IdMappingNumber;
- UINT32 ItsNumber;
- UINT32 ContextIrptNumber;
- UINT32 PmuIrptNumber;
- UINT32 PaddingLength;
-+ UINT32 MappingOffset;
-
-
- ParentTable = DtPeekSubtable ();
-@@ -1483,7 +1510,7 @@ DtCompileIort (
- * Optionally allows the generic data types to be used for filling
- * this field.
- */
-- Iort->NodeOffset = sizeof (ACPI_TABLE_IORT);
-+ NodeOffset = sizeof (ACPI_TABLE_IORT);
- Status = DtCompileTable (PFieldList, AcpiDmTableInfoIortPad,
- &Subtable, TRUE);
- if (ACPI_FAILURE (Status))
-@@ -1493,7 +1520,7 @@ DtCompileIort (
- if (Subtable)
- {
- DtInsertSubtable (ParentTable, Subtable);
-- Iort->NodeOffset += Subtable->Length;
-+ NodeOffset += Subtable->Length;
- }
- else
- {
-@@ -1503,8 +1530,9 @@ DtCompileIort (
- {
- return (Status);
- }
-- Iort->NodeOffset += PaddingLength;
-+ NodeOffset += PaddingLength;
- }
-+ ACPI_MOVE_32_TO_32(&Iort->NodeOffset, &NodeOffset);
-
- NodeNumber = 0;
- while (*PFieldList)
-@@ -1558,7 +1586,7 @@ DtCompileIort (
- ItsNumber++;
- }
-
-- IortItsGroup->ItsCount = ItsNumber;
-+ ACPI_MOVE_32_TO_32(&IortItsGroup->ItsCount, &ItsNumber);
- break;
-
- case ACPI_IORT_NODE_NAMED_COMPONENT:
-@@ -1592,15 +1620,16 @@ DtCompileIort (
- }
- else
- {
-- if (NodeLength > IortNode->MappingOffset)
-+ ACPI_MOVE_32_TO_32(&MappingOffset, &IortNode->MappingOffset);
-+ if (NodeLength > MappingOffset)
- {
- return (AE_BAD_DATA);
- }
-
-- if (NodeLength < IortNode->MappingOffset)
-+ if (NodeLength < MappingOffset)
- {
- Status = DtCompilePadding (
-- IortNode->MappingOffset - NodeLength,
-+ MappingOffset - NodeLength,
- &Subtable);
- if (ACPI_FAILURE (Status))
- {
-@@ -1608,7 +1637,8 @@ DtCompileIort (
- }
-
- DtInsertSubtable (ParentTable, Subtable);
-- NodeLength = IortNode->MappingOffset;
-+ ACPI_MOVE_32_TO_32(&MappingOffset, &IortNode->MappingOffset);
-+ NodeLength = MappingOffset;
- }
- }
- break;
-@@ -1641,7 +1671,7 @@ DtCompileIort (
-
- /* Compile global interrupt array */
-
-- IortSmmu->GlobalInterruptOffset = NodeLength;
-+ ACPI_MOVE_32_TO_32(&IortSmmu->GlobalInterruptOffset,
&NodeLength);
- Status = DtCompileTable (PFieldList, AcpiDmTableInfoIort3a,
- &Subtable, TRUE);
- if (ACPI_FAILURE (Status))
-@@ -1655,7 +1685,7 @@ DtCompileIort (
- /* Compile context interrupt array */
-
- ContextIrptNumber = 0;
-- IortSmmu->ContextInterruptOffset = NodeLength;
-+ ACPI_MOVE_32_TO_32(&IortSmmu->ContextInterruptOffset,
&NodeLength);
- while (*PFieldList)
- {
- Status = DtCompileTable (PFieldList, AcpiDmTableInfoIort3b,
-@@ -1675,12 +1705,12 @@ DtCompileIort (
- ContextIrptNumber++;
- }
-
-- IortSmmu->ContextInterruptCount = ContextIrptNumber;
-+ ACPI_MOVE_32_TO_32(&IortSmmu->ContextInterruptCount,
&ContextIrptNumber);
-
- /* Compile PMU interrupt array */
-
- PmuIrptNumber = 0;
-- IortSmmu->PmuInterruptOffset = NodeLength;
-+ ACPI_MOVE_32_TO_32(&IortSmmu->PmuInterruptOffset, &NodeLength);
- while (*PFieldList)
- {
- Status = DtCompileTable (PFieldList, AcpiDmTableInfoIort3c,
-@@ -1700,7 +1730,7 @@ DtCompileIort (
- PmuIrptNumber++;
- }
-
-- IortSmmu->PmuInterruptCount = PmuIrptNumber;
-+ ACPI_MOVE_32_TO_32(&IortSmmu->PmuInterruptCount,
&PmuIrptNumber);
- break;
-
- case ACPI_IORT_NODE_SMMU_V3:
-@@ -1724,7 +1754,7 @@ DtCompileIort (
-
- /* Compile Array of ID mappings */
-
-- IortNode->MappingOffset = NodeLength;
-+ ACPI_MOVE_32_TO_32(&IortNode->MappingOffset, &NodeLength);
- IdMappingNumber = 0;
- while (*PFieldList)
- {
-@@ -1745,7 +1775,7 @@ DtCompileIort (
- IdMappingNumber++;
- }
-
-- IortNode->MappingCount = IdMappingNumber;
-+ ACPI_MOVE_32_TO_32(&IortNode->MappingCount, &IdMappingNumber);
- if (!IdMappingNumber)
- {
- IortNode->MappingOffset = 0;
-@@ -1760,7 +1790,7 @@ DtCompileIort (
- NodeNumber++;
- }
-
-- Iort->NodeCount = NodeNumber;
-+ ACPI_MOVE_32_TO_32(&Iort->NodeCount, &NodeNumber);
- return (AE_OK);
- }
-
-Index: acpica-unix2-20170728/source/compiler/dttable2.c
-===================================================================
---- acpica-unix2-20170728.orig/source/compiler/dttable2.c
-+++ acpica-unix2-20170728/source/compiler/dttable2.c
-@@ -346,7 +346,7 @@ DtCompileMpst (
- DtPushSubtable (Subtable);
-
- MpstChannelInfo = ACPI_CAST_PTR (ACPI_MPST_CHANNEL, Subtable->Buffer);
-- SubtableCount = MpstChannelInfo->PowerNodeCount;
-+ ACPI_MOVE_16_TO_16(&SubtableCount, &MpstChannelInfo->PowerNodeCount);
-
- while (*PFieldList && SubtableCount)
- {
-@@ -364,8 +364,8 @@ DtCompileMpst (
- DtPushSubtable (Subtable);
-
- MpstPowerNode = ACPI_CAST_PTR (ACPI_MPST_POWER_NODE, Subtable->Buffer);
-- PowerStateCount = MpstPowerNode->NumPowerStates;
-- ComponentCount = MpstPowerNode->NumPhysicalComponents;
-+ ACPI_MOVE_32_TO_32(&PowerStateCount,
&MpstPowerNode->NumPowerStates);
-+ ACPI_MOVE_32_TO_32(&ComponentCount,
&MpstPowerNode->NumPhysicalComponents);
-
- ParentTable = DtPeekSubtable ();
-
-@@ -518,6 +518,7 @@ DtCompileNfit (
- UINT32 Count;
- ACPI_NFIT_INTERLEAVE *Interleave = NULL;
- ACPI_NFIT_FLUSH_ADDRESS *Hint = NULL;
-+ UINT16 SubType;
-
-
- /* Main table */
-@@ -551,7 +552,8 @@ DtCompileNfit (
-
- NfitHeader = ACPI_CAST_PTR (ACPI_NFIT_HEADER, Subtable->Buffer);
-
-- switch (NfitHeader->Type)
-+ ACPI_MOVE_16_TO_16(&SubType, &NfitHeader->Type);
-+ switch (SubType)
- {
- case ACPI_NFIT_TYPE_SYSTEM_ADDRESS:
-
-@@ -606,7 +608,7 @@ DtCompileNfit (
- DtInsertSubtable (ParentTable, Subtable);
- DtPopSubtable ();
-
-- switch (NfitHeader->Type)
-+ switch (SubType)
- {
- case ACPI_NFIT_TYPE_INTERLEAVE:
-
-@@ -632,7 +634,7 @@ DtCompileNfit (
- Count++;
- }
-
-- Interleave->LineCount = Count;
-+ ACPI_MOVE_32_TO_32(&Interleave->LineCount, &Count);
- DtPopSubtable ();
- break;
-
-@@ -678,7 +680,7 @@ DtCompileNfit (
- Count++;
- }
-
-- Hint->HintCount = (UINT16) Count;
-+ ACPI_MOVE_32_TO_16(&Hint->HintCount, &Count);
- DtPopSubtable ();
- break;
-
-@@ -895,7 +897,7 @@ DtCompilePmtt (
-
- PmttController = ACPI_CAST_PTR (ACPI_PMTT_CONTROLLER,
- (Subtable->Buffer - sizeof (ACPI_PMTT_HEADER)));
-- DomainCount = PmttController->DomainCount;
-+ ACPI_MOVE_16_TO_16(&DomainCount, &PmttController->DomainCount);
-
- while (DomainCount)
- {
-@@ -1115,6 +1117,7 @@ DtCompileS3pt (
- DT_SUBTABLE *ParentTable;
- ACPI_DMTABLE_INFO *InfoTable;
- DT_FIELD *SubtableStart;
-+ UINT16 HdrType;
-
-
- Status = DtCompileTable (PFieldList, AcpiDmTableInfoS3pt,
-@@ -1142,7 +1145,8 @@ DtCompileS3pt (
-
- S3ptHeader = ACPI_CAST_PTR (ACPI_FPDT_HEADER, Subtable->Buffer);
-
-- switch (S3ptHeader->Type)
-+ ACPI_MOVE_16_TO_16(&HdrType, &S3ptHeader->Type);
-+ switch (HdrType)
- {
- case ACPI_S3PT_TYPE_RESUME:
-
-@@ -1239,6 +1243,7 @@ DtCompileSlit (
- DT_FIELD *FieldList;
- UINT32 Localities;
- UINT8 *LocalityBuffer;
-+ UINT32 Tmp;
-
-
- Status = DtCompileTable (PFieldList, AcpiDmTableInfoSlit,
-@@ -1251,7 +1256,8 @@ DtCompileSlit (
- ParentTable = DtPeekSubtable ();
- DtInsertSubtable (ParentTable, Subtable);
-
-- Localities = *ACPI_CAST_PTR (UINT32, Subtable->Buffer);
-+ Tmp = *ACPI_CAST_PTR (UINT32, Subtable->Buffer);
-+ ACPI_MOVE_32_TO_32(&Localities, &Tmp);
- LocalityBuffer = UtLocalCalloc (Localities);
-
- /* Compile each locality buffer */
-@@ -1445,6 +1451,7 @@ DtCompileTcpa (
- ACPI_TABLE_TCPA_HDR *TcpaHeader;
- DT_SUBTABLE *ParentTable;
- ACPI_STATUS Status;
-+ UINT16 PlatClass;
-
-
- /* Compile the main table */
-@@ -1465,7 +1472,8 @@ DtCompileTcpa (
- */
- TcpaHeader = ACPI_CAST_PTR (ACPI_TABLE_TCPA_HDR, ParentTable->Buffer);
-
-- switch (TcpaHeader->PlatformClass)
-+ ACPI_MOVE_16_TO_16(&PlatClass, &TcpaHeader->PlatformClass);
-+ switch (PlatClass)
- {
- case ACPI_TCPA_CLIENT_TABLE:
-
-@@ -1661,6 +1669,9 @@ DtCompileWpbt (
- ACPI_TABLE_WPBT *Table;
- ACPI_STATUS Status;
- UINT16 Length;
-+ UINT16 Tmp16;
-+ UINT16 *Ptr16;
-+ UINT32 ii;
-
-
- /* Compile the main table */
-@@ -1688,7 +1699,16 @@ DtCompileWpbt (
-
- Length = (UINT16) Subtable->TotalLength;
- Table = ACPI_CAST_PTR (ACPI_TABLE_WPBT, ParentTable->Buffer);
-- Table->ArgumentsLength = Length;
-+ ACPI_MOVE_16_TO_16(&Table->ArgumentsLength, &Length);
-+
-+ /* The arguments are in Unicode, so make sure the byte order is correct */
-+ Ptr16 = (UINT16 *)Subtable->Buffer;
-+ for (ii = 0; ii < Length; ii++)
-+ {
-+ ACPI_MOVE_16_TO_16(&Tmp16, Ptr16);
-+ *Ptr16 = Tmp16;
-+ Ptr16++;
-+ }
-
- ParentTable = DtPeekSubtable ();
- DtInsertSubtable (ParentTable, Subtable);
-Index: acpica-unix2-20170728/source/components/disassembler/dmbuffer.c
-===================================================================
---- acpica-unix2-20170728.orig/source/components/disassembler/dmbuffer.c
-+++ acpica-unix2-20170728/source/components/disassembler/dmbuffer.c
-@@ -204,7 +204,7 @@ AcpiDmByteList (
-
-
- ByteData = Op->Named.Data;
-- ByteCount = (UINT32) Op->Common.Value.Integer;
-+ ByteCount = (UINT32) Op->Common.Value.Size;
-
- /*
- * The byte list belongs to a buffer, and can be produced by either
-@@ -304,7 +304,8 @@ AcpiDmIsUuidBuffer (
- /* Extract the byte list info */
-
- ByteData = NextOp->Named.Data;
-- ByteCount = (UINT32) NextOp->Common.Value.Integer;
-+ /* ByteCount = (UINT32) NextOp->Common.Value.Integer; */
-+ ByteCount = (UINT32) NextOp->Common.Value.Size;
-
- /* Byte count must be exactly 16 */
-
-@@ -424,7 +425,8 @@ AcpiDmIsUnicodeBuffer (
- /* Extract the byte list info */
-
- ByteData = NextOp->Named.Data;
-- ByteCount = (UINT32) NextOp->Common.Value.Integer;
-+ /* ByteCount = (UINT32) NextOp->Common.Value.Integer; */
-+ ByteCount = (UINT32) NextOp->Common.Value.Size;
- WordCount = ACPI_DIV_2 (ByteCount);
-
- /*
-@@ -852,19 +854,22 @@ AcpiDmUnicode (
- UINT32 WordCount;
- UINT32 i;
- int OutputValue;
-+ UINT16 Tmp16;
-
-
- /* Extract the buffer info as a WORD buffer */
-
- WordData = ACPI_CAST_PTR (UINT16, Op->Named.Data);
-- WordCount = ACPI_DIV_2 (((UINT32) Op->Common.Value.Integer));
-+ WordCount = ACPI_DIV_2 (((UINT32) Op->Common.Value.Size));
-
- /* Write every other byte as an ASCII character */
-
- AcpiOsPrintf ("\"");
- for (i = 0; i < (WordCount - 1); i++)
- {
-- OutputValue = (int) WordData[i];
-+ /* OutputValue = (int) WordData[i]; */
-+ ACPI_MOVE_16_TO_16(&Tmp16, &WordData[i]);
-+ OutputValue = (int) Tmp16;
-
- /* Handle values that must be escaped */
-
-@@ -973,16 +978,18 @@ AcpiDmCheckForHardwareId (
- ACPI_PARSE_OBJECT *Op)
- {
- UINT32 Name;
-+ UINT32 TmpName;
- ACPI_PARSE_OBJECT *NextOp;
-
-
- /* Get the NameSegment */
-
-- Name = AcpiPsGetName (Op);
-- if (!Name)
-+ TmpName = AcpiPsGetName (Op);
-+ if (!TmpName)
- {
- return;
- }
-+ ACPI_MOVE_32_TO_32(&Name, &TmpName);
-
- NextOp = AcpiPsGetDepthNext (NULL, Op);
- if (!NextOp)
-Index: acpica-unix2-20170728/source/components/disassembler/dmopcode.c
-===================================================================
---- acpica-unix2-20170728.orig/source/components/disassembler/dmopcode.c
-+++ acpica-unix2-20170728/source/components/disassembler/dmopcode.c
-@@ -244,6 +244,7 @@ AcpiDmPredefinedDescription (
- char *NameString;
- int LastCharIsDigit;
- int LastCharsAreHex;
-+ char TmpName[ACPI_NAME_SIZE + 1];
-
-
- if (!Op)
-@@ -261,7 +262,9 @@ AcpiDmPredefinedDescription (
-
- /* Predefined name must start with an underscore */
-
-- NameString = ACPI_CAST_PTR (char, &Op->Named.Name);
-+ memset(TmpName, 0, ACPI_NAME_SIZE + 1);
-+ ACPI_MOVE_32_TO_32(TmpName, &Op->Named.Name);
-+ NameString = TmpName;
- if (NameString[0] != '_')
- {
- return;
-@@ -880,25 +883,29 @@ AcpiDmDisassembleOneOp (
- AcpiDmNamestring (Op->Common.Value.Name);
- break;
-
-- case AML_INT_NAMEDFIELD_OP:
-+ case AML_INT_NAMEDFIELD_OP: {
-
-- Length = AcpiDmDumpName (Op->Named.Name);
-+ UINT32 TmpName;
-+
-+ ACPI_MOVE_32_TO_32(&TmpName, &Op->Named.Name);
-+ Length = AcpiDmDumpName (TmpName);
-
- AcpiOsPrintf (",");
- ASL_CV_PRINT_ONE_COMMENT (Op, AML_NAMECOMMENT, NULL, 0);
- AcpiOsPrintf ("%*.s %u", (unsigned) (5 - Length), " ",
-- (UINT32) Op->Common.Value.Integer);
-+ (UINT32) Op->Common.Value.Size);
-
- AcpiDmCommaIfFieldMember (Op);
-
-- Info->BitOffset += (UINT32) Op->Common.Value.Integer;
-+ Info->BitOffset += (UINT32) Op->Common.Value.Size;
- break;
-+ }
-
- case AML_INT_RESERVEDFIELD_OP:
-
- /* Offset() -- Must account for previous offsets */
-
-- Offset = (UINT32) Op->Common.Value.Integer;
-+ Offset = Op->Common.Value.Size;
- Info->BitOffset += Offset;
-
- if (Info->BitOffset % 8 == 0)
-Index: acpica-unix2-20170728/source/components/disassembler/dmresrcl2.c
-===================================================================
---- acpica-unix2-20170728.orig/source/components/disassembler/dmresrcl2.c
-+++ acpica-unix2-20170728/source/components/disassembler/dmresrcl2.c
-@@ -191,22 +191,24 @@ AcpiDmGpioCommon (
- char *DeviceName = NULL;
- UINT32 PinCount;
- UINT32 i;
-+ UINT16 Tmp16;
-
-
- /* ResourceSource, ResourceSourceIndex, ResourceType */
-
- AcpiDmIndent (Level + 1);
-- if (Resource->Gpio.ResSourceOffset)
-+ ACPI_MOVE_16_TO_16(&Tmp16, &Resource->Gpio.ResSourceOffset);
-+ if (Tmp16)
- {
-- DeviceName = ACPI_ADD_PTR (char,
-- Resource, Resource->Gpio.ResSourceOffset),
-+ DeviceName = ACPI_ADD_PTR (char, Resource, Tmp16),
- AcpiUtPrintString (DeviceName, ACPI_UINT16_MAX);
- }
-
- AcpiOsPrintf (", ");
- AcpiOsPrintf ("0x%2.2X, ", Resource->Gpio.ResSourceIndex);
-+ ACPI_MOVE_16_TO_16(&Tmp16, &Resource->Gpio.Flags);
- AcpiOsPrintf ("%s, ",
-- AcpiGbl_ConsumeDecode [ACPI_GET_1BIT_FLAG (Resource->Gpio.Flags)]);
-+ AcpiGbl_ConsumeDecode [ACPI_GET_1BIT_FLAG (Tmp16)]);
-
- /* Insert a descriptor name */
-
-@@ -215,15 +217,16 @@ AcpiDmGpioCommon (
-
- /* Dump the vendor data */
-
-- if (Resource->Gpio.VendorOffset)
-+ ACPI_MOVE_16_TO_16(&Tmp16, &Resource->Gpio.VendorOffset);
-+ if (Tmp16)
- {
- AcpiOsPrintf ("\n");
- AcpiDmIndent (Level + 1);
-- VendorData = ACPI_ADD_PTR (UINT8, Resource,
-- Resource->Gpio.VendorOffset);
-+ ACPI_MOVE_16_TO_16(&Tmp16, &Resource->Gpio.VendorOffset);
-+ VendorData = ACPI_ADD_PTR (UINT8, Resource, Tmp16);
-
-- AcpiDmDumpRawDataBuffer (VendorData,
-- Resource->Gpio.VendorLength, Level);
-+ ACPI_MOVE_16_TO_16(&Tmp16, &Resource->Gpio.VendorLength);
-+ AcpiDmDumpRawDataBuffer (VendorData, Tmp16, Level);
- }
-
- AcpiOsPrintf (")\n");
-@@ -233,17 +236,25 @@ AcpiDmGpioCommon (
- AcpiDmIndent (Level + 1);
- AcpiOsPrintf ("{ // Pin list\n");
-
-+ /*
- PinCount = ((UINT32) (Resource->Gpio.ResSourceOffset -
- Resource->Gpio.PinTableOffset)) /
- sizeof (UINT16);
-+ */
-+ ACPI_MOVE_16_TO_16(&Tmp16, &Resource->Gpio.ResSourceOffset);
-+ PinCount = (UINT32) Tmp16;
-+ ACPI_MOVE_16_TO_16(&Tmp16, &Resource->Gpio.PinTableOffset);
-+ PinCount -= (UINT32) Tmp16;
-+ PinCount /= sizeof (UINT16);
-
-- PinList = (UINT16 *) ACPI_ADD_PTR (char, Resource,
-- Resource->Gpio.PinTableOffset);
-+ ACPI_MOVE_16_TO_16(&Tmp16, &Resource->Gpio.PinTableOffset);
-+ PinList = (UINT16 *) ACPI_ADD_PTR (char, Resource, Tmp16);
-
- for (i = 0; i < PinCount; i++)
- {
- AcpiDmIndent (Level + 2);
-- AcpiOsPrintf ("0x%4.4X%s\n", PinList[i],
-+ ACPI_MOVE_16_TO_16(&Tmp16, &PinList[i]);
-+ AcpiOsPrintf ("0x%4.4X%s\n", Tmp16,
- ((i + 1) < PinCount) ? "," : "");
- }
-
-@@ -277,16 +288,18 @@ AcpiDmGpioIntDescriptor (
- UINT32 Length,
- UINT32 Level)
- {
-+ UINT16 Tmp16;
-
- /* Dump the GpioInt-specific portion of the descriptor */
-
- /* EdgeLevel, ActiveLevel, Shared */
-
- AcpiDmIndent (Level);
-+ ACPI_MOVE_16_TO_16(&Tmp16, &Resource->Gpio.IntFlags);
- AcpiOsPrintf ("GpioInt (%s, %s, %s, ",
-- AcpiGbl_HeDecode [ACPI_GET_1BIT_FLAG (Resource->Gpio.IntFlags)],
-- AcpiGbl_LlDecode [ACPI_EXTRACT_2BIT_FLAG (Resource->Gpio.IntFlags, 1)],
-- AcpiGbl_ShrDecode [ACPI_EXTRACT_2BIT_FLAG (Resource->Gpio.IntFlags, 3)]);
-+ AcpiGbl_HeDecode [ACPI_GET_1BIT_FLAG (Tmp16)],
-+ AcpiGbl_LlDecode [ACPI_EXTRACT_2BIT_FLAG (Tmp16, 1)],
-+ AcpiGbl_ShrDecode [ACPI_EXTRACT_2BIT_FLAG (Tmp16, 3)]);
-
- /* PinConfig, DebounceTimeout */
-
-@@ -299,7 +312,8 @@ AcpiDmGpioIntDescriptor (
- {
- AcpiOsPrintf ("0x%2.2X, ", Resource->Gpio.PinConfig);
- }
-- AcpiOsPrintf ("0x%4.4X,\n", Resource->Gpio.DebounceTimeout);
-+ ACPI_MOVE_16_TO_16(&Tmp16, &Resource->Gpio.DebounceTimeout);
-+ AcpiOsPrintf ("0x%4.4X,\n", Tmp16);
-
- /* Dump the GpioInt/GpioIo common portion of the descriptor */
-
-@@ -329,14 +343,16 @@ AcpiDmGpioIoDescriptor (
- UINT32 Length,
- UINT32 Level)
- {
-+ UINT16 Tmp16;
-
- /* Dump the GpioIo-specific portion of the descriptor */
-
- /* Shared, PinConfig */
-
- AcpiDmIndent (Level);
-+ ACPI_MOVE_16_TO_16(&Tmp16, &Resource->Gpio.IntFlags);
- AcpiOsPrintf ("GpioIo (%s, ",
-- AcpiGbl_ShrDecode [ACPI_EXTRACT_2BIT_FLAG (Resource->Gpio.IntFlags, 3)]);
-+ AcpiGbl_ShrDecode [ACPI_EXTRACT_2BIT_FLAG (Tmp16, 3)]);
-
- if (Resource->Gpio.PinConfig <= 3)
- {
-@@ -350,10 +366,13 @@ AcpiDmGpioIoDescriptor (
-
- /* DebounceTimeout, DriveStrength, IoRestriction */
-
-- AcpiOsPrintf ("0x%4.4X, ", Resource->Gpio.DebounceTimeout);
-- AcpiOsPrintf ("0x%4.4X, ", Resource->Gpio.DriveStrength);
-+ ACPI_MOVE_16_TO_16(&Tmp16, &Resource->Gpio.DebounceTimeout);
-+ AcpiOsPrintf ("0x%4.4X, ", Tmp16);
-+ ACPI_MOVE_16_TO_16(&Tmp16, &Resource->Gpio.DriveStrength);
-+ AcpiOsPrintf ("0x%4.4X, ", Tmp16);
-+ ACPI_MOVE_16_TO_16(&Tmp16, &Resource->Gpio.IntFlags);
- AcpiOsPrintf ("%s,\n",
-- AcpiGbl_IorDecode [ACPI_GET_2BIT_FLAG (Resource->Gpio.IntFlags)]);
-+ AcpiGbl_IorDecode [ACPI_GET_2BIT_FLAG (Tmp16)]);
-
- /* Dump the GpioInt/GpioIo common portion of the descriptor */
-
-@@ -533,6 +552,7 @@ AcpiDmDumpSerialBusVendorData (
- {
- UINT8 *VendorData;
- UINT32 VendorLength;
-+ UINT16 Tmp16;
-
-
- /* Get the (optional) vendor data and length */
-@@ -541,8 +561,8 @@ AcpiDmDumpSerialBusVendorData (
- {
- case AML_RESOURCE_I2C_SERIALBUSTYPE:
-
-- VendorLength = Resource->CommonSerialBus.TypeDataLength -
-- AML_RESOURCE_I2C_MIN_DATA_LEN;
-+ ACPI_MOVE_16_TO_16(&Tmp16, &Resource->CommonSerialBus.TypeDataLength);
-+ VendorLength = Tmp16 - AML_RESOURCE_I2C_MIN_DATA_LEN;
-
- VendorData = ACPI_ADD_PTR (UINT8, Resource,
- sizeof (AML_RESOURCE_I2C_SERIALBUS));
-@@ -550,8 +570,8 @@ AcpiDmDumpSerialBusVendorData (
-
- case AML_RESOURCE_SPI_SERIALBUSTYPE:
-
-- VendorLength = Resource->CommonSerialBus.TypeDataLength -
-- AML_RESOURCE_SPI_MIN_DATA_LEN;
-+ ACPI_MOVE_16_TO_16(&Tmp16, &Resource->CommonSerialBus.TypeDataLength);
-+ VendorLength = Tmp16 - AML_RESOURCE_SPI_MIN_DATA_LEN;
-
- VendorData = ACPI_ADD_PTR (UINT8, Resource,
- sizeof (AML_RESOURCE_SPI_SERIALBUS));
-@@ -559,8 +579,8 @@ AcpiDmDumpSerialBusVendorData (
-
- case AML_RESOURCE_UART_SERIALBUSTYPE:
-
-- VendorLength = Resource->CommonSerialBus.TypeDataLength -
-- AML_RESOURCE_UART_MIN_DATA_LEN;
-+ ACPI_MOVE_16_TO_16(&Tmp16, &Resource->CommonSerialBus.TypeDataLength);
-+ VendorLength = Tmp16 - AML_RESOURCE_UART_MIN_DATA_LEN;
-
- VendorData = ACPI_ADD_PTR (UINT8, Resource,
- sizeof (AML_RESOURCE_UART_SERIALBUS));
-@@ -601,15 +621,19 @@ AcpiDmI2cSerialBusDescriptor (
- {
- UINT32 ResourceSourceOffset;
- char *DeviceName;
-+ UINT16 Tmp16;
-+ UINT32 Tmp32;
-
-
- /* SlaveAddress, SlaveMode, ConnectionSpeed, AddressingMode */
-
-+ ACPI_MOVE_16_TO_16(&Tmp16, &Resource->I2cSerialBus.SlaveAddress);
-+ ACPI_MOVE_32_TO_32(&Tmp32, &Resource->I2cSerialBus.ConnectionSpeed);
- AcpiDmIndent (Level);
- AcpiOsPrintf ("I2cSerialBusV2 (0x%4.4X, %s, 0x%8.8X,\n",
-- Resource->I2cSerialBus.SlaveAddress,
-+ Tmp16,
- AcpiGbl_SmDecode [ACPI_GET_1BIT_FLAG (Resource->I2cSerialBus.Flags)],
-- Resource->I2cSerialBus.ConnectionSpeed);
-+ Tmp32);
-
- AcpiDmIndent (Level + 1);
- AcpiOsPrintf ("%s, ",
-@@ -617,8 +641,8 @@ AcpiDmI2cSerialBusDescriptor (
-
- /* ResourceSource is a required field */
-
-- ResourceSourceOffset = sizeof (AML_RESOURCE_COMMON_SERIALBUS) +
-- Resource->CommonSerialBus.TypeDataLength;
-+ ACPI_MOVE_16_TO_16(&Tmp16, &Resource->CommonSerialBus.TypeDataLength);
-+ ResourceSourceOffset = sizeof (AML_RESOURCE_COMMON_SERIALBUS) + Tmp16;
-
- DeviceName = ACPI_ADD_PTR (char, Resource, ResourceSourceOffset);
- AcpiUtPrintString (DeviceName, ACPI_UINT16_MAX);
-Index: acpica-unix2-20170728/source/components/disassembler/dmresrcl.c
-===================================================================
---- acpica-unix2-20170728.orig/source/components/disassembler/dmresrcl.c
-+++ acpica-unix2-20170728/source/components/disassembler/dmresrcl.c
-@@ -141,7 +141,8 @@ AcpiDmMemoryFields (
- UINT32 Level)
- {
- UINT32 i;
--
-+ UINT16 Tmp16;
-+ UINT32 Tmp32;
-
- for (i = 0; i < 4; i++)
- {
-@@ -151,14 +152,14 @@ AcpiDmMemoryFields (
- {
- case 16:
-
-- AcpiDmDumpInteger16 (ACPI_CAST_PTR (UINT16, Source)[i],
-- AcpiDmMemoryNames[i]);
-+ ACPI_MOVE_16_TO_16(&Tmp16, &(ACPI_CAST_PTR (UINT16, Source)[i]));
-+ AcpiDmDumpInteger16 (Tmp16, AcpiDmMemoryNames[i]);
- break;
-
- case 32:
-
-- AcpiDmDumpInteger32 (ACPI_CAST_PTR (UINT32, Source)[i],
-- AcpiDmMemoryNames[i]);
-+ ACPI_MOVE_32_TO_32(&Tmp32, &(ACPI_CAST_PTR (UINT32, Source)[i]));
-+ AcpiDmDumpInteger32 (Tmp32, AcpiDmMemoryNames[i]);
- break;
-
- default:
-@@ -190,7 +191,9 @@ AcpiDmAddressFields (
- UINT32 Level)
- {
- UINT32 i;
--
-+ UINT16 Tmp16;
-+ UINT32 Tmp32;
-+ UINT64 Tmp64;
-
- AcpiOsPrintf ("\n");
-
-@@ -202,20 +205,20 @@ AcpiDmAddressFields (
- {
- case 16:
-
-- AcpiDmDumpInteger16 (ACPI_CAST_PTR (UINT16, Source)[i],
-- AcpiDmAddressNames[i]);
-+ ACPI_MOVE_16_TO_16(&Tmp16, &(ACPI_CAST_PTR (UINT16, Source)[i]));
-+ AcpiDmDumpInteger16 (Tmp16, AcpiDmAddressNames[i]);
- break;
-
- case 32:
-
-- AcpiDmDumpInteger32 (ACPI_CAST_PTR (UINT32, Source)[i],
-- AcpiDmAddressNames[i]);
-+ ACPI_MOVE_32_TO_32(&Tmp32, &(ACPI_CAST_PTR (UINT32, Source)[i]));
-+ AcpiDmDumpInteger32 (Tmp32, AcpiDmAddressNames[i]);
- break;
-
- case 64:
-
-- AcpiDmDumpInteger64 (ACPI_CAST_PTR (UINT64, Source)[i],
-- AcpiDmAddressNames[i]);
-+ ACPI_MOVE_64_TO_64(&Tmp64, &(ACPI_CAST_PTR (UINT64, Source)[i]));
-+ AcpiDmDumpInteger64 (Tmp64, AcpiDmAddressNames[i]);
- break;
-
- default:
-@@ -868,6 +871,7 @@ AcpiDmFixedMemory32Descriptor (
- UINT32 Length,
- UINT32 Level)
- {
-+ UINT32 Tmp;
-
- /* Dump name and read/write flag */
-
-@@ -876,12 +880,12 @@ AcpiDmFixedMemory32Descriptor (
- AcpiGbl_RwDecode [ACPI_GET_1BIT_FLAG (Resource->FixedMemory32.Flags)]);
-
- AcpiDmIndent (Level + 1);
-- AcpiDmDumpInteger32 (Resource->FixedMemory32.Address,
-- "Address Base");
-+ ACPI_MOVE_32_TO_32(&Tmp, &Resource->FixedMemory32.Address);
-+ AcpiDmDumpInteger32 (Tmp, "Address Base");
-
- AcpiDmIndent (Level + 1);
-- AcpiDmDumpInteger32 (Resource->FixedMemory32.AddressLength,
-- "Address Length");
-+ ACPI_MOVE_32_TO_32(&Tmp, &Resource->FixedMemory32.AddressLength);
-+ AcpiDmDumpInteger32 (Tmp, "Address Length");
-
- /* Insert a descriptor name */
-
-@@ -913,6 +917,7 @@ AcpiDmGenericRegisterDescriptor (
- UINT32 Length,
- UINT32 Level)
- {
-+ UINT64 Tmp64;
-
- AcpiDmIndent (Level);
- AcpiOsPrintf ("Register (");
-@@ -926,7 +931,9 @@ AcpiDmGenericRegisterDescriptor (
- AcpiDmDumpInteger8 (Resource->GenericReg.BitOffset, "Bit Offset");
-
- AcpiDmIndent (Level + 1);
-- AcpiDmDumpInteger64 (Resource->GenericReg.Address, "Address");
-+ /* AcpiDmDumpInteger64 (Resource->GenericReg.Address, "Address"); */
-+ ACPI_MOVE_64_TO_64(&Tmp64, &Resource->GenericReg.Address);
-+ AcpiDmDumpInteger64 (Tmp64, "Address");
-
- /* Optional field for ACPI 3.0 */
-
-@@ -972,7 +979,7 @@ AcpiDmInterruptDescriptor (
- UINT32 Level)
- {
- UINT32 i;
--
-+ UINT16 Tmp16;
-
- AcpiDmIndent (Level);
- AcpiOsPrintf ("Interrupt (%s, %s, %s, %s, ",
-@@ -986,10 +993,11 @@ AcpiDmInterruptDescriptor (
- * list. Must compute length based on length of the list. First xrupt
- * is included in the struct (reason for -1 below)
- */
-+ ACPI_MOVE_16_TO_16(&Tmp16, &Resource->ExtendedIrq.ResourceLength);
- AcpiDmResourceSource (Resource,
- sizeof (AML_RESOURCE_EXTENDED_IRQ) +
- ((UINT32) Resource->ExtendedIrq.InterruptCount - 1) * sizeof (UINT32),
-- Resource->ExtendedIrq.ResourceLength);
-+ Tmp16);
-
- /* Insert a descriptor name */
-
-@@ -1002,9 +1010,12 @@ AcpiDmInterruptDescriptor (
- AcpiOsPrintf ("{\n");
- for (i = 0; i < Resource->ExtendedIrq.InterruptCount; i++)
- {
-+ UINT32 Tmp32, Val32;
-+
- AcpiDmIndent (Level + 1);
-- AcpiOsPrintf ("0x%8.8X,\n",
-- (UINT32) Resource->ExtendedIrq.Interrupts[i]);
-+ Val32 = (UINT32) Resource->ExtendedIrq.Interrupts[i];
-+ ACPI_MOVE_32_TO_32(&Tmp32, &Val32);
-+ AcpiOsPrintf ("0x%8.8X,\n", Tmp32);
- }
-
- AcpiDmIndent (Level);
-Index: acpica-unix2-20170728/source/components/disassembler/dmresrcs.c
-===================================================================
---- acpica-unix2-20170728.orig/source/components/disassembler/dmresrcs.c
-+++ acpica-unix2-20170728/source/components/disassembler/dmresrcs.c
-@@ -72,6 +72,7 @@ AcpiDmIrqDescriptor (
- UINT32 Length,
- UINT32 Level)
- {
-+ UINT16 Tmp;
-
- AcpiDmIndent (Level);
- AcpiOsPrintf ("%s (",
-@@ -93,7 +94,8 @@ AcpiDmIrqDescriptor (
- AcpiOsPrintf (")\n");
-
- AcpiDmIndent (Level + 1);
-- AcpiDmBitList (Resource->Irq.IrqMask);
-+ ACPI_MOVE_16_TO_16(&Tmp, &Resource->Irq.IrqMask);
-+ AcpiDmBitList (Tmp);
- }
-
-
-@@ -204,16 +206,19 @@ AcpiDmIoDescriptor (
- UINT32 Length,
- UINT32 Level)
- {
-+ UINT16 Tmp16;
-
- AcpiDmIndent (Level);
- AcpiOsPrintf ("IO (%s,\n",
- AcpiGbl_IoDecode [ACPI_GET_1BIT_FLAG (Resource->Io.Flags)]);
-
- AcpiDmIndent (Level + 1);
-- AcpiDmDumpInteger16 (Resource->Io.Minimum, "Range Minimum");
-+ ACPI_MOVE_16_TO_16(&Tmp16, &Resource->Io.Minimum);
-+ AcpiDmDumpInteger16 (Tmp16, "Range Minimum");
-
- AcpiDmIndent (Level + 1);
-- AcpiDmDumpInteger16 (Resource->Io.Maximum, "Range Maximum");
-+ ACPI_MOVE_16_TO_16(&Tmp16, &Resource->Io.Maximum);
-+ AcpiDmDumpInteger16 (Tmp16, "Range Maximum");
-
- AcpiDmIndent (Level + 1);
- AcpiDmDumpInteger8 (Resource->Io.Alignment, "Alignment");
-@@ -251,12 +256,14 @@ AcpiDmFixedIoDescriptor (
- UINT32 Length,
- UINT32 Level)
- {
-+ UINT16 Tmp16;
-
- AcpiDmIndent (Level);
- AcpiOsPrintf ("FixedIO (\n");
-
- AcpiDmIndent (Level + 1);
-- AcpiDmDumpInteger16 (Resource->FixedIo.Address, "Address");
-+ ACPI_MOVE_16_TO_16(&Tmp16, &Resource->FixedIo.Address);
-+ AcpiDmDumpInteger16 (Tmp16, "Address");
-
- AcpiDmIndent (Level + 1);
- AcpiDmDumpInteger8 (Resource->FixedIo.AddressLength, "Length");
-Index: acpica-unix2-20170728/source/components/dispatcher/dsfield.c
-===================================================================
---- acpica-unix2-20170728.orig/source/components/dispatcher/dsfield.c
-+++ acpica-unix2-20170728/source/components/dispatcher/dsfield.c
-@@ -320,6 +320,7 @@ AcpiDsGetFieldNames (
- ACPI_STATUS Status;
- UINT64 Position;
- ACPI_PARSE_OBJECT *Child;
-+ UINT32 TmpName;
-
-
- ACPI_FUNCTION_TRACE_PTR (DsGetFieldNames, Info);
-@@ -426,10 +427,17 @@ AcpiDsGetFieldNames (
-
- /* Lookup the name, it should already exist */
-
-+ ACPI_MOVE_32_TO_32(&TmpName, &Arg->Named.Name);
-+ Status = AcpiNsLookup (WalkState->ScopeInfo,
-+ (char *) &TmpName, Info->FieldType,
-+ ACPI_IMODE_EXECUTE, ACPI_NS_DONT_OPEN_SCOPE,
-+ WalkState, &Info->FieldNode);
-+ /*
- Status = AcpiNsLookup (WalkState->ScopeInfo,
- (char *) &Arg->Named.Name, Info->FieldType,
- ACPI_IMODE_EXECUTE, ACPI_NS_DONT_OPEN_SCOPE,
- WalkState, &Info->FieldNode);
-+ */
- if (ACPI_FAILURE (Status))
- {
- ACPI_ERROR_NAMESPACE ((char *) &Arg->Named.Name, Status);
-@@ -656,9 +664,17 @@ AcpiDsInitFieldObjects (
- */
- if (Arg->Common.AmlOpcode == AML_INT_NAMEDFIELD_OP)
- {
-+ UINT32 TmpName;
-+
-+ ACPI_MOVE_32_TO_32(&TmpName, &Arg->Named.Name);
-+ Status = AcpiNsLookup (WalkState->ScopeInfo,
-+ (char *) &TmpName, Type, ACPI_IMODE_LOAD_PASS1,
-+ Flags, WalkState, &Node);
-+ /*
- Status = AcpiNsLookup (WalkState->ScopeInfo,
- (char *) &Arg->Named.Name, Type, ACPI_IMODE_LOAD_PASS1,
- Flags, WalkState, &Node);
-+ */
- if (ACPI_FAILURE (Status))
- {
- ACPI_ERROR_NAMESPACE ((char *) &Arg->Named.Name, Status);
-Index: acpica-unix2-20170728/source/components/events/evgpeblk.c
-===================================================================
---- acpica-unix2-20170728.orig/source/components/events/evgpeblk.c
-+++ acpica-unix2-20170728/source/components/events/evgpeblk.c
-@@ -376,6 +376,7 @@ AcpiEvCreateGpeBlock (
- ACPI_STATUS Status;
- ACPI_GPE_BLOCK_INFO *GpeBlock;
- ACPI_GPE_WALK_INFO WalkInfo;
-+ char Name[ACPI_NAME_SIZE + 1];
-
-
- ACPI_FUNCTION_TRACE (EvCreateGpeBlock);
-@@ -396,7 +397,7 @@ AcpiEvCreateGpeBlock (
-
- /* Initialize the new GPE block */
-
-- GpeBlock->Address = Address;
-+ ACPI_MOVE_64_TO_64(&GpeBlock->Address, &Address);
- GpeBlock->SpaceId = SpaceId;
- GpeBlock->Node = GpeDevice;
- GpeBlock->GpeCount = (UINT16) (RegisterCount * ACPI_GPE_REGISTER_WIDTH);
-@@ -445,11 +446,13 @@ AcpiEvCreateGpeBlock (
- (*ReturnGpeBlock) = GpeBlock;
- }
-
-+ memset(&Name, 0, ACPI_NAME_SIZE + 1);
-+ ACPI_MOVE_32_TO_32(&Name, &GpeDevice->Name.Ascii);
- ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INIT,
- " Initialized GPE %02X to %02X [%4.4s] %u regs on interrupt
0x%X%s\n",
- (UINT32) GpeBlock->BlockBaseNumber,
- (UINT32) (GpeBlock->BlockBaseNumber + (GpeBlock->GpeCount - 1)),
-- GpeDevice->Name.Ascii, GpeBlock->RegisterCount, InterruptNumber,
-+ Name, GpeBlock->RegisterCount, InterruptNumber,
- InterruptNumber == AcpiGbl_FADT.SciInterrupt ? " (SCI)" :
""));
-
- /* Update global count of currently available GPEs */
-Index: acpica-unix2-20170728/source/components/hardware/hwregs.c
-===================================================================
---- acpica-unix2-20170728.orig/source/components/hardware/hwregs.c
-+++ acpica-unix2-20170728/source/components/hardware/hwregs.c
-@@ -197,7 +197,7 @@ AcpiHwValidateRegister (
- * Address must not be null. A null address also indicates an optional
- * ACPI register that is not supported, so no error message.
- */
-- ACPI_MOVE_64_TO_64 (Address, &Reg->Address);
-+ *Address = Reg->Address;
- if (!(*Address))
- {
- return (AE_BAD_ADDRESS);
-Index: acpica-unix2-20170728/source/components/hardware/hwvalid.c
-===================================================================
---- acpica-unix2-20170728.orig/source/components/hardware/hwvalid.c
-+++ acpica-unix2-20170728/source/components/hardware/hwvalid.c
-@@ -135,6 +135,8 @@ AcpiHwValidateIoRequest (
- UINT32 ByteWidth;
- ACPI_IO_ADDRESS LastAddress;
- const ACPI_PORT_INFO *PortInfo;
-+ UINT64 Max16;
-+ UINT64 Tmp64;
-
-
- ACPI_FUNCTION_NAME (HwValidateIoRequest);
-@@ -161,7 +163,10 @@ AcpiHwValidateIoRequest (
-
- /* Maximum 16-bit address in I/O space */
-
-- if (LastAddress > ACPI_UINT16_MAX)
-+ Max16 = (UINT64) ACPI_UINT16_MAX;
-+ ACPI_MOVE_64_TO_64(&Tmp64, &Max16);
-+
-+ if ((UINT64)LastAddress > Tmp64)
- {
- ACPI_ERROR ((AE_INFO,
- "Illegal I/O port address/length above 64K: %8.8X%8.8X/0x%X",
-Index: acpica-unix2-20170728/source/components/namespace/nsaccess.c
-===================================================================
---- acpica-unix2-20170728.orig/source/components/namespace/nsaccess.c
-+++ acpica-unix2-20170728/source/components/namespace/nsaccess.c
-@@ -313,6 +313,7 @@ AcpiNsLookup (
- ACPI_OBJECT_TYPE ThisSearchType;
- UINT32 SearchParentFlag = ACPI_NS_SEARCH_PARENT;
- UINT32 LocalFlags;
-+ UINT32 Tmp32;
-
-
- ACPI_FUNCTION_TRACE (NsLookup);
-@@ -702,9 +703,10 @@ AcpiNsLookup (
- {
- /* Complain about a type mismatch */
-
-+ ACPI_MOVE_32_TO_32(&Tmp32, &SimpleName);
- ACPI_WARNING ((AE_INFO,
- "NsLookup: Type mismatch on %4.4s (%s), searching for
(%s)",
-- ACPI_CAST_PTR (char, &SimpleName),
-+ ACPI_CAST_PTR (char, &Tmp32),
- AcpiUtGetTypeName (ThisNode->Type),
- AcpiUtGetTypeName (TypeToCheckFor)));
- }
-Index: acpica-unix2-20170728/source/components/namespace/nsparse.c
-===================================================================
---- acpica-unix2-20170728.orig/source/components/namespace/nsparse.c
-+++ acpica-unix2-20170728/source/components/namespace/nsparse.c
-@@ -196,13 +196,14 @@ AcpiNsOneCompleteParse (
-
- /* Table must consist of at least a complete header */
-
-- if (Table->Length < sizeof (ACPI_TABLE_HEADER))
-+ ACPI_MOVE_32_TO_32(&AmlLength, &Table->Length);
-+ if (AmlLength < sizeof (ACPI_TABLE_HEADER))
- {
- return_ACPI_STATUS (AE_BAD_HEADER);
- }
-
- AmlStart = (UINT8 *) Table + sizeof (ACPI_TABLE_HEADER);
-- AmlLength = Table->Length - sizeof (ACPI_TABLE_HEADER);
-+ AmlLength -= sizeof (ACPI_TABLE_HEADER);
-
- Status = AcpiTbGetOwnerId (TableIndex, &OwnerId);
- if (ACPI_FAILURE (Status))
-Index: acpica-unix2-20170728/source/components/tables/tbdata.c
-===================================================================
---- acpica-unix2-20170728.orig/source/components/tables/tbdata.c
-+++ acpica-unix2-20170728/source/components/tables/tbdata.c
-@@ -552,6 +552,7 @@ AcpiTbVerifyTempTable (
- UINT32 *TableIndex)
- {
- ACPI_STATUS Status = AE_OK;
-+ UINT32 Length;
-
-
- ACPI_FUNCTION_TRACE (TbVerifyTempTable);
-@@ -581,7 +582,8 @@ AcpiTbVerifyTempTable (
- {
- /* Verify the checksum */
-
-- Status = AcpiTbVerifyChecksum (TableDesc->Pointer, TableDesc->Length);
-+ ACPI_MOVE_32_TO_32(&Length, &TableDesc->Length);
-+ Status = AcpiTbVerifyChecksum (TableDesc->Pointer, Length);
- if (ACPI_FAILURE (Status))
- {
- ACPI_EXCEPTION ((AE_INFO, AE_NO_MEMORY,
-Index: acpica-unix2-20170728/source/components/tables/tbfadt.c
-===================================================================
---- acpica-unix2-20170728.orig/source/components/tables/tbfadt.c
-+++ acpica-unix2-20170728/source/components/tables/tbfadt.c
-@@ -520,6 +520,8 @@ AcpiTbConvertFadt (
- UINT8 Length;
- UINT8 Flags;
- UINT32 i;
-+ UINT32 Tmp32;
-+ UINT64 Tmp64;
-
-
- /*
-@@ -533,7 +535,8 @@ AcpiTbConvertFadt (
- * Note: The FADT revision value is unreliable. Only the length can be
- * trusted.
- */
-- if (AcpiGbl_FADT.Header.Length <= ACPI_FADT_V2_SIZE)
-+ ACPI_MOVE_32_TO_32(&Tmp32, &AcpiGbl_FADT.Header.Length);
-+ if (Tmp32 <= ACPI_FADT_V2_SIZE)
- {
- AcpiGbl_FADT.PreferredProfile = 0;
- AcpiGbl_FADT.PstateControl = 0;
-@@ -546,14 +549,15 @@ AcpiTbConvertFadt (
- * current FADT version as defined by the ACPI specification.
- * Thus, we will have a common FADT internally.
- */
-- AcpiGbl_FADT.Header.Length = sizeof (ACPI_TABLE_FADT);
-+ Tmp32 = sizeof (ACPI_TABLE_FADT);
-+ ACPI_MOVE_32_TO_32(&AcpiGbl_FADT.Header.Length, &Tmp32);
-
- /*
- * Expand the 32-bit DSDT addresses to 64-bit as necessary.
- * Later ACPICA code will always use the X 64-bit field.
- */
-- AcpiGbl_FADT.XDsdt = AcpiTbSelectAddress ("DSDT",
-- AcpiGbl_FADT.Dsdt, AcpiGbl_FADT.XDsdt);
-+ Tmp64 = AcpiTbSelectAddress ("DSDT", AcpiGbl_FADT.Dsdt,
AcpiGbl_FADT.XDsdt);
-+ ACPI_MOVE_64_TO_64(&AcpiGbl_FADT.XDsdt, &Tmp64);
-
- /* If Hardware Reduced flag is set, we are all done */
-
-@@ -614,7 +618,9 @@ AcpiTbConvertFadt (
- {
- if (Address64->Address)
- {
-- if (Address64->Address != (UINT64) Address32)
-+ ACPI_MOVE_32_TO_32(&Tmp32, &Address32);
-+ ACPI_MOVE_64_TO_64(&Tmp64, &Address64->Address);
-+ if (Tmp64 != (UINT64) Tmp32)
- {
- /* Address mismatch */
-
-@@ -655,9 +661,11 @@ AcpiTbConvertFadt (
- */
- if (!Address64->Address || AcpiGbl_Use32BitFadtAddresses)
- {
-+ ACPI_MOVE_32_TO_32(&Tmp32, &Address32); /* back to host order */
-+ Tmp64 = (UINT64) Tmp32; /* promote only */
- AcpiTbInitGenericAddress (Address64,
- ACPI_ADR_SPACE_SYSTEM_IO, Length,
-- (UINT64) Address32, Name, Flags);
-+ Tmp64, Name, Flags);
- }
- }
-
-@@ -780,10 +788,14 @@ AcpiTbSetupFadtRegisters (
-
- if (Source64->Address)
- {
-+ UINT64 Tmp64, Addr64;
-+
-+ ACPI_MOVE_64_TO_64(&Tmp64, &Source64->Address);
-+ Tmp64 += (FadtPmInfoTable[i].RegisterNum * Pm1RegisterByteWidth);
-+ ACPI_MOVE_64_TO_64(&Addr64, &Tmp64);
- AcpiTbInitGenericAddress (FadtPmInfoTable[i].Target,
- Source64->SpaceId, Pm1RegisterByteWidth,
-- Source64->Address +
-- (FadtPmInfoTable[i].RegisterNum * Pm1RegisterByteWidth),
-+ Addr64,
- "PmRegisters", 0);
- }
- }
-Index: acpica-unix2-20170728/source/components/tables/tbfind.c
-===================================================================
---- acpica-unix2-20170728.orig/source/components/tables/tbfind.c
-+++ acpica-unix2-20170728/source/components/tables/tbfind.c
-@@ -108,8 +108,11 @@ AcpiTbFindTable (
- (void) AcpiUtAcquireMutex (ACPI_MTX_TABLES);
- for (i = 0; i < AcpiGbl_RootTableList.CurrentTableCount; ++i)
- {
-+ UINT32 Tmp32;
-+
-+ ACPI_MOVE_32_TO_32(&Tmp32, &Header.Signature);
- if (memcmp (&(AcpiGbl_RootTableList.Tables[i].Signature),
-- Header.Signature, ACPI_NAME_SIZE))
-+ &Tmp32, ACPI_NAME_SIZE))
- {
- /* Not the requested table */
-
-Index: acpica-unix2-20170728/source/components/tables/tbprint.c
-===================================================================
---- acpica-unix2-20170728.orig/source/components/tables/tbprint.c
-+++ acpica-unix2-20170728/source/components/tables/tbprint.c
-@@ -143,15 +143,18 @@ AcpiTbPrintTableHeader (
- ACPI_TABLE_HEADER *Header)
- {
- ACPI_TABLE_HEADER LocalHeader;
-+ UINT32 Len;
-+ UINT32 OemRev;
-+ UINT32 CompilerRev;
-
-
- if (ACPI_COMPARE_NAME (Header->Signature, ACPI_SIG_FACS))
- {
- /* FACS only has signature and length fields */
-
-+ ACPI_MOVE_32_TO_32(&Len, &Header->Length);
- ACPI_INFO (("%-4.4s 0x%8.8X%8.8X %06X",
-- Header->Signature, ACPI_FORMAT_UINT64 (Address),
-- Header->Length));
-+ Header->Signature, ACPI_FORMAT_UINT64 (Address), Len));
- }
- else if (ACPI_VALIDATE_RSDP_SIG (Header->Signature))
- {
-@@ -174,13 +177,16 @@ AcpiTbPrintTableHeader (
-
- AcpiTbCleanupTableHeader (&LocalHeader, Header);
-
-+ ACPI_MOVE_32_TO_32(&Len, &LocalHeader.Length);
-+ ACPI_MOVE_32_TO_32(&OemRev, &LocalHeader.OemRevision);
-+ ACPI_MOVE_32_TO_32(&CompilerRev, &LocalHeader.AslCompilerRevision);
- ACPI_INFO ((
- "%-4.4s 0x%8.8X%8.8X"
- " %06X (v%.2d %-6.6s %-8.8s %08X %-4.4s %08X)",
- LocalHeader.Signature, ACPI_FORMAT_UINT64 (Address),
-- LocalHeader.Length, LocalHeader.Revision, LocalHeader.OemId,
-- LocalHeader.OemTableId, LocalHeader.OemRevision,
-- LocalHeader.AslCompilerId, LocalHeader.AslCompilerRevision));
-+ Len, LocalHeader.Revision, LocalHeader.OemId,
-+ LocalHeader.OemTableId, OemRev,
-+ LocalHeader.AslCompilerId, CompilerRev));
- }
- }
-
-Index: acpica-unix2-20170728/source/components/tables/tbutils.c
-===================================================================
---- acpica-unix2-20170728.orig/source/components/tables/tbutils.c
-+++ acpica-unix2-20170728/source/components/tables/tbutils.c
-@@ -238,7 +238,7 @@ AcpiTbGetRootTableEntry (
- * 64-bit platform, XSDT: Move (unaligned) 64-bit to local,
- * return 64-bit
- */
-- ACPI_MOVE_64_TO_64 (&Address64, TableEntry);
-+ Address64 = (UINT64) TableEntry;
-
- #if ACPI_MACHINE_WIDTH == 32
- if (Address64 > ACPI_UINT32_MAX)
-@@ -251,7 +251,8 @@ AcpiTbGetRootTableEntry (
- ACPI_FORMAT_UINT64 (Address64)));
- }
- #endif
-- return ((ACPI_PHYSICAL_ADDRESS) (Address64));
-+ return ((ACPI_PHYSICAL_ADDRESS) (*ACPI_CAST_PTR (
-+ UINT64, Address64)));
- }
- }
-
-@@ -287,6 +288,7 @@ AcpiTbParseRootTable (
- UINT8 *TableEntry;
- ACPI_STATUS Status;
- UINT32 TableIndex;
-+ UINT32 Tmp32;
-
-
- ACPI_FUNCTION_TRACE (TbParseRootTable);
-@@ -345,7 +347,7 @@ AcpiTbParseRootTable (
- * Validate length of the table, and map entire table.
- * Minimum length table must contain at least one entry.
- */
-- Length = Table->Length;
-+ ACPI_MOVE_32_TO_32(&Length, &Table->Length);
- AcpiOsUnmapMemory (Table, sizeof (ACPI_TABLE_HEADER));
-
- if (Length < (sizeof (ACPI_TABLE_HEADER) + TableEntrySize))
-@@ -372,7 +374,7 @@ AcpiTbParseRootTable (
-
- /* Get the number of entries and pointer to first entry */
-
-- TableCount = (UINT32) ((Table->Length - sizeof (ACPI_TABLE_HEADER)) /
-+ TableCount = (UINT32) ((Length - sizeof (ACPI_TABLE_HEADER)) /
- TableEntrySize);
- TableEntry = ACPI_ADD_PTR (UINT8, Table, sizeof (ACPI_TABLE_HEADER));
-
-@@ -394,10 +396,10 @@ AcpiTbParseRootTable (
- Status = AcpiTbInstallStandardTable (Address,
- ACPI_TABLE_ORIGIN_INTERNAL_PHYSICAL, FALSE, TRUE, &TableIndex);
-
-+ ACPI_MOVE_32_TO_32(&Tmp32,
-+ &AcpiGbl_RootTableList.Tables[TableIndex].Signature);
- if (ACPI_SUCCESS (Status) &&
-- ACPI_COMPARE_NAME (
-- &AcpiGbl_RootTableList.Tables[TableIndex].Signature,
-- ACPI_SIG_FADT))
-+ ACPI_COMPARE_NAME (&Tmp32, ACPI_SIG_FADT))
- {
- AcpiGbl_FadtIndex = TableIndex;
- AcpiTbParseFadt ();
-Index: acpica-unix2-20170728/source/components/tables/tbxface.c
-===================================================================
---- acpica-unix2-20170728.orig/source/components/tables/tbxface.c
-+++ acpica-unix2-20170728/source/components/tables/tbxface.c
-@@ -290,8 +290,11 @@ AcpiGetTableHeader (
-
- for (i = 0, j = 0; i < AcpiGbl_RootTableList.CurrentTableCount; i++)
- {
-+ UINT32 Tmp32;
-+
-+ ACPI_MOVE_32_TO_32(&Tmp32, (UINT32 *)Signature);
- if (!ACPI_COMPARE_NAME (
-- &(AcpiGbl_RootTableList.Tables[i].Signature), Signature))
-+ &(AcpiGbl_RootTableList.Tables[i].Signature), &Tmp32))
- {
- continue;
- }
-Index: acpica-unix2-20170728/source/components/tables/tbxfload.c
-===================================================================
---- acpica-unix2-20170728.orig/source/components/tables/tbxfload.c
-+++ acpica-unix2-20170728/source/components/tables/tbxfload.c
-@@ -156,6 +156,7 @@ AcpiTbLoadNamespace (
- ACPI_TABLE_DESC *Table;
- UINT32 TablesLoaded = 0;
- UINT32 TablesFailed = 0;
-+ UINT32 Tmp32;
-
-
- ACPI_FUNCTION_TRACE (TbLoadNamespace);
-@@ -169,8 +170,9 @@ AcpiTbLoadNamespace (
- */
- Table = &AcpiGbl_RootTableList.Tables[AcpiGbl_DsdtIndex];
-
-+ ACPI_MOVE_32_TO_32(&Tmp32, &Table->Signature.Ascii);
- if (!AcpiGbl_RootTableList.CurrentTableCount ||
-- !ACPI_COMPARE_NAME (Table->Signature.Ascii, ACPI_SIG_DSDT) ||
-+ !ACPI_COMPARE_NAME (&Tmp32, ACPI_SIG_DSDT) ||
- ACPI_FAILURE (AcpiTbValidateTable (Table)))
- {
- Status = AE_NO_ACPI_TABLES;
-Index: acpica-unix2-20170728/source/include/acmacros.h
-===================================================================
---- acpica-unix2-20170728.orig/source/include/acmacros.h
-+++ acpica-unix2-20170728/source/include/acmacros.h
-@@ -98,7 +98,9 @@
- ((UINT8 *)(void *)(d))[6] = ((UINT8 *)(void
*)(s))[1];\
- ((UINT8 *)(void *)(d))[7] = ((UINT8 *)(void
*)(s))[0];}
-
--/* 32-bit source, 16/32/64 destination */
-+/* 32-bit source, 8/16/32/64 destination */
-+
-+#define ACPI_MOVE_32_TO_8(d, s) {(( UINT8 *)(void *)(d))[0] = ((UINT8 *)(void
*)(s))[3];}
-
- #define ACPI_MOVE_32_TO_16(d, s) {(( UINT8 *)(void *)(d))[0] = ((UINT8 *)(void
*)(s))[3];\
- (( UINT8 *)(void *)(d))[1] = ((UINT8 *)(void
*)(s))[2];}
-@@ -114,7 +116,9 @@
- ((UINT8 *)(void *)(d))[6] = ((UINT8 *)(void
*)(s))[1];\
- ((UINT8 *)(void *)(d))[7] = ((UINT8 *)(void
*)(s))[0];}
-
--/* 64-bit source, 16/32/64 destination */
-+/* 64-bit source, 8/16/32/64 destination */
-+
-+#define ACPI_MOVE_64_TO_8(d, s) {(( UINT8 *)(void *)(d))[0] = ((UINT8 *)(void
*)(s))[7];}
-
- #define ACPI_MOVE_64_TO_16(d, s) {(( UINT8 *)(void *)(d))[0] = ((UINT8 *)(void
*)(s))[7];\
- (( UINT8 *)(void *)(d))[1] = ((UINT8 *)(void
*)(s))[6];}
-@@ -141,13 +145,16 @@
-
- /* The hardware supports unaligned transfers, just do the little-endian move */
-
--/* 16-bit source, 16/32/64 destination */
-+/* 16-bit source, 8/16/32/64 destination */
-
-+#define ACPI_MOVE_16_TO_8(d, s) *(UINT8 *)(void *)(d) = *(UINT16 *)(void *)(s)
- #define ACPI_MOVE_16_TO_16(d, s) *(UINT16 *)(void *)(d) = *(UINT16 *)(void *)(s)
- #define ACPI_MOVE_16_TO_32(d, s) *(UINT32 *)(void *)(d) = *(UINT16 *)(void *)(s)
- #define ACPI_MOVE_16_TO_64(d, s) *(UINT64 *)(void *)(d) = *(UINT16 *)(void *)(s)
-
--/* 32-bit source, 16/32/64 destination */
-+/* 32-bit source, 8/16/32/64 destination */
-+
-+#define ACPI_MOVE_32_TO_8(d, s) {(( UINT8 *)(void *)(d))[0] = ((UINT8 *)(void
*)(s))[0];}
-
- #define ACPI_MOVE_32_TO_16(d, s) {(( UINT8 *)(void *)(d))[0] = ((UINT8 *)(void
*)(s))[0];\
- (( UINT8 *)(void *)(d))[1] = ((UINT8 *)(void
*)(s))[1];}
-@@ -155,8 +162,9 @@
- #define ACPI_MOVE_32_TO_32(d, s) *(UINT32 *)(void *)(d) = *(UINT32 *)(void *)(s)
- #define ACPI_MOVE_32_TO_64(d, s) *(UINT64 *)(void *)(d) = *(UINT32 *)(void *)(s)
-
--/* 64-bit source, 16/32/64 destination */
-+/* 64-bit source, 8/16/32/64 destination */
-
-+#define ACPI_MOVE_64_TO_8(d, s) ACPI_MOVE_16_TO_8(d, s) /* Truncate to 8 */
- #define ACPI_MOVE_64_TO_16(d, s) ACPI_MOVE_16_TO_16(d, s) /* Truncate to 16
*/
- #define ACPI_MOVE_64_TO_32(d, s) ACPI_MOVE_32_TO_32(d, s) /* Truncate to 32
*/
- #define ACPI_MOVE_64_TO_64(d, s) *(UINT64 *)(void *)(d) = *(UINT64 *)(void *)(s)
-@@ -176,7 +184,9 @@
- #define ACPI_MOVE_16_TO_32(d, s) {(*(UINT32 *)(void *)(d)) = 0;
ACPI_MOVE_16_TO_16(d, s);}
- #define ACPI_MOVE_16_TO_64(d, s) {(*(UINT64 *)(void *)(d)) = 0;
ACPI_MOVE_16_TO_16(d, s);}
-
--/* 32-bit source, 16/32/64 destination */
-+/* 32-bit source, 8/16/32/64 destination */
-+
-+#define ACPI_MOVE_32_TO_8(d, s) ACPI_MOVE_16_TO_8(d, s) /* Truncate to 8 */
-
- #define ACPI_MOVE_32_TO_16(d, s) ACPI_MOVE_16_TO_16(d, s) /* Truncate to 16
*/
-
-Index: acpica-unix2-20170728/source/include/platform/aclinux.h
-===================================================================
---- acpica-unix2-20170728.orig/source/include/platform/aclinux.h
-+++ acpica-unix2-20170728/source/include/platform/aclinux.h
-@@ -226,6 +226,10 @@
- #define __cdecl
- #endif
-
-+#if defined(__PPC64__) || defined(__s390x__)
-+#define ACPI_BIG_ENDIAN
-+#endif
-+
- #endif /* __KERNEL__ */
-
- #endif /* __ACLINUX_H__ */
-Index: acpica-unix2-20170728/source/tools/acpiexec/aetables.c
-===================================================================
---- acpica-unix2-20170728.orig/source/tools/acpiexec/aetables.c
-+++ acpica-unix2-20170728/source/tools/acpiexec/aetables.c
-@@ -146,21 +146,25 @@ AeInitializeTableHeader (
- char *Signature,
- UINT32 Length)
- {
-+ UINT16 Tmp16;
-+ UINT32 Tmp32;
-
- ACPI_MOVE_NAME (Header->Signature, Signature);
-- Header->Length = Length;
-+ ACPI_MOVE_32_TO_32(&Header->Length, &Length);
-
-- Header->OemRevision = 0x1001;
-+ Tmp16 = 0x1001;
-+ ACPI_MOVE_16_TO_16(&Header->OemRevision, &Tmp16);
- strncpy (Header->OemId, "Intel", ACPI_OEM_ID_SIZE);
- strncpy (Header->OemTableId, "AcpiExec", ACPI_OEM_TABLE_ID_SIZE);
- strncpy (Header->AslCompilerId, "INTL", ACPI_NAME_SIZE);
-- Header->AslCompilerRevision = ACPI_CA_VERSION;
-+ Tmp32 = ACPI_CA_VERSION;
-+ ACPI_MOVE_32_TO_32(&Header->AslCompilerRevision, &Tmp32);
-
- /* Set the checksum, must set to zero first */
-
- Header->Checksum = 0;
- Header->Checksum = (UINT8) -AcpiTbChecksum (
-- (void *) Header, Header->Length);
-+ (void *) Header, Length);
- }
-
-
-@@ -188,6 +192,7 @@ AeBuildLocalTables (
- ACPI_NEW_TABLE_DESC *NextTable;
- UINT32 NextIndex;
- ACPI_TABLE_FADT *ExternalFadt = NULL;
-+ UINT32 Tmp32;
-
-
- /*
-@@ -374,6 +379,8 @@ AeBuildLocalTables (
- }
- else
- {
-+ UINT64 Tmp64;
-+
- /*
- * Build a local FADT so we can test the hardware/event init
- */
-@@ -385,34 +392,44 @@ AeBuildLocalTables (
- LocalFADT.Facs = 0;
-
- LocalFADT.XDsdt = DsdtAddress;
-- LocalFADT.XFacs = ACPI_PTR_TO_PHYSADDR (&LocalFACS);
-+ Tmp64 = ACPI_PTR_TO_PHYSADDR (&LocalFACS);
-+ ACPI_MOVE_64_TO_64(&LocalFADT.XFacs, &Tmp64);
-
- /* Miscellaneous FADT fields */
-
- LocalFADT.Gpe0BlockLength = 0x08;
-- LocalFADT.Gpe0Block = 0x00001234;
-+ Tmp32 = 0x00001234;
-+ ACPI_MOVE_32_TO_32(&LocalFADT.Gpe0Block, &Tmp32);
-
- LocalFADT.Gpe1BlockLength = 0x80;
-- LocalFADT.Gpe1Block = 0x00005678;
-+ Tmp32 = 0x00005678;
-+ ACPI_MOVE_32_TO_32(&LocalFADT.Gpe1Block, &Tmp32);
- LocalFADT.Gpe1Base = 100;
-
- LocalFADT.Pm1EventLength = 4;
-- LocalFADT.Pm1aEventBlock = 0x00001aaa;
-- LocalFADT.Pm1bEventBlock = 0x00001bbb;
-+ Tmp32 = 0x00001aaa;
-+ ACPI_MOVE_32_TO_32(&LocalFADT.Pm1aEventBlock, &Tmp32);
-+ Tmp32 = 0x00001bbb;
-+ ACPI_MOVE_32_TO_32(&LocalFADT.Pm1bEventBlock, &Tmp32);
-
- LocalFADT.Pm1ControlLength = 2;
-- LocalFADT.Pm1aControlBlock = 0xB0;
-+ Tmp32 = 0xB0;
-+ ACPI_MOVE_32_TO_32(&LocalFADT.Pm1aControlBlock, &Tmp32);
-
- LocalFADT.PmTimerLength = 4;
-- LocalFADT.PmTimerBlock = 0xA0;
-+ Tmp32 = 0xA0;
-+ ACPI_MOVE_32_TO_32(&LocalFADT.PmTimerBlock, &Tmp32);
-
-- LocalFADT.Pm2ControlBlock = 0xC0;
-+ Tmp32 = 0xC0;
-+ ACPI_MOVE_32_TO_32(&LocalFADT.Pm2ControlBlock, &Tmp32);
- LocalFADT.Pm2ControlLength = 1;
-
- /* Setup one example X-64 GAS field */
-
- LocalFADT.XPm1bEventBlock.SpaceId = ACPI_ADR_SPACE_SYSTEM_IO;
-- LocalFADT.XPm1bEventBlock.Address = LocalFADT.Pm1bEventBlock;
-+ ACPI_MOVE_32_TO_32(&Tmp32, &LocalFADT.Pm1bEventBlock);
-+ Tmp64 = (UINT64)Tmp32;
-+ ACPI_MOVE_64_TO_64(&LocalFADT.XPm1bEventBlock.Address, &Tmp64);
- LocalFADT.XPm1bEventBlock.BitWidth = (UINT8)
- ACPI_MUL_8 (LocalFADT.Pm1EventLength);
- }
-@@ -425,13 +442,17 @@ AeBuildLocalTables (
- memset (&LocalFACS, 0, sizeof (ACPI_TABLE_FACS));
- ACPI_MOVE_NAME (LocalFACS.Signature, ACPI_SIG_FACS);
-
-- LocalFACS.Length = sizeof (ACPI_TABLE_FACS);
-- LocalFACS.GlobalLock = 0x11AA0011;
-+ Tmp32 = sizeof (ACPI_TABLE_FACS);
-+ ACPI_MOVE_32_TO_32(&LocalFACS.Length, &Tmp32);
-+ Tmp32 = 0x11AA0011;
-+ ACPI_MOVE_32_TO_32(&LocalFACS.GlobalLock, &Tmp32);
-
- /* Build the optional local tables */
-
- if (AcpiGbl_LoadTestTables)
- {
-+ UINT32 Tmp32;
-+
- /*
- * Build a fake table [TEST] so that we make sure that the
- * ACPICA core ignores it
-@@ -440,11 +461,12 @@ AeBuildLocalTables (
- ACPI_MOVE_NAME (LocalTEST.Signature, "TEST");
-
- LocalTEST.Revision = 1;
-- LocalTEST.Length = sizeof (ACPI_TABLE_HEADER);
-+ Tmp32 = sizeof (ACPI_TABLE_HEADER);
-+ ACPI_MOVE_32_TO_32(&LocalTEST.Length, &Tmp32);
-
- LocalTEST.Checksum = 0;
- LocalTEST.Checksum = (UINT8) -AcpiTbChecksum (
-- (void *) &LocalTEST, LocalTEST.Length);
-+ (void *) &LocalTEST, Tmp32);
-
- /*
- * Build a fake table with a bad signature [BAD!] so that we make
-@@ -454,11 +476,12 @@ AeBuildLocalTables (
- ACPI_MOVE_NAME (LocalBADTABLE.Signature, "BAD!");
-
- LocalBADTABLE.Revision = 1;
-- LocalBADTABLE.Length = sizeof (ACPI_TABLE_HEADER);
-+ Tmp32 = sizeof (ACPI_TABLE_HEADER);
-+ ACPI_MOVE_32_TO_32(&LocalBADTABLE.Length, &Tmp32);
-
- LocalBADTABLE.Checksum = 0;
- LocalBADTABLE.Checksum = (UINT8) -AcpiTbChecksum (
-- (void *) &LocalBADTABLE, LocalBADTABLE.Length);
-+ (void *) &LocalBADTABLE, Tmp32);
- }
-
- return (AE_OK);
commit 3c1be008357e72d46b619701cc4610a7b8889f46
Author: Al Stone <ahs3(a)redhat.com>
Date: Fri Aug 18 18:28:34 2017 -0600
Fix stupid typo in ppc64le.patch
Signed-off-by: Al Stone <ahs3(a)redhat.com>
diff --git a/ppc64le.patch b/ppc64le.patch
index af03da5..0567ee4 100644
--- a/ppc64le.patch
+++ b/ppc64le.patch
@@ -6,7 +6,7 @@ Index: acpica-unix2-20170728/source/include/platform/aclinux.h
#define __cdecl
#endif
-+#if __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
++#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
#if defined(__PPC64__) || defined(__s390x__)
#define ACPI_BIG_ENDIAN
#endif
commit 10e64345c6f768495fcc20bfa67c1e1156b5de5d
Author: Al Stone <ahs3(a)redhat.com>
Date: Fri Aug 18 18:22:02 2017 -0600
Fix ppc64le patch to detect big-endian properly
Signed-off-by: Al Stone <ahs3(a)redhat.com>
diff --git a/ppc64le.patch b/ppc64le.patch
index d2fa669..af03da5 100644
--- a/ppc64le.patch
+++ b/ppc64le.patch
@@ -6,7 +6,7 @@ Index: acpica-unix2-20170728/source/include/platform/aclinux.h
#define __cdecl
#endif
-+#if defined(__BIG_ENDIAN)
++#if __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
#if defined(__PPC64__) || defined(__s390x__)
#define ACPI_BIG_ENDIAN
#endif
commit 99f1748353feef9a07f3ae5cfd96ec73bb7e3f36
Author: Al Stone <ahs3(a)redhat.com>
Date: Fri Aug 18 17:44:43 2017 -0600
Re-enable full testing for s390x
Signed-off-by: Al Stone <ahs3(a)redhat.com>
diff --git a/acpica-tools.spec b/acpica-tools.spec
index 292ee0e..b79ec9b 100644
--- a/acpica-tools.spec
+++ b/acpica-tools.spec
@@ -138,13 +138,7 @@ cd tests
[ $? -eq 0 ] || exit 1
# misc tests
-#
-# temporarily disable this test case on s390x, at least until the
-# remaining big-endian issues can be resolved; this appears to be
-# a false negative result but only on s390x
-%ifnarch s390x
./run-misc-tests.sh %{buildroot}%{_bindir} %{version}
-%endif
# Template tests
cd templates
@@ -194,6 +188,7 @@ fi
- Completed the big-endian fixes (I think)
- Fix ppc64le.patch that inadvertently broke s390x
- Minor patch refresh
+- Re-enable full %check for s390x
* Mon Aug 14 2017 Al Stone <ahs3(a)redhat.com> - 20170728-2
- Start some long delayed clean-up
commit c045b7cf37ef193f4f668ce3ca837449c702cabd
Author: Al Stone <ahs3(a)redhat.com>
Date: Fri Aug 18 17:32:28 2017 -0600
Finish up the big-endian changes, hopefully
Signed-off-by: Al Stone <ahs3(a)redhat.com>
diff --git a/acpica-tools.spec b/acpica-tools.spec
index 915272a..292ee0e 100644
--- a/acpica-tools.spec
+++ b/acpica-tools.spec
@@ -1,6 +1,6 @@
Name: acpica-tools
Version: 20170728
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: ACPICA tools for the development and debug of ACPI tables
Group: Development/Languages
@@ -190,6 +190,11 @@ fi
%changelog
+* Fri Aug 18 2017 Al Stone <ahs3(a)redhat.com> - 20170728-3
+- Completed the big-endian fixes (I think)
+- Fix ppc64le.patch that inadvertently broke s390x
+- Minor patch refresh
+
* Mon Aug 14 2017 Al Stone <ahs3(a)redhat.com> - 20170728-2
- Start some long delayed clean-up
- Temporarily disable one test section until all the big-endian issues
diff --git a/big-endian.patch b/big-endian.patch
index 483448f..b0988f7 100644
--- a/big-endian.patch
+++ b/big-endian.patch
@@ -1588,7 +1588,7 @@ Index: acpica-unix2-20170728/source/compiler/aslrestype2s.c
===================================================================
--- acpica-unix2-20170728.orig/source/compiler/aslrestype2s.c
+++ acpica-unix2-20170728/source/compiler/aslrestype2s.c
-@@ -340,6 +340,9 @@ RsDoGpioIntDescriptor (
+@@ -340,9 +340,14 @@ RsDoGpioIntDescriptor (
UINT16 VendorLength;
UINT16 InterruptLength;
UINT16 DescriptorSize;
@@ -1598,7 +1598,37 @@ Index: acpica-unix2-20170728/source/compiler/aslrestype2s.c
UINT32 CurrentByteOffset;
UINT32 PinCount = 0;
UINT32 i;
-@@ -396,21 +399,21 @@ RsDoGpioIntDescriptor (
++ UINT16 Tmp16;
++ UINT16 Val16;
+
+
+ InitializerOp = Info->DescriptorTypeOp->Asl.Child;
+@@ -367,7 +372,7 @@ RsDoGpioIntDescriptor (
+ sizeof (AML_RESOURCE_LARGE_HEADER));
+
+ Descriptor = Rnode->Buffer;
+- Descriptor->Gpio.ResourceLength = DescriptorSize;
++ ACPI_MOVE_16_TO_16(&Descriptor->Gpio.ResourceLength, &DescriptorSize);
+ Descriptor->Gpio.DescriptorType = ACPI_RESOURCE_NAME_GPIO;
+ Descriptor->Gpio.RevisionId = AML_RESOURCE_GPIO_REVISION;
+ Descriptor->Gpio.ConnectionType = AML_RESOURCE_GPIO_TYPE_INT;
+@@ -382,11 +387,11 @@ RsDoGpioIntDescriptor (
+
+ /* Setup offsets within the descriptor */
+
+- Descriptor->Gpio.PinTableOffset = (UINT16)
+- ACPI_PTR_DIFF (InterruptList, Descriptor);
++ Tmp16 = (UINT16) ACPI_PTR_DIFF (InterruptList, Descriptor);
++ ACPI_MOVE_16_TO_16(&Descriptor->Gpio.PinTableOffset, &Tmp16);
+
+- Descriptor->Gpio.ResSourceOffset = (UINT16)
+- ACPI_PTR_DIFF (ResourceSource, Descriptor);
++ Tmp16 = (UINT16) ACPI_PTR_DIFF (ResourceSource, Descriptor);
++ ACPI_MOVE_16_TO_16(&Descriptor->Gpio.ResSourceOffset, &Tmp16);
+
+ /* Process all child initialization nodes */
+
+@@ -396,21 +401,21 @@ RsDoGpioIntDescriptor (
{
case 0: /* Interrupt Mode - edge/level [Flag] (_MOD) */
@@ -1623,7 +1653,7 @@ Index: acpica-unix2-20170728/source/compiler/aslrestype2s.c
RsCreateMultiBitField (InitializerOp, ACPI_RESTAG_INTERRUPTSHARE,
CurrentByteOffset + ASL_RESDESC_OFFSET (Gpio.IntFlags), 3, 2);
break;
-@@ -424,7 +427,7 @@ RsDoGpioIntDescriptor (
+@@ -424,7 +429,7 @@ RsDoGpioIntDescriptor (
case 4: /* Debounce Timeout [WORD] (_DBT) */
@@ -1632,7 +1662,7 @@ Index: acpica-unix2-20170728/source/compiler/aslrestype2s.c
RsCreateWordField (InitializerOp, ACPI_RESTAG_DEBOUNCETIME,
CurrentByteOffset + ASL_RESDESC_OFFSET (Gpio.DebounceTimeout));
break;
-@@ -451,7 +454,7 @@ RsDoGpioIntDescriptor (
+@@ -451,7 +456,7 @@ RsDoGpioIntDescriptor (
case 7: /* Resource Usage (consumer/producer) */
@@ -1641,7 +1671,50 @@ Index: acpica-unix2-20170728/source/compiler/aslrestype2s.c
break;
case 8: /* Resource Tag (Descriptor Name) */
-@@ -516,6 +519,10 @@ RsDoGpioIntDescriptor (
+@@ -466,13 +471,14 @@ RsDoGpioIntDescriptor (
+ * This field is required in order to calculate the length
+ * of the ResourceSource at runtime.
+ */
+- Descriptor->Gpio.VendorOffset = (UINT16)
+- ACPI_PTR_DIFF (VendorData, Descriptor);
++ Tmp16 = (UINT16) ACPI_PTR_DIFF (VendorData, Descriptor);
++ ACPI_MOVE_16_TO_16(&Descriptor->Gpio.VendorOffset, &Tmp16);
+
+ if (RsGetVendorData (InitializerOp, VendorData,
+- (CurrentByteOffset + Descriptor->Gpio.VendorOffset)))
++ (CurrentByteOffset + Tmp16)))
+ {
+- Descriptor->Gpio.VendorLength = VendorLength;
++ ACPI_MOVE_16_TO_16(&Descriptor->Gpio.VendorLength,
++ &VendorLength);
+ }
+ break;
+
+@@ -485,7 +491,9 @@ RsDoGpioIntDescriptor (
+ * (implies resource source must immediately follow the pin list.)
+ * Name: _PIN
+ */
+- *InterruptList = (UINT16) InitializerOp->Asl.Value.Integer;
++ Tmp16 = (UINT16) InitializerOp->Asl.Value.Integer;
++ ACPI_MOVE_16_TO_16(&Val16, &Tmp16);
++ *InterruptList = Val16;
+ InterruptList++;
+ PinCount++;
+
+@@ -507,8 +515,10 @@ RsDoGpioIntDescriptor (
+
+ /* Create a named field at the start of the list */
+
+- RsCreateWordField (InitializerOp, ACPI_RESTAG_PIN,
+- CurrentByteOffset + Descriptor->Gpio.PinTableOffset);
++ ACPI_MOVE_16_TO_16(&Tmp16, &Descriptor->Gpio.PinTableOffset);
++ Tmp16 += CurrentByteOffset;
++ ACPI_MOVE_16_TO_16(&Val16, &Tmp16);
++ RsCreateWordField (InitializerOp, ACPI_RESTAG_PIN, Val16);
+ }
+ break;
+ }
+@@ -516,6 +526,10 @@ RsDoGpioIntDescriptor (
InitializerOp = RsCompleteNodeAndGetNext (InitializerOp);
}
@@ -1652,7 +1725,7 @@ Index: acpica-unix2-20170728/source/compiler/aslrestype2s.c
MpSaveGpioInfo (Info->MappingOp, Descriptor,
PinCount, PinList, ResourceSource);
return (Rnode);
-@@ -549,6 +556,10 @@ RsDoGpioIoDescriptor (
+@@ -549,9 +563,15 @@ RsDoGpioIoDescriptor (
UINT16 VendorLength;
UINT16 InterruptLength;
UINT16 DescriptorSize;
@@ -1663,7 +1736,37 @@ Index: acpica-unix2-20170728/source/compiler/aslrestype2s.c
UINT32 CurrentByteOffset;
UINT32 PinCount = 0;
UINT32 i;
-@@ -605,7 +616,7 @@ RsDoGpioIoDescriptor (
++ UINT16 Tmp16;
++ UINT16 Val16;
+
+
+ InitializerOp = Info->DescriptorTypeOp->Asl.Child;
+@@ -577,7 +597,7 @@ RsDoGpioIoDescriptor (
+ sizeof (AML_RESOURCE_LARGE_HEADER));
+
+ Descriptor = Rnode->Buffer;
+- Descriptor->Gpio.ResourceLength = DescriptorSize;
++ ACPI_MOVE_16_TO_16(&Descriptor->Gpio.ResourceLength, &DescriptorSize);
+ Descriptor->Gpio.DescriptorType = ACPI_RESOURCE_NAME_GPIO;
+ Descriptor->Gpio.RevisionId = AML_RESOURCE_GPIO_REVISION;
+ Descriptor->Gpio.ConnectionType = AML_RESOURCE_GPIO_TYPE_IO;
+@@ -591,11 +611,11 @@ RsDoGpioIoDescriptor (
+
+ /* Setup offsets within the descriptor */
+
+- Descriptor->Gpio.PinTableOffset = (UINT16)
+- ACPI_PTR_DIFF (InterruptList, Descriptor);
++ Tmp16 = (UINT16) ACPI_PTR_DIFF (InterruptList, Descriptor);
++ ACPI_MOVE_16_TO_16(&Descriptor->Gpio.PinTableOffset, &Tmp16);
+
+- Descriptor->Gpio.ResSourceOffset = (UINT16)
+- ACPI_PTR_DIFF (ResourceSource, Descriptor);
++ Tmp16 = (UINT16) ACPI_PTR_DIFF (ResourceSource, Descriptor);
++ ACPI_MOVE_16_TO_16(&Descriptor->Gpio.ResSourceOffset, &Tmp16);
+
+ /* Process all child initialization nodes */
+
+@@ -605,7 +625,7 @@ RsDoGpioIoDescriptor (
{
case 0: /* Share Type [Flags] (_SHR) */
@@ -1672,7 +1775,7 @@ Index: acpica-unix2-20170728/source/compiler/aslrestype2s.c
RsCreateBitField (InitializerOp, ACPI_RESTAG_INTERRUPTSHARE,
CurrentByteOffset + ASL_RESDESC_OFFSET (Gpio.IntFlags), 3);
break;
-@@ -619,21 +630,21 @@ RsDoGpioIoDescriptor (
+@@ -619,21 +639,21 @@ RsDoGpioIoDescriptor (
case 2: /* Debounce Timeout [WORD] (_DBT) */
@@ -1697,7 +1800,7 @@ Index: acpica-unix2-20170728/source/compiler/aslrestype2s.c
RsCreateMultiBitField (InitializerOp, ACPI_RESTAG_IORESTRICTION,
CurrentByteOffset + ASL_RESDESC_OFFSET (Gpio.IntFlags), 0, 2);
break;
-@@ -659,7 +670,7 @@ RsDoGpioIoDescriptor (
+@@ -659,7 +679,7 @@ RsDoGpioIoDescriptor (
case 7: /* Resource Usage (consumer/producer) */
@@ -1706,7 +1809,36 @@ Index: acpica-unix2-20170728/source/compiler/aslrestype2s.c
break;
case 8: /* Resource Tag (Descriptor Name) */
-@@ -723,6 +734,11 @@ RsDoGpioIoDescriptor (
+@@ -673,13 +693,14 @@ RsDoGpioIoDescriptor (
+ * This field is required in order to calculate the length
+ * of the ResourceSource at runtime.
+ */
+- Descriptor->Gpio.VendorOffset = (UINT16)
+- ACPI_PTR_DIFF (VendorData, Descriptor);
++ Tmp16 = (UINT16) ACPI_PTR_DIFF (VendorData, Descriptor);
++ ACPI_MOVE_16_TO_16(&Descriptor->Gpio.VendorOffset, &Tmp16);
+
+ if (RsGetVendorData (InitializerOp, VendorData,
+ (CurrentByteOffset + Descriptor->Gpio.VendorOffset)))
+ {
+- Descriptor->Gpio.VendorLength = VendorLength;
++ ACPI_MOVE_16_TO_16(&Descriptor->Gpio.VendorLength,
++ &VendorLength);
+ }
+ break;
+
+@@ -692,7 +713,9 @@ RsDoGpioIoDescriptor (
+ * (implies resource source must immediately follow the pin list.)
+ * Name: _PIN
+ */
+- *InterruptList = (UINT16) InitializerOp->Asl.Value.Integer;
++ Tmp16 = (UINT16) InitializerOp->Asl.Value.Integer;
++ ACPI_MOVE_16_TO_16(&Val16, &Tmp16);
++ *InterruptList = Val16;
+ InterruptList++;
+ PinCount++;
+
+@@ -723,6 +746,11 @@ RsDoGpioIoDescriptor (
InitializerOp = RsCompleteNodeAndGetNext (InitializerOp);
}
@@ -1718,7 +1850,7 @@ Index: acpica-unix2-20170728/source/compiler/aslrestype2s.c
MpSaveGpioInfo (Info->MappingOp, Descriptor,
PinCount, PinList, ResourceSource);
return (Rnode);
-@@ -753,6 +769,9 @@ RsDoI2cSerialBusDescriptor (
+@@ -753,8 +781,12 @@ RsDoI2cSerialBusDescriptor (
UINT16 ResSourceLength;
UINT16 VendorLength;
UINT16 DescriptorSize;
@@ -1727,8 +1859,28 @@ Index: acpica-unix2-20170728/source/compiler/aslrestype2s.c
+ UINT16 TypeSpecificFlags = 0;
UINT32 CurrentByteOffset;
UINT32 i;
++ UINT16 Tmp16;
+
+
+ InitializerOp = Info->DescriptorTypeOp->Asl.Child;
+@@ -777,12 +809,14 @@ RsDoI2cSerialBusDescriptor (
+ sizeof (AML_RESOURCE_LARGE_HEADER));
-@@ -802,7 +821,7 @@ RsDoI2cSerialBusDescriptor (
+ Descriptor = Rnode->Buffer;
+- Descriptor->I2cSerialBus.ResourceLength = DescriptorSize;
++ ACPI_MOVE_16_TO_16(&Descriptor->I2cSerialBus.ResourceLength,
++ &DescriptorSize);
+ Descriptor->I2cSerialBus.DescriptorType = ACPI_RESOURCE_NAME_SERIAL_BUS;
+ Descriptor->I2cSerialBus.RevisionId = AML_RESOURCE_I2C_REVISION;
+ Descriptor->I2cSerialBus.TypeRevisionId = AML_RESOURCE_I2C_TYPE_REVISION;
+ Descriptor->I2cSerialBus.Type = AML_RESOURCE_I2C_SERIALBUSTYPE;
+- Descriptor->I2cSerialBus.TypeDataLength = AML_RESOURCE_I2C_MIN_DATA_LEN +
VendorLength;
++ Tmp16 = AML_RESOURCE_I2C_MIN_DATA_LEN + VendorLength;
++ ACPI_MOVE_16_TO_16(&Descriptor->I2cSerialBus.TypeDataLength, &Tmp16);
+
+ if (Info->DescriptorTypeOp->Asl.ParseOpcode == PARSEOP_I2C_SERIALBUS_V2)
+ {
+@@ -802,7 +836,7 @@ RsDoI2cSerialBusDescriptor (
{
case 0: /* Slave Address [WORD] (_ADR) */
@@ -1737,7 +1889,7 @@ Index: acpica-unix2-20170728/source/compiler/aslrestype2s.c
RsCreateWordField (InitializerOp, ACPI_RESTAG_ADDRESS,
CurrentByteOffset + ASL_RESDESC_OFFSET (I2cSerialBus.SlaveAddress));
break;
-@@ -816,14 +835,14 @@ RsDoI2cSerialBusDescriptor (
+@@ -816,14 +850,14 @@ RsDoI2cSerialBusDescriptor (
case 2: /* Connection Speed [DWORD] (_SPE) */
@@ -1754,7 +1906,7 @@ Index: acpica-unix2-20170728/source/compiler/aslrestype2s.c
RsCreateBitField (InitializerOp, ACPI_RESTAG_MODE,
CurrentByteOffset + ASL_RESDESC_OFFSET (I2cSerialBus.TypeSpecificFlags),
0);
break;
-@@ -883,6 +902,9 @@ RsDoI2cSerialBusDescriptor (
+@@ -883,6 +917,9 @@ RsDoI2cSerialBusDescriptor (
InitializerOp = RsCompleteNodeAndGetNext (InitializerOp);
}
@@ -1764,7 +1916,7 @@ Index: acpica-unix2-20170728/source/compiler/aslrestype2s.c
MpSaveSerialInfo (Info->MappingOp, Descriptor, ResourceSource);
return (Rnode);
}
-@@ -912,6 +934,9 @@ RsDoSpiSerialBusDescriptor (
+@@ -912,6 +949,9 @@ RsDoSpiSerialBusDescriptor (
UINT16 ResSourceLength;
UINT16 VendorLength;
UINT16 DescriptorSize;
@@ -1774,7 +1926,7 @@ Index: acpica-unix2-20170728/source/compiler/aslrestype2s.c
UINT32 CurrentByteOffset;
UINT32 i;
-@@ -962,21 +987,21 @@ RsDoSpiSerialBusDescriptor (
+@@ -962,21 +1002,21 @@ RsDoSpiSerialBusDescriptor (
{
case 0: /* Device Selection [WORD] (_ADR) */
@@ -1799,7 +1951,7 @@ Index: acpica-unix2-20170728/source/compiler/aslrestype2s.c
RsCreateBitField (InitializerOp, ACPI_RESTAG_MODE,
CurrentByteOffset + ASL_RESDESC_OFFSET (SpiSerialBus.TypeSpecificFlags),
0);
break;
-@@ -997,7 +1022,7 @@ RsDoSpiSerialBusDescriptor (
+@@ -997,7 +1037,7 @@ RsDoSpiSerialBusDescriptor (
case 5: /* Connection Speed [DWORD] (_SPE) */
@@ -1808,7 +1960,7 @@ Index: acpica-unix2-20170728/source/compiler/aslrestype2s.c
RsCreateDwordField (InitializerOp, ACPI_RESTAG_SPEED,
CurrentByteOffset + ASL_RESDESC_OFFSET (SpiSerialBus.ConnectionSpeed));
break;
-@@ -1071,6 +1096,10 @@ RsDoSpiSerialBusDescriptor (
+@@ -1071,6 +1111,10 @@ RsDoSpiSerialBusDescriptor (
InitializerOp = RsCompleteNodeAndGetNext (InitializerOp);
}
@@ -1819,7 +1971,7 @@ Index: acpica-unix2-20170728/source/compiler/aslrestype2s.c
MpSaveSerialInfo (Info->MappingOp, Descriptor, ResourceSource);
return (Rnode);
}
-@@ -1100,6 +1129,10 @@ RsDoUartSerialBusDescriptor (
+@@ -1100,6 +1144,10 @@ RsDoUartSerialBusDescriptor (
UINT16 ResSourceLength;
UINT16 VendorLength;
UINT16 DescriptorSize;
@@ -1830,7 +1982,7 @@ Index: acpica-unix2-20170728/source/compiler/aslrestype2s.c
UINT32 CurrentByteOffset;
UINT32 i;
-@@ -1149,21 +1182,21 @@ RsDoUartSerialBusDescriptor (
+@@ -1149,21 +1197,21 @@ RsDoUartSerialBusDescriptor (
{
case 0: /* Connection Speed (Baud Rate) [DWORD] (_SPE) */
@@ -1855,7 +2007,7 @@ Index: acpica-unix2-20170728/source/compiler/aslrestype2s.c
RsCreateMultiBitField (InitializerOp, ACPI_RESTAG_STOPBITS,
CurrentByteOffset + ASL_RESDESC_OFFSET
(UartSerialBus.TypeSpecificFlags), 2, 2);
break;
-@@ -1177,7 +1210,7 @@ RsDoUartSerialBusDescriptor (
+@@ -1177,7 +1225,7 @@ RsDoUartSerialBusDescriptor (
case 4: /* Endianness [Flag] (_END) */
@@ -1864,7 +2016,7 @@ Index: acpica-unix2-20170728/source/compiler/aslrestype2s.c
RsCreateBitField (InitializerOp, ACPI_RESTAG_ENDIANNESS,
CurrentByteOffset + ASL_RESDESC_OFFSET
(UartSerialBus.TypeSpecificFlags), 7);
break;
-@@ -1191,21 +1224,21 @@ RsDoUartSerialBusDescriptor (
+@@ -1191,21 +1239,21 @@ RsDoUartSerialBusDescriptor (
case 6: /* Flow Control [Flags] (_FLC) */
@@ -1889,7 +2041,7 @@ Index: acpica-unix2-20170728/source/compiler/aslrestype2s.c
RsCreateWordField (InitializerOp, ACPI_RESTAG_LENGTH_TX,
CurrentByteOffset + ASL_RESDESC_OFFSET (UartSerialBus.TxFifoSize));
break;
-@@ -1275,6 +1308,11 @@ RsDoUartSerialBusDescriptor (
+@@ -1275,6 +1323,11 @@ RsDoUartSerialBusDescriptor (
InitializerOp = RsCompleteNodeAndGetNext (InitializerOp);
}
@@ -2724,7 +2876,115 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
Offset += sizeof (UINT64);
}
}
-@@ -524,17 +532,21 @@ AcpiDmDumpAsf (
+@@ -358,12 +366,12 @@ AcpiDmDumpFadt (
+ ACPI_TABLE_HEADER *Table)
+ {
+ ACPI_STATUS Status;
+-
++ UINT32 Length;
+
+ /* Always dump the minimum FADT revision 1 fields (ACPI 1.0) */
+
+- Status = AcpiDmDumpTable (Table->Length, 0, Table, 0,
+- AcpiDmTableInfoFadt1);
++ ACPI_MOVE_32_TO_32(&Length, &Table->Length);
++ Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoFadt1);
+ if (ACPI_FAILURE (Status))
+ {
+ return;
+@@ -371,11 +379,9 @@ AcpiDmDumpFadt (
+
+ /* Check for FADT revision 2 fields (ACPI 1.0B MS extensions) */
+
+- if ((Table->Length > ACPI_FADT_V1_SIZE) &&
+- (Table->Length <= ACPI_FADT_V2_SIZE))
++ if ((Length > ACPI_FADT_V1_SIZE) && (Length <= ACPI_FADT_V2_SIZE))
+ {
+- Status = AcpiDmDumpTable (Table->Length, 0, Table, 0,
+- AcpiDmTableInfoFadt2);
++ Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoFadt2);
+ if (ACPI_FAILURE (Status))
+ {
+ return;
+@@ -384,10 +390,9 @@ AcpiDmDumpFadt (
+
+ /* Check for FADT revision 3/4 fields and up (ACPI 2.0+ extended data) */
+
+- else if (Table->Length > ACPI_FADT_V2_SIZE)
++ else if (Length > ACPI_FADT_V2_SIZE)
+ {
+- Status = AcpiDmDumpTable (Table->Length, 0, Table, 0,
+- AcpiDmTableInfoFadt3);
++ Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoFadt3);
+ if (ACPI_FAILURE (Status))
+ {
+ return;
+@@ -395,9 +400,9 @@ AcpiDmDumpFadt (
+
+ /* Check for FADT revision 5 fields and up (ACPI 5.0+) */
+
+- if (Table->Length > ACPI_FADT_V3_SIZE)
++ if (Length > ACPI_FADT_V3_SIZE)
+ {
+- Status = AcpiDmDumpTable (Table->Length, 0, Table, 0,
++ Status = AcpiDmDumpTable (Length, 0, Table, 0,
+ AcpiDmTableInfoFadt5);
+ if (ACPI_FAILURE (Status))
+ {
+@@ -407,9 +412,9 @@ AcpiDmDumpFadt (
+
+ /* Check for FADT revision 6 fields and up (ACPI 6.0+) */
+
+- if (Table->Length > ACPI_FADT_V3_SIZE)
++ if (Length > ACPI_FADT_V3_SIZE)
+ {
+- Status = AcpiDmDumpTable (Table->Length, 0, Table, 0,
++ Status = AcpiDmDumpTable (Length, 0, Table, 0,
+ AcpiDmTableInfoFadt6);
+ if (ACPI_FAILURE (Status))
+ {
+@@ -420,11 +425,11 @@ AcpiDmDumpFadt (
+
+ /* Validate various fields in the FADT, including length */
+
+- AcpiTbCreateLocalFadt (Table, Table->Length);
++ AcpiTbCreateLocalFadt (Table, Length);
+
+ /* Validate FADT length against the revision */
+
+- AcpiDmValidateFadtLength (Table->Revision, Table->Length);
++ AcpiDmValidateFadtLength (Table->Revision, Length);
+ }
+
+
+@@ -450,6 +455,7 @@ AcpiDmValidateFadtLength (
+ UINT32 Length)
+ {
+ UINT32 ExpectedLength;
++ UINT32 Tmp32;
+
+
+ switch (Revision)
+@@ -485,7 +491,8 @@ AcpiDmValidateFadtLength (
+ return;
+ }
+
+- if (Length == ExpectedLength)
++ ACPI_MOVE_32_TO_32(&Tmp32, &Length);
++ if (Tmp32 == ExpectedLength)
+ {
+ return;
+ }
+@@ -493,7 +500,7 @@ AcpiDmValidateFadtLength (
+ AcpiOsPrintf (
+ "\n// ACPI Warning: FADT revision %X does not match length: "
+ "found %X expected %X\n",
+- Revision, Length, ExpectedLength);
++ Revision, Tmp32, ExpectedLength);
+ }
+
+
+@@ -524,17 +531,21 @@ AcpiDmDumpAsf (
UINT32 DataOffset = 0;
UINT32 i;
UINT8 Type;
@@ -2749,7 +3009,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
if (ACPI_FAILURE (Status))
{
return;
-@@ -591,8 +603,7 @@ AcpiDmDumpAsf (
+@@ -591,8 +602,7 @@ AcpiDmDumpAsf (
return;
}
@@ -2759,7 +3019,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
if (ACPI_FAILURE (Status))
{
return;
-@@ -608,7 +619,7 @@ AcpiDmDumpAsf (
+@@ -608,7 +618,7 @@ AcpiDmDumpAsf (
for (i = 0; i < DataCount; i++)
{
AcpiOsPrintf ("\n");
@@ -2768,7 +3028,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
DataTable, DataLength, DataInfoTable);
if (ACPI_FAILURE (Status))
{
-@@ -654,15 +665,14 @@ AcpiDmDumpAsf (
+@@ -654,15 +664,14 @@ AcpiDmDumpAsf (
/* Point to next subtable */
@@ -2787,7 +3047,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
}
}
-@@ -686,12 +696,13 @@ AcpiDmDumpCpep (
+@@ -686,12 +695,13 @@ AcpiDmDumpCpep (
{
ACPI_STATUS Status;
ACPI_CPEP_POLLING *SubTable;
@@ -2802,7 +3062,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoCpep);
if (ACPI_FAILURE (Status))
{
-@@ -701,7 +712,7 @@ AcpiDmDumpCpep (
+@@ -701,7 +711,7 @@ AcpiDmDumpCpep (
/* Subtables */
SubTable = ACPI_ADD_PTR (ACPI_CPEP_POLLING, Table, Offset);
@@ -2811,7 +3071,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
{
AcpiOsPrintf ("\n");
Status = AcpiDmDumpTable (Length, Offset, SubTable,
-@@ -741,7 +752,10 @@ AcpiDmDumpCsrt (
+@@ -741,7 +751,10 @@ AcpiDmDumpCsrt (
ACPI_CSRT_GROUP *SubTable;
ACPI_CSRT_SHARED_INFO *SharedInfoTable;
ACPI_CSRT_DESCRIPTOR *SubSubTable;
@@ -2823,7 +3083,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
UINT32 Offset = sizeof (ACPI_TABLE_CSRT);
UINT32 SubOffset;
UINT32 SubSubOffset;
-@@ -752,14 +766,16 @@ AcpiDmDumpCsrt (
+@@ -752,14 +765,16 @@ AcpiDmDumpCsrt (
/* Subtables (Resource Groups) */
@@ -2842,7 +3102,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
if (ACPI_FAILURE (Status))
{
return;
-@@ -779,19 +795,20 @@ AcpiDmDumpCsrt (
+@@ -779,19 +794,20 @@ AcpiDmDumpCsrt (
return;
}
@@ -2867,7 +3127,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
if (ACPI_FAILURE (Status))
{
return;
-@@ -801,7 +818,7 @@ AcpiDmDumpCsrt (
+@@ -801,7 +817,7 @@ AcpiDmDumpCsrt (
/* Resource-specific info buffer */
@@ -2876,7 +3136,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
if (InfoLength)
{
Status = AcpiDmDumpTable (Length,
-@@ -816,16 +833,15 @@ AcpiDmDumpCsrt (
+@@ -816,16 +832,15 @@ AcpiDmDumpCsrt (
/* Point to next sub-subtable */
@@ -2897,7 +3157,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
}
}
-@@ -849,16 +865,20 @@ AcpiDmDumpDbg2 (
+@@ -849,16 +864,20 @@ AcpiDmDumpDbg2 (
{
ACPI_STATUS Status;
ACPI_DBG2_DEVICE *SubTable;
@@ -2919,7 +3179,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoDbg2);
if (ACPI_FAILURE (Status))
{
-@@ -868,11 +888,12 @@ AcpiDmDumpDbg2 (
+@@ -868,11 +887,12 @@ AcpiDmDumpDbg2 (
/* Subtables */
SubTable = ACPI_ADD_PTR (ACPI_DBG2_DEVICE, Table, Offset);
@@ -2934,7 +3194,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
if (ACPI_FAILURE (Status))
{
return;
-@@ -882,13 +903,13 @@ AcpiDmDumpDbg2 (
+@@ -882,13 +902,13 @@ AcpiDmDumpDbg2 (
for (i = 0; i < SubTable->RegisterCount; i++)
{
@@ -2951,7 +3211,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
if (ACPI_FAILURE (Status))
{
return;
-@@ -899,13 +920,13 @@ AcpiDmDumpDbg2 (
+@@ -899,13 +919,13 @@ AcpiDmDumpDbg2 (
for (i = 0; i < SubTable->RegisterCount; i++)
{
@@ -2968,7 +3228,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
if (ACPI_FAILURE (Status))
{
return;
-@@ -915,12 +936,13 @@ AcpiDmDumpDbg2 (
+@@ -915,12 +935,13 @@ AcpiDmDumpDbg2 (
/* Dump the Namestring (required) */
AcpiOsPrintf ("\n");
@@ -2984,7 +3244,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
if (ACPI_FAILURE (Status))
{
return;
-@@ -930,9 +952,10 @@ AcpiDmDumpDbg2 (
+@@ -930,9 +951,10 @@ AcpiDmDumpDbg2 (
if (SubTable->OemDataOffset)
{
@@ -2998,7 +3258,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
if (ACPI_FAILURE (Status))
{
return;
-@@ -941,9 +964,9 @@ AcpiDmDumpDbg2 (
+@@ -941,9 +963,9 @@ AcpiDmDumpDbg2 (
/* Point to next subtable */
@@ -3010,7 +3270,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
}
}
-@@ -967,17 +990,20 @@ AcpiDmDumpDmar (
+@@ -967,17 +989,20 @@ AcpiDmDumpDmar (
{
ACPI_STATUS Status;
ACPI_DMAR_HEADER *SubTable;
@@ -3032,7 +3292,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoDmar);
if (ACPI_FAILURE (Status))
{
-@@ -987,13 +1013,14 @@ AcpiDmDumpDmar (
+@@ -987,13 +1012,14 @@ AcpiDmDumpDmar (
/* Subtables */
SubTable = ACPI_ADD_PTR (ACPI_DMAR_HEADER, Table, Offset);
@@ -3049,7 +3309,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
if (ACPI_FAILURE (Status))
{
return;
-@@ -1001,7 +1028,8 @@ AcpiDmDumpDmar (
+@@ -1001,7 +1027,8 @@ AcpiDmDumpDmar (
AcpiOsPrintf ("\n");
@@ -3059,7 +3319,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
{
case ACPI_DMAR_TYPE_HARDWARE_UNIT:
-@@ -1036,12 +1064,12 @@ AcpiDmDumpDmar (
+@@ -1036,12 +1063,12 @@ AcpiDmDumpDmar (
default:
AcpiOsPrintf ("\n**** Unknown DMAR subtable type 0x%X\n\n",
@@ -3074,7 +3334,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
if (ACPI_FAILURE (Status))
{
return;
-@@ -1050,8 +1078,8 @@ AcpiDmDumpDmar (
+@@ -1050,8 +1077,8 @@ AcpiDmDumpDmar (
/*
* Dump the optional device scope entries
*/
@@ -3085,7 +3345,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
{
/* These types do not support device scopes */
-@@ -1059,7 +1087,7 @@ AcpiDmDumpDmar (
+@@ -1059,7 +1086,7 @@ AcpiDmDumpDmar (
}
ScopeTable = ACPI_ADD_PTR (ACPI_DMAR_DEVICE_SCOPE, SubTable, ScopeOffset);
@@ -3094,7 +3354,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
{
AcpiOsPrintf ("\n");
Status = AcpiDmDumpTable (Length, Offset + ScopeOffset, ScopeTable,
-@@ -1100,9 +1128,8 @@ AcpiDmDumpDmar (
+@@ -1100,9 +1127,8 @@ AcpiDmDumpDmar (
NextSubtable:
/* Point to next subtable */
@@ -3106,7 +3366,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
}
}
-@@ -1129,12 +1156,15 @@ AcpiDmDumpDrtm (
+@@ -1129,12 +1155,15 @@ AcpiDmDumpDrtm (
ACPI_DRTM_RESOURCE_LIST *DrtmRl;
ACPI_DRTM_DPS_ID *DrtmDps;
UINT32 Count;
@@ -3124,7 +3384,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
if (ACPI_FAILURE (Status))
{
return;
-@@ -1148,7 +1178,7 @@ AcpiDmDumpDrtm (
+@@ -1148,7 +1177,7 @@ AcpiDmDumpDrtm (
DrtmVtl = ACPI_ADD_PTR (ACPI_DRTM_VTABLE_LIST, Table, Offset);
AcpiOsPrintf ("\n");
@@ -3133,7 +3393,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
DrtmVtl, ACPI_OFFSET (ACPI_DRTM_VTABLE_LIST, ValidatedTables),
AcpiDmTableInfoDrtm0);
if (ACPI_FAILURE (Status))
-@@ -1161,10 +1191,11 @@ AcpiDmDumpDrtm (
+@@ -1161,10 +1190,11 @@ AcpiDmDumpDrtm (
/* Dump Validated table addresses */
Count = 0;
@@ -3148,7 +3408,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
ACPI_ADD_PTR (void, Table, Offset), sizeof (UINT64),
AcpiDmTableInfoDrtm0a);
if (ACPI_FAILURE (Status))
-@@ -1180,7 +1211,7 @@ AcpiDmDumpDrtm (
+@@ -1180,7 +1210,7 @@ AcpiDmDumpDrtm (
DrtmRl = ACPI_ADD_PTR (ACPI_DRTM_RESOURCE_LIST, Table, Offset);
AcpiOsPrintf ("\n");
@@ -3157,7 +3417,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
DrtmRl, ACPI_OFFSET (ACPI_DRTM_RESOURCE_LIST, Resources),
AcpiDmTableInfoDrtm1);
if (ACPI_FAILURE (Status))
-@@ -1193,10 +1224,11 @@ AcpiDmDumpDrtm (
+@@ -1193,10 +1223,11 @@ AcpiDmDumpDrtm (
/* Dump the Resource List */
Count = 0;
@@ -3172,7 +3432,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
ACPI_ADD_PTR (void, Table, Offset),
sizeof (ACPI_DRTM_RESOURCE), AcpiDmTableInfoDrtm1a);
if (ACPI_FAILURE (Status))
-@@ -1212,7 +1244,7 @@ AcpiDmDumpDrtm (
+@@ -1212,7 +1243,7 @@ AcpiDmDumpDrtm (
DrtmDps = ACPI_ADD_PTR (ACPI_DRTM_DPS_ID, Table, Offset);
AcpiOsPrintf ("\n");
@@ -3181,7 +3441,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
DrtmDps, sizeof (ACPI_DRTM_DPS_ID), AcpiDmTableInfoDrtm2);
}
-@@ -1236,12 +1268,13 @@ AcpiDmDumpEinj (
+@@ -1236,12 +1267,13 @@ AcpiDmDumpEinj (
{
ACPI_STATUS Status;
ACPI_WHEA_HEADER *SubTable;
@@ -3196,7 +3456,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoEinj);
if (ACPI_FAILURE (Status))
{
-@@ -1251,7 +1284,7 @@ AcpiDmDumpEinj (
+@@ -1251,7 +1283,7 @@ AcpiDmDumpEinj (
/* Subtables */
SubTable = ACPI_ADD_PTR (ACPI_WHEA_HEADER, Table, Offset);
@@ -3205,7 +3465,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
{
AcpiOsPrintf ("\n");
Status = AcpiDmDumpTable (Length, Offset, SubTable,
-@@ -1289,12 +1322,13 @@ AcpiDmDumpErst (
+@@ -1289,12 +1321,13 @@ AcpiDmDumpErst (
{
ACPI_STATUS Status;
ACPI_WHEA_HEADER *SubTable;
@@ -3220,7 +3480,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoErst);
if (ACPI_FAILURE (Status))
{
-@@ -1304,7 +1338,7 @@ AcpiDmDumpErst (
+@@ -1304,7 +1337,7 @@ AcpiDmDumpErst (
/* Subtables */
SubTable = ACPI_ADD_PTR (ACPI_WHEA_HEADER, Table, Offset);
@@ -3229,7 +3489,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
{
AcpiOsPrintf ("\n");
Status = AcpiDmDumpTable (Length, Offset, SubTable,
-@@ -1342,17 +1376,19 @@ AcpiDmDumpFpdt (
+@@ -1342,17 +1375,19 @@ AcpiDmDumpFpdt (
{
ACPI_STATUS Status;
ACPI_FPDT_HEADER *SubTable;
@@ -3251,7 +3511,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
{
/* Common subtable header */
-@@ -1364,7 +1400,8 @@ AcpiDmDumpFpdt (
+@@ -1364,7 +1399,8 @@ AcpiDmDumpFpdt (
return;
}
@@ -3261,7 +3521,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
{
case ACPI_FPDT_TYPE_BOOT:
-@@ -1378,8 +1415,7 @@ AcpiDmDumpFpdt (
+@@ -1378,8 +1414,7 @@ AcpiDmDumpFpdt (
default:
@@ -3271,7 +3531,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
/* Attempt to continue */
-@@ -1427,16 +1463,19 @@ AcpiDmDumpGtdt (
+@@ -1427,16 +1462,19 @@ AcpiDmDumpGtdt (
{
ACPI_STATUS Status;
ACPI_GTDT_HEADER *SubTable;
@@ -3292,7 +3552,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoGtdt);
if (ACPI_FAILURE (Status))
{
-@@ -1446,7 +1485,7 @@ AcpiDmDumpGtdt (
+@@ -1446,7 +1484,7 @@ AcpiDmDumpGtdt (
/* Subtables */
SubTable = ACPI_ADD_PTR (ACPI_GTDT_HEADER, Table, Offset);
@@ -3301,7 +3561,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
{
/* Common subtable header */
-@@ -1464,8 +1503,9 @@ AcpiDmDumpGtdt (
+@@ -1464,8 +1502,9 @@ AcpiDmDumpGtdt (
case ACPI_GTDT_TYPE_TIMER_BLOCK:
SubTableLength = sizeof (ACPI_GTDT_TIMER_BLOCK);
@@ -3312,7 +3572,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
InfoTable = AcpiDmTableInfoGtdt0;
break;
-@@ -1486,8 +1526,9 @@ AcpiDmDumpGtdt (
+@@ -1486,8 +1525,9 @@ AcpiDmDumpGtdt (
return;
}
@@ -3323,7 +3583,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
if (ACPI_FAILURE (Status))
{
return;
-@@ -1546,16 +1587,18 @@ AcpiDmDumpHest (
+@@ -1546,16 +1586,18 @@ AcpiDmDumpHest (
{
ACPI_STATUS Status;
ACPI_HEST_HEADER *SubTable;
@@ -3343,7 +3603,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoHest);
if (ACPI_FAILURE (Status))
{
-@@ -1565,10 +1608,11 @@ AcpiDmDumpHest (
+@@ -1565,10 +1607,11 @@ AcpiDmDumpHest (
/* Subtables */
SubTable = ACPI_ADD_PTR (ACPI_HEST_HEADER, Table, Offset);
@@ -3357,7 +3617,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
{
case ACPI_HEST_TYPE_IA32_CHECK:
-@@ -1902,15 +1946,21 @@ AcpiDmDumpIort (
+@@ -1902,15 +1945,21 @@ AcpiDmDumpIort (
ACPI_IORT_SMMU *IortSmmu = NULL;
UINT32 Offset;
UINT32 NodeOffset;
@@ -3381,7 +3641,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
if (ACPI_FAILURE (Status))
{
return;
-@@ -1921,18 +1971,19 @@ AcpiDmDumpIort (
+@@ -1921,18 +1970,19 @@ AcpiDmDumpIort (
/* Dump the OptionalPadding (optional) */
@@ -3406,7 +3666,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
{
/* Common subtable header */
-@@ -1968,7 +2019,8 @@ AcpiDmDumpIort (
+@@ -1968,7 +2018,8 @@ AcpiDmDumpIort (
case ACPI_IORT_NODE_PCI_ROOT_COMPLEX:
InfoTable = AcpiDmTableInfoIort2;
@@ -3416,7 +3676,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
break;
case ACPI_IORT_NODE_SMMU:
-@@ -1981,7 +2033,8 @@ AcpiDmDumpIort (
+@@ -1981,7 +2032,8 @@ AcpiDmDumpIort (
case ACPI_IORT_NODE_SMMU_V3:
InfoTable = AcpiDmTableInfoIort4;
@@ -3426,7 +3686,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
break;
default:
-@@ -1991,7 +2044,8 @@ AcpiDmDumpIort (
+@@ -1991,7 +2043,8 @@ AcpiDmDumpIort (
/* Attempt to continue */
@@ -3436,7 +3696,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
{
AcpiOsPrintf ("Invalid zero length IORT node\n");
return;
-@@ -2002,7 +2056,7 @@ AcpiDmDumpIort (
+@@ -2002,7 +2055,7 @@ AcpiDmDumpIort (
/* Dump the node subtable header */
AcpiOsPrintf ("\n");
@@ -3445,7 +3705,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
ACPI_ADD_PTR (ACPI_IORT_NODE, IortNode, NodeOffset),
Length, InfoTable);
if (ACPI_FAILURE (Status))
-@@ -2022,9 +2076,10 @@ AcpiDmDumpIort (
+@@ -2022,9 +2075,10 @@ AcpiDmDumpIort (
if (IortItsGroup)
{
@@ -3458,7 +3718,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
ACPI_ADD_PTR (ACPI_IORT_NODE, IortNode, NodeOffset),
4, AcpiDmTableInfoIort0a);
NodeOffset += 4;
-@@ -2036,11 +2091,11 @@ AcpiDmDumpIort (
+@@ -2036,11 +2090,11 @@ AcpiDmDumpIort (
/* Dump the Padding (optional) */
@@ -3474,7 +3734,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
if (ACPI_FAILURE (Status))
{
return;
-@@ -2057,8 +2112,8 @@ AcpiDmDumpIort (
+@@ -2057,8 +2111,8 @@ AcpiDmDumpIort (
if (IortSmmu)
{
Length = 2 * sizeof (UINT64);
@@ -3485,7 +3745,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
ACPI_ADD_PTR (ACPI_IORT_NODE, IortNode, NodeOffset),
Length, AcpiDmTableInfoIort3a);
if (ACPI_FAILURE (Status))
-@@ -2066,10 +2121,11 @@ AcpiDmDumpIort (
+@@ -2066,10 +2120,11 @@ AcpiDmDumpIort (
return;
}
@@ -3500,7 +3760,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
ACPI_ADD_PTR (ACPI_IORT_NODE, IortNode, NodeOffset),
8, AcpiDmTableInfoIort3b);
if (ACPI_FAILURE (Status))
-@@ -2080,10 +2136,11 @@ AcpiDmDumpIort (
+@@ -2080,10 +2135,11 @@ AcpiDmDumpIort (
NodeOffset += 8;
}
@@ -3515,7 +3775,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
ACPI_ADD_PTR (ACPI_IORT_NODE, IortNode, NodeOffset),
8, AcpiDmTableInfoIort3c);
if (ACPI_FAILURE (Status))
-@@ -2103,12 +2160,13 @@ AcpiDmDumpIort (
+@@ -2103,12 +2159,13 @@ AcpiDmDumpIort (
/* Dump the ID mappings */
@@ -3532,7 +3792,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
ACPI_ADD_PTR (ACPI_IORT_NODE, IortNode, NodeOffset),
Length, AcpiDmTableInfoIortMap);
if (ACPI_FAILURE (Status))
-@@ -2122,8 +2180,9 @@ AcpiDmDumpIort (
+@@ -2122,8 +2179,9 @@ AcpiDmDumpIort (
NextSubTable:
/* Point to next node subtable */
@@ -3544,7 +3804,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
}
}
-@@ -2154,11 +2213,14 @@ AcpiDmDumpIvrs (
+@@ -2154,11 +2212,14 @@ AcpiDmDumpIvrs (
ACPI_IVRS_DE_HEADER *DeviceEntry;
ACPI_IVRS_HEADER *SubTable;
ACPI_DMTABLE_INFO *InfoTable;
@@ -3560,7 +3820,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
if (ACPI_FAILURE (Status))
{
return;
-@@ -2167,13 +2229,14 @@ AcpiDmDumpIvrs (
+@@ -2167,13 +2228,14 @@ AcpiDmDumpIvrs (
/* Subtables */
SubTable = ACPI_ADD_PTR (ACPI_IVRS_HEADER, Table, Offset);
@@ -3578,7 +3838,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
if (ACPI_FAILURE (Status))
{
return;
-@@ -2200,7 +2263,7 @@ AcpiDmDumpIvrs (
+@@ -2200,7 +2262,7 @@ AcpiDmDumpIvrs (
/* Attempt to continue */
@@ -3587,7 +3847,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
{
AcpiOsPrintf ("Invalid zero length subtable\n");
return;
-@@ -2211,8 +2274,8 @@ AcpiDmDumpIvrs (
+@@ -2211,8 +2273,8 @@ AcpiDmDumpIvrs (
/* Dump the subtable */
AcpiOsPrintf ("\n");
@@ -3598,7 +3858,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
if (ACPI_FAILURE (Status))
{
return;
-@@ -2226,7 +2289,7 @@ AcpiDmDumpIvrs (
+@@ -2226,7 +2288,7 @@ AcpiDmDumpIvrs (
DeviceEntry = ACPI_ADD_PTR (ACPI_IVRS_DE_HEADER, SubTable,
sizeof (ACPI_IVRS_HARDWARE));
@@ -3607,7 +3867,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
{
AcpiOsPrintf ("\n");
/*
-@@ -2288,7 +2351,7 @@ AcpiDmDumpIvrs (
+@@ -2288,7 +2350,7 @@ AcpiDmDumpIvrs (
/* Dump the Device Entry */
@@ -3616,7 +3876,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
DeviceEntry, EntryLength, InfoTable);
if (ACPI_FAILURE (Status))
{
-@@ -2304,8 +2367,8 @@ AcpiDmDumpIvrs (
+@@ -2304,8 +2366,8 @@ AcpiDmDumpIvrs (
NextSubTable:
/* Point to next subtable */
@@ -3627,7 +3887,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
}
}
-@@ -2331,7 +2394,7 @@ AcpiDmDumpLpit (
+@@ -2331,7 +2393,7 @@ AcpiDmDumpLpit (
{
ACPI_STATUS Status;
ACPI_LPIT_HEADER *SubTable;
@@ -3636,7 +3896,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
UINT32 Offset = sizeof (ACPI_TABLE_LPIT);
ACPI_DMTABLE_INFO *InfoTable;
UINT32 SubTableLength;
-@@ -2339,8 +2402,9 @@ AcpiDmDumpLpit (
+@@ -2339,8 +2401,9 @@ AcpiDmDumpLpit (
/* Subtables */
@@ -3647,7 +3907,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
{
/* Common subtable header */
-@@ -2404,13 +2468,14 @@ AcpiDmDumpMadt (
+@@ -2404,13 +2467,14 @@ AcpiDmDumpMadt (
{
ACPI_STATUS Status;
ACPI_SUBTABLE_HEADER *SubTable;
@@ -3663,7 +3923,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoMadt);
if (ACPI_FAILURE (Status))
{
-@@ -2420,7 +2485,7 @@ AcpiDmDumpMadt (
+@@ -2420,7 +2484,7 @@ AcpiDmDumpMadt (
/* Subtables */
SubTable = ACPI_ADD_PTR (ACPI_SUBTABLE_HEADER, Table, Offset);
@@ -3672,7 +3932,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
{
/* Common subtable header */
-@@ -2566,11 +2631,13 @@ AcpiDmDumpMcfg (
+@@ -2566,11 +2630,13 @@ AcpiDmDumpMcfg (
ACPI_STATUS Status;
UINT32 Offset = sizeof (ACPI_TABLE_MCFG);
ACPI_MCFG_ALLOCATION *SubTable;
@@ -3687,7 +3947,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
if (ACPI_FAILURE (Status))
{
return;
-@@ -2579,17 +2646,17 @@ AcpiDmDumpMcfg (
+@@ -2579,17 +2645,17 @@ AcpiDmDumpMcfg (
/* Subtables */
SubTable = ACPI_ADD_PTR (ACPI_MCFG_ALLOCATION, Table, Offset);
@@ -3709,7 +3969,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
sizeof (ACPI_MCFG_ALLOCATION), AcpiDmTableInfoMcfg0);
if (ACPI_FAILURE (Status))
{
-@@ -2623,6 +2690,7 @@ AcpiDmDumpMpst (
+@@ -2623,6 +2689,7 @@ AcpiDmDumpMpst (
{
ACPI_STATUS Status;
UINT32 Offset = sizeof (ACPI_TABLE_MPST);
@@ -3717,7 +3977,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
ACPI_MPST_POWER_NODE *SubTable0;
ACPI_MPST_POWER_STATE *SubTable0A;
ACPI_MPST_COMPONENT *SubTable0B;
-@@ -2631,11 +2699,13 @@ AcpiDmDumpMpst (
+@@ -2631,11 +2698,13 @@ AcpiDmDumpMpst (
UINT16 SubtableCount;
UINT32 PowerStateCount;
UINT32 ComponentCount;
@@ -3732,7 +3992,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
if (ACPI_FAILURE (Status))
{
return;
-@@ -2643,13 +2713,14 @@ AcpiDmDumpMpst (
+@@ -2643,13 +2712,14 @@ AcpiDmDumpMpst (
/* Subtable: Memory Power Node(s) */
@@ -3750,7 +4010,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
sizeof (ACPI_MPST_POWER_NODE), AcpiDmTableInfoMpst0);
if (ACPI_FAILURE (Status))
{
-@@ -2658,8 +2729,8 @@ AcpiDmDumpMpst (
+@@ -2658,8 +2728,8 @@ AcpiDmDumpMpst (
/* Extract the sub-subtable counts */
@@ -3761,7 +4021,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
Offset += sizeof (ACPI_MPST_POWER_NODE);
/* Sub-subtables - Memory Power State Structure(s) */
-@@ -2670,7 +2741,7 @@ AcpiDmDumpMpst (
+@@ -2670,7 +2740,7 @@ AcpiDmDumpMpst (
while (PowerStateCount)
{
AcpiOsPrintf ("\n");
@@ -3770,7 +4030,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
sizeof (ACPI_MPST_POWER_STATE), AcpiDmTableInfoMpst0A);
if (ACPI_FAILURE (Status))
{
-@@ -2680,7 +2751,7 @@ AcpiDmDumpMpst (
+@@ -2680,7 +2750,7 @@ AcpiDmDumpMpst (
SubTable0A++;
PowerStateCount--;
Offset += sizeof (ACPI_MPST_POWER_STATE);
@@ -3779,7 +4039,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
/* Sub-subtables - Physical Component ID Structure(s) */
-@@ -2693,7 +2764,7 @@ AcpiDmDumpMpst (
+@@ -2693,7 +2763,7 @@ AcpiDmDumpMpst (
while (ComponentCount)
{
@@ -3788,7 +4048,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
sizeof (ACPI_MPST_COMPONENT), AcpiDmTableInfoMpst0B);
if (ACPI_FAILURE (Status))
{
-@@ -2708,17 +2779,19 @@ AcpiDmDumpMpst (
+@@ -2708,17 +2778,19 @@ AcpiDmDumpMpst (
/* Point to next Memory Power Node subtable */
SubtableCount--;
@@ -3811,7 +4071,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
sizeof (ACPI_MPST_DATA_HDR), AcpiDmTableInfoMpst1);
if (ACPI_FAILURE (Status))
{
-@@ -2733,10 +2806,10 @@ AcpiDmDumpMpst (
+@@ -2733,10 +2805,10 @@ AcpiDmDumpMpst (
SubTable2 = ACPI_ADD_PTR (ACPI_MPST_POWER_DATA, SubTable1,
sizeof (ACPI_MPST_DATA_HDR));
@@ -3824,7 +4084,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
sizeof (ACPI_MPST_POWER_DATA), AcpiDmTableInfoMpst2);
if (ACPI_FAILURE (Status))
{
-@@ -2769,11 +2842,13 @@ AcpiDmDumpMsct (
+@@ -2769,11 +2841,13 @@ AcpiDmDumpMsct (
ACPI_STATUS Status;
UINT32 Offset = sizeof (ACPI_TABLE_MSCT);
ACPI_MSCT_PROXIMITY *SubTable;
@@ -3839,7 +4099,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
if (ACPI_FAILURE (Status))
{
return;
-@@ -2782,12 +2857,12 @@ AcpiDmDumpMsct (
+@@ -2782,12 +2856,12 @@ AcpiDmDumpMsct (
/* Subtables */
SubTable = ACPI_ADD_PTR (ACPI_MSCT_PROXIMITY, Table, Offset);
@@ -3854,7 +4114,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
sizeof (ACPI_MSCT_PROXIMITY), AcpiDmTableInfoMsct0);
if (ACPI_FAILURE (Status))
{
-@@ -2822,11 +2897,13 @@ AcpiDmDumpMtmr (
+@@ -2822,11 +2896,13 @@ AcpiDmDumpMtmr (
ACPI_STATUS Status;
UINT32 Offset = sizeof (ACPI_TABLE_MTMR);
ACPI_MTMR_ENTRY *SubTable;
@@ -3869,7 +4129,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
if (ACPI_FAILURE (Status))
{
return;
-@@ -2835,12 +2912,12 @@ AcpiDmDumpMtmr (
+@@ -2835,12 +2911,12 @@ AcpiDmDumpMtmr (
/* Subtables */
SubTable = ACPI_ADD_PTR (ACPI_MTMR_ENTRY, Table, Offset);
@@ -3884,7 +4144,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
sizeof (ACPI_MTMR_ENTRY), AcpiDmTableInfoMtmr0);
if (ACPI_FAILURE (Status))
{
-@@ -2882,11 +2959,17 @@ AcpiDmDumpNfit (
+@@ -2882,11 +2958,17 @@ AcpiDmDumpNfit (
ACPI_NFIT_SMBIOS *SmbiosInfo = NULL;
ACPI_NFIT_FLUSH_ADDRESS *Hint = NULL;
UINT32 i;
@@ -3903,7 +4163,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
if (ACPI_FAILURE (Status))
{
return;
-@@ -2895,19 +2978,21 @@ AcpiDmDumpNfit (
+@@ -2895,19 +2977,21 @@ AcpiDmDumpNfit (
/* Subtables */
SubTable = ACPI_ADD_PTR (ACPI_NFIT_HEADER, Table, Offset);
@@ -3929,7 +4189,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
{
case ACPI_NFIT_TYPE_SYSTEM_ADDRESS:
-@@ -2959,7 +3044,7 @@ AcpiDmDumpNfit (
+@@ -2959,7 +3043,7 @@ AcpiDmDumpNfit (
/* Attempt to continue */
@@ -3938,7 +4198,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
{
AcpiOsPrintf ("Invalid zero length subtable\n");
return;
-@@ -2968,8 +3053,8 @@ AcpiDmDumpNfit (
+@@ -2968,8 +3052,8 @@ AcpiDmDumpNfit (
}
AcpiOsPrintf ("\n");
@@ -3949,7 +4209,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
if (ACPI_FAILURE (Status))
{
return;
-@@ -2977,13 +3062,14 @@ AcpiDmDumpNfit (
+@@ -2977,13 +3061,14 @@ AcpiDmDumpNfit (
/* Per-subtable variable-length fields */
@@ -3967,7 +4227,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
&Interleave->LineOffset[i],
sizeof (UINT32), AcpiDmTableInfoNfit2a);
if (ACPI_FAILURE (Status))
-@@ -2997,12 +3083,11 @@ AcpiDmDumpNfit (
+@@ -2997,12 +3082,11 @@ AcpiDmDumpNfit (
case ACPI_NFIT_TYPE_SMBIOS:
@@ -3982,7 +4242,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
sizeof (ACPI_NFIT_SMBIOS) - sizeof (UINT8),
SmbiosInfo,
Length, AcpiDmTableInfoNfit3a);
-@@ -3016,9 +3101,10 @@ AcpiDmDumpNfit (
+@@ -3016,9 +3100,10 @@ AcpiDmDumpNfit (
case ACPI_NFIT_TYPE_FLUSH_ADDRESS:
@@ -3995,7 +4255,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
&Hint->HintAddress[i],
sizeof (UINT64), AcpiDmTableInfoNfit6a);
if (ACPI_FAILURE (Status))
-@@ -3037,8 +3123,8 @@ AcpiDmDumpNfit (
+@@ -3037,8 +3122,8 @@ AcpiDmDumpNfit (
NextSubTable:
/* Point to next subtable */
@@ -4006,7 +4266,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
}
}
-@@ -3063,12 +3149,13 @@ AcpiDmDumpPcct (
+@@ -3063,12 +3148,13 @@ AcpiDmDumpPcct (
ACPI_STATUS Status;
ACPI_PCCT_SUBSPACE *SubTable;
ACPI_DMTABLE_INFO *InfoTable;
@@ -4021,7 +4281,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoPcct);
if (ACPI_FAILURE (Status))
{
-@@ -3078,7 +3165,7 @@ AcpiDmDumpPcct (
+@@ -3078,7 +3164,7 @@ AcpiDmDumpPcct (
/* Subtables */
SubTable = ACPI_ADD_PTR (ACPI_PCCT_SUBSPACE, Table, Offset);
@@ -4030,7 +4290,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
{
/* Common subtable header */
-@@ -3164,16 +3251,21 @@ AcpiDmDumpPmtt (
+@@ -3164,16 +3250,21 @@ AcpiDmDumpPmtt (
ACPI_PMTT_HEADER *MemSubTable;
ACPI_PMTT_HEADER *DimmSubTable;
ACPI_PMTT_DOMAIN *DomainArray;
@@ -4054,7 +4314,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoPmtt);
if (ACPI_FAILURE (Status))
{
-@@ -3183,13 +3275,14 @@ AcpiDmDumpPmtt (
+@@ -3183,13 +3274,14 @@ AcpiDmDumpPmtt (
/* Subtables */
SubTable = ACPI_ADD_PTR (ACPI_PMTT_HEADER, Table, Offset);
@@ -4071,7 +4331,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
if (ACPI_FAILURE (Status))
{
return;
-@@ -3208,7 +3301,7 @@ AcpiDmDumpPmtt (
+@@ -3208,7 +3300,7 @@ AcpiDmDumpPmtt (
/* Dump the fixed-length portion of the subtable */
Status = AcpiDmDumpTable (Length, Offset, SubTable,
@@ -4080,7 +4340,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
if (ACPI_FAILURE (Status))
{
return;
-@@ -3220,15 +3313,16 @@ AcpiDmDumpPmtt (
+@@ -3220,15 +3312,16 @@ AcpiDmDumpPmtt (
MemSubTable = ACPI_ADD_PTR (ACPI_PMTT_HEADER, SubTable,
sizeof (ACPI_PMTT_SOCKET));
@@ -4100,7 +4360,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
if (ACPI_FAILURE (Status))
{
return;
-@@ -3248,7 +3342,7 @@ AcpiDmDumpPmtt (
+@@ -3248,7 +3341,7 @@ AcpiDmDumpPmtt (
Status = AcpiDmDumpTable (Length,
Offset + MemOffset, MemSubTable,
@@ -4109,7 +4369,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
if (ACPI_FAILURE (Status))
{
return;
-@@ -3256,13 +3350,14 @@ AcpiDmDumpPmtt (
+@@ -3256,13 +3349,14 @@ AcpiDmDumpPmtt (
/* Walk the variable count of proximity domains */
@@ -4127,7 +4387,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
DomainCount)
{
Status = AcpiDmDumpTable (Length,
-@@ -3290,15 +3385,16 @@ AcpiDmDumpPmtt (
+@@ -3290,15 +3384,16 @@ AcpiDmDumpPmtt (
DimmSubTable = ACPI_ADD_PTR (ACPI_PMTT_HEADER, MemSubTable,
DomainOffset);
@@ -4147,7 +4407,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
if (ACPI_FAILURE (Status))
{
return;
-@@ -3318,7 +3414,7 @@ AcpiDmDumpPmtt (
+@@ -3318,7 +3413,7 @@ AcpiDmDumpPmtt (
Status = AcpiDmDumpTable (Length,
Offset + MemOffset + DimmOffset, DimmSubTable,
@@ -4156,7 +4416,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
if (ACPI_FAILURE (Status))
{
return;
-@@ -3326,23 +3422,22 @@ AcpiDmDumpPmtt (
+@@ -3326,23 +3421,22 @@ AcpiDmDumpPmtt (
/* Point to next DIMM subtable */
@@ -4186,7 +4446,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
}
}
-@@ -3498,6 +3593,8 @@ AcpiDmDumpS3pt (
+@@ -3498,6 +3592,8 @@ AcpiDmDumpS3pt (
ACPI_FPDT_HEADER *SubTable;
ACPI_DMTABLE_INFO *InfoTable;
ACPI_TABLE_S3PT *S3ptTable = ACPI_CAST_PTR (ACPI_TABLE_S3PT, Tables);
@@ -4195,7 +4455,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
/* Main table */
-@@ -3508,20 +3605,22 @@ AcpiDmDumpS3pt (
+@@ -3508,20 +3604,22 @@ AcpiDmDumpS3pt (
return 0;
}
@@ -4221,7 +4481,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
{
case ACPI_S3PT_TYPE_RESUME:
-@@ -3536,7 +3635,7 @@ AcpiDmDumpS3pt (
+@@ -3536,7 +3634,7 @@ AcpiDmDumpS3pt (
default:
AcpiOsPrintf ("\n**** Unknown S3PT subtable type 0x%X\n",
@@ -4230,7 +4490,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
/* Attempt to continue */
-@@ -3549,7 +3648,7 @@ AcpiDmDumpS3pt (
+@@ -3549,7 +3647,7 @@ AcpiDmDumpS3pt (
}
AcpiOsPrintf ("\n");
@@ -4239,7 +4499,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
SubTable->Length, InfoTable);
if (ACPI_FAILURE (Status))
{
-@@ -3583,9 +3682,11 @@ void
+@@ -3583,9 +3681,11 @@ void
AcpiDmDumpSlic (
ACPI_TABLE_HEADER *Table)
{
@@ -4253,7 +4513,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
}
-@@ -3608,14 +3709,17 @@ AcpiDmDumpSlit (
+@@ -3608,14 +3708,17 @@ AcpiDmDumpSlit (
ACPI_STATUS Status;
UINT32 Offset;
UINT8 *Row;
@@ -4273,7 +4533,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
if (ACPI_FAILURE (Status))
{
return;
-@@ -3623,7 +3727,8 @@ AcpiDmDumpSlit (
+@@ -3623,7 +3726,8 @@ AcpiDmDumpSlit (
/* Display the Locality NxN Matrix */
@@ -4283,7 +4543,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
Offset = ACPI_OFFSET (ACPI_TABLE_SLIT, Entry[0]);
Row = (UINT8 *) ACPI_CAST_PTR (ACPI_TABLE_SLIT, Table)->Entry;
-@@ -3636,7 +3741,7 @@ AcpiDmDumpSlit (
+@@ -3636,7 +3740,7 @@ AcpiDmDumpSlit (
{
/* Check for beyond EOT */
@@ -4292,7 +4552,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
{
AcpiOsPrintf (
"\n**** Not enough room in table for all localities\n");
-@@ -3688,11 +3793,13 @@ AcpiDmDumpSrat (
+@@ -3688,11 +3792,13 @@ AcpiDmDumpSrat (
UINT32 Offset = sizeof (ACPI_TABLE_SRAT);
ACPI_SUBTABLE_HEADER *SubTable;
ACPI_DMTABLE_INFO *InfoTable;
@@ -4307,7 +4567,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
if (ACPI_FAILURE (Status))
{
return;
-@@ -3701,12 +3808,12 @@ AcpiDmDumpSrat (
+@@ -3701,12 +3807,12 @@ AcpiDmDumpSrat (
/* Subtables */
SubTable = ACPI_ADD_PTR (ACPI_SUBTABLE_HEADER, Table, Offset);
@@ -4322,7 +4582,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
SubTable->Length, AcpiDmTableInfoSratHdr);
if (ACPI_FAILURE (Status))
{
-@@ -3755,7 +3862,7 @@ AcpiDmDumpSrat (
+@@ -3755,7 +3861,7 @@ AcpiDmDumpSrat (
}
AcpiOsPrintf ("\n");
@@ -4331,7 +4591,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
SubTable->Length, InfoTable);
if (ACPI_FAILURE (Status))
{
-@@ -3792,13 +3899,14 @@ AcpiDmDumpStao (
+@@ -3792,13 +3898,14 @@ AcpiDmDumpStao (
{
ACPI_STATUS Status;
char *Namepath;
@@ -4347,7 +4607,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoStao);
if (ACPI_FAILURE (Status))
{
-@@ -3807,7 +3915,7 @@ AcpiDmDumpStao (
+@@ -3807,7 +3914,7 @@ AcpiDmDumpStao (
/* The rest of the table consists of Namepath strings */
@@ -4356,7 +4616,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
{
Namepath = ACPI_ADD_PTR (char, Table, Offset);
StringLength = strlen (Namepath) + 1;
-@@ -3849,11 +3957,14 @@ AcpiDmDumpTcpa (
+@@ -3849,11 +3956,14 @@ AcpiDmDumpTcpa (
ACPI_TABLE_TCPA_HDR *SubTable = ACPI_ADD_PTR (
ACPI_TABLE_TCPA_HDR, Table, Offset);
ACPI_STATUS Status;
@@ -4372,7 +4632,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
0, AcpiDmTableInfoTcpaHdr);
if (ACPI_FAILURE (Status))
{
-@@ -3864,18 +3975,19 @@ AcpiDmDumpTcpa (
+@@ -3864,18 +3974,19 @@ AcpiDmDumpTcpa (
* Examine the PlatformClass field to determine the table type.
* Either a client or server table. Only one.
*/
@@ -4397,7 +4657,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
break;
default:
-@@ -3912,11 +4024,13 @@ AcpiDmDumpVrtc (
+@@ -3912,11 +4023,13 @@ AcpiDmDumpVrtc (
ACPI_STATUS Status;
UINT32 Offset = sizeof (ACPI_TABLE_VRTC);
ACPI_VRTC_ENTRY *SubTable;
@@ -4412,7 +4672,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
if (ACPI_FAILURE (Status))
{
return;
-@@ -3925,12 +4039,12 @@ AcpiDmDumpVrtc (
+@@ -3925,12 +4038,12 @@ AcpiDmDumpVrtc (
/* Subtables */
SubTable = ACPI_ADD_PTR (ACPI_VRTC_ENTRY, Table, Offset);
@@ -4427,7 +4687,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
sizeof (ACPI_VRTC_ENTRY), AcpiDmTableInfoVrtc0);
if (ACPI_FAILURE (Status))
{
-@@ -3965,11 +4079,13 @@ AcpiDmDumpWdat (
+@@ -3965,11 +4078,13 @@ AcpiDmDumpWdat (
ACPI_STATUS Status;
UINT32 Offset = sizeof (ACPI_TABLE_WDAT);
ACPI_WDAT_ENTRY *SubTable;
@@ -4442,7 +4702,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
if (ACPI_FAILURE (Status))
{
return;
-@@ -3978,12 +4094,12 @@ AcpiDmDumpWdat (
+@@ -3978,12 +4093,12 @@ AcpiDmDumpWdat (
/* Subtables */
SubTable = ACPI_ADD_PTR (ACPI_WDAT_ENTRY, Table, Offset);
@@ -4457,7 +4717,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
sizeof (ACPI_WDAT_ENTRY), AcpiDmTableInfoWdat0);
if (ACPI_FAILURE (Status))
{
-@@ -4018,12 +4134,13 @@ AcpiDmDumpWpbt (
+@@ -4018,12 +4133,13 @@ AcpiDmDumpWpbt (
{
ACPI_STATUS Status;
ACPI_TABLE_WPBT *SubTable;
@@ -4472,7 +4732,7 @@ Index: acpica-unix2-20170728/source/common/dmtbdump.c
Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoWpbt);
if (ACPI_FAILURE (Status))
{
-@@ -4033,10 +4150,10 @@ AcpiDmDumpWpbt (
+@@ -4033,10 +4149,10 @@ AcpiDmDumpWpbt (
/* Extract the arguments buffer length from the main table */
SubTable = ACPI_CAST_PTR (ACPI_TABLE_WPBT, Table);
@@ -5218,6 +5478,22 @@ Index:
acpica-unix2-20170728/source/components/disassembler/dmopcode.c
Info->BitOffset += Offset;
if (Info->BitOffset % 8 == 0)
+@@ -942,10 +949,15 @@ AcpiDmDisassembleOneOp (
+
+ if (Child->Common.AmlOpcode == AML_INT_BYTELIST_OP)
+ {
++ /* UINT64 Tmp64; */
++
+ AcpiOsPrintf ("\n");
+
+ Aml = Child->Named.Data;
++ /*
+ Length = (UINT32) Child->Common.Value.Integer;
++ */
++ Length = (UINT32) Child->Common.Value.Size;
+
+ Info->Level += 1;
+ Info->MappingOp = Op;
Index: acpica-unix2-20170728/source/components/disassembler/dmresrcl.c
===================================================================
--- acpica-unix2-20170728.orig/source/components/disassembler/dmresrcl.c
@@ -5562,7 +5838,7 @@ Index:
acpica-unix2-20170728/source/components/disassembler/dmresrcl2.c
VendorData = ACPI_ADD_PTR (UINT8, Resource,
sizeof (AML_RESOURCE_UART_SERIALBUS));
-@@ -601,15 +621,19 @@ AcpiDmI2cSerialBusDescriptor (
+@@ -601,24 +621,29 @@ AcpiDmI2cSerialBusDescriptor (
{
UINT32 ResourceSourceOffset;
char *DeviceName;
@@ -5583,8 +5859,10 @@ Index:
acpica-unix2-20170728/source/components/disassembler/dmresrcl2.c
+ Tmp32);
AcpiDmIndent (Level + 1);
++ ACPI_MOVE_16_TO_16(&Tmp16, &Resource->I2cSerialBus.TypeSpecificFlags);
AcpiOsPrintf ("%s, ",
-@@ -617,8 +641,8 @@ AcpiDmI2cSerialBusDescriptor (
+- AcpiGbl_AmDecode [ACPI_GET_1BIT_FLAG
(Resource->I2cSerialBus.TypeSpecificFlags)]);
++ AcpiGbl_AmDecode [ACPI_GET_1BIT_FLAG (Tmp16)]);
/* ResourceSource is a required field */
@@ -5848,7 +6126,39 @@ Index: acpica-unix2-20170728/source/components/tables/tbfadt.c
===================================================================
--- acpica-unix2-20170728.orig/source/components/tables/tbfadt.c
+++ acpica-unix2-20170728/source/components/tables/tbfadt.c
-@@ -520,6 +520,8 @@ AcpiTbConvertFadt (
+@@ -424,18 +424,20 @@ AcpiTbCreateLocalFadt (
+ ACPI_TABLE_HEADER *Table,
+ UINT32 Length)
+ {
++ UINT32 Tmp32;
+
+ /*
+ * Check if the FADT is larger than the largest table that we expect
+ * (typically the current ACPI specification version). If so, truncate
+ * the table, and issue a warning.
+ */
+- if (Length > sizeof (ACPI_TABLE_FADT))
++ ACPI_MOVE_32_TO_32(&Tmp32, &Length);
++ if (Tmp32 > sizeof (ACPI_TABLE_FADT))
+ {
+ ACPI_BIOS_WARNING ((AE_INFO,
+ "FADT (revision %u) is longer than %s length, "
+ "truncating length %u to %u",
+- Table->Revision, ACPI_FADT_CONFORMANCE, Length,
++ Table->Revision, ACPI_FADT_CONFORMANCE, Tmp32,
+ (UINT32) sizeof (ACPI_TABLE_FADT)));
+ }
+
+@@ -446,7 +448,7 @@ AcpiTbCreateLocalFadt (
+ /* Copy the original FADT, up to sizeof (ACPI_TABLE_FADT) */
+
+ memcpy (&AcpiGbl_FADT, Table,
+- ACPI_MIN (Length, sizeof (ACPI_TABLE_FADT)));
++ ACPI_MIN (Tmp32, sizeof (ACPI_TABLE_FADT)));
+
+ /* Take a copy of the Hardware Reduced flag */
+
+@@ -520,6 +522,8 @@ AcpiTbConvertFadt (
UINT8 Length;
UINT8 Flags;
UINT32 i;
@@ -5857,7 +6167,7 @@ Index: acpica-unix2-20170728/source/components/tables/tbfadt.c
/*
-@@ -533,7 +535,8 @@ AcpiTbConvertFadt (
+@@ -533,7 +537,8 @@ AcpiTbConvertFadt (
* Note: The FADT revision value is unreliable. Only the length can be
* trusted.
*/
@@ -5867,7 +6177,7 @@ Index: acpica-unix2-20170728/source/components/tables/tbfadt.c
{
AcpiGbl_FADT.PreferredProfile = 0;
AcpiGbl_FADT.PstateControl = 0;
-@@ -546,14 +549,15 @@ AcpiTbConvertFadt (
+@@ -546,14 +551,15 @@ AcpiTbConvertFadt (
* current FADT version as defined by the ACPI specification.
* Thus, we will have a common FADT internally.
*/
@@ -5886,7 +6196,7 @@ Index: acpica-unix2-20170728/source/components/tables/tbfadt.c
/* If Hardware Reduced flag is set, we are all done */
-@@ -614,7 +618,9 @@ AcpiTbConvertFadt (
+@@ -614,7 +620,9 @@ AcpiTbConvertFadt (
{
if (Address64->Address)
{
@@ -5897,7 +6207,7 @@ Index: acpica-unix2-20170728/source/components/tables/tbfadt.c
{
/* Address mismatch */
-@@ -655,9 +661,11 @@ AcpiTbConvertFadt (
+@@ -655,9 +663,11 @@ AcpiTbConvertFadt (
*/
if (!Address64->Address || AcpiGbl_Use32BitFadtAddresses)
{
@@ -5910,7 +6220,7 @@ Index: acpica-unix2-20170728/source/components/tables/tbfadt.c
}
}
-@@ -780,10 +788,14 @@ AcpiTbSetupFadtRegisters (
+@@ -780,10 +790,14 @@ AcpiTbSetupFadtRegisters (
if (Source64->Address)
{
@@ -6247,3 +6557,36 @@ Index: acpica-unix2-20170728/source/tools/acpiexec/aetables.c
}
return (AE_OK);
+Index: acpica-unix2-20170728/source/common/dmswitch.c
+===================================================================
+--- acpica-unix2-20170728.orig/source/common/dmswitch.c
++++ acpica-unix2-20170728/source/common/dmswitch.c
+@@ -88,13 +88,15 @@ AcpiDmProcessSwitch (
+ ACPI_PARSE_OBJECT_LIST *Current;
+ ACPI_PARSE_OBJECT_LIST *Previous;
+ BOOLEAN FoundTemp = FALSE;
++ UINT32 Tmp32;
+
+
+ switch (Op->Common.AmlOpcode)
+ {
+ case AML_NAME_OP:
+
+- Temp = (char *) (&Op->Named.Name);
++ ACPI_MOVE_32_TO_32(&Tmp32, &Op->Named.Name);
++ Temp = (char *) (&Tmp32);
+
+ if (!strncmp(Temp, "_T_", 3))
+ {
+@@ -138,7 +140,10 @@ AcpiDmProcessSwitch (
+ {
+ /* Note, if we get here Temp is not NULL */
+
+- if (!strncmp(Temp, (char *) (&Current->Op->Named.Name), 4))
++ ACPI_MOVE_32_TO_32(&Tmp32, &Current->Op->Named.Name);
++
++ /* if (!strncmp(Temp, (char *) (&Current->Op->Named.Name), 4)) */
++ if (!strncmp(Temp, (char *) &Tmp32, 4))
+ {
+ /* Match found. Ignore disassembly */
+
diff --git a/int-format.patch b/int-format.patch
index a0ae2ee..5618c91 100644
--- a/int-format.patch
+++ b/int-format.patch
@@ -275,7 +275,7 @@ Index: acpica-unix2-20170728/source/components/tables/tbfadt.c
RegisterName, Address32, ACPI_FORMAT_UINT64 (Address64),
AcpiGbl_Use32BitFadtAddresses ? 32 : 64));
-@@ -626,7 +626,7 @@ AcpiTbConvertFadt (
+@@ -628,7 +628,7 @@ AcpiTbConvertFadt (
ACPI_BIOS_WARNING ((AE_INFO,
"32/64X address mismatch in FADT/%s: "
diff --git a/ppc64le.patch b/ppc64le.patch
index 24c8edc..d2fa669 100644
--- a/ppc64le.patch
+++ b/ppc64le.patch
@@ -6,7 +6,7 @@ Index: acpica-unix2-20170728/source/include/platform/aclinux.h
#define __cdecl
#endif
-+#if defined(__BIG_ENDIAN__)
++#if defined(__BIG_ENDIAN)
#if defined(__PPC64__) || defined(__s390x__)
#define ACPI_BIG_ENDIAN
#endif