Lines Matching +full:offset +full:- +full:x
3 * Module Name: dmtbdump1 - Dump ACPI data tables that contain no AML code
11 * Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
28 * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
104 * re-exports any such software from a foreign destination, Licensee shall
105 * ensure that the distribution and export/re-export of the software is in
108 * any of its subsidiaries will export/re-export any technical data, process,
130 * 3. Neither the names of the above-listed copyright holders nor the names
158 /* This module used for application-level code only */
168 * PARAMETERS: Table - A AEST table
177 * 2) Any node-specific data
181 * AEST - ARM Error Source table. Conforms to:
191 UINT32 Offset = sizeof (ACPI_TABLE_HEADER); in AcpiDmDumpAest() local
198 UINT8 Revision = Table->Revision; in AcpiDmDumpAest()
205 while (Offset < Table->Length) in AcpiDmDumpAest()
207 NodeHeader = ACPI_ADD_PTR (ACPI_AEST_HEADER, Table, Offset); in AcpiDmDumpAest()
211 Status = AcpiDmDumpTable (Table->Length, Offset, NodeHeader, in AcpiDmDumpAest()
212 NodeHeader->Length, AcpiDmTableInfoAestHdr); in AcpiDmDumpAest()
218 Type = NodeHeader->Type; in AcpiDmDumpAest()
220 /* Setup the node-specific subtable based on the header Type field */ in AcpiDmDumpAest()
253 AcpiOsPrintf ("\n**** Unknown AEST revision 0x%X\n", Revision); in AcpiDmDumpAest()
276 AcpiOsPrintf ("\n**** Unknown AEST Error Subtable type 0x%X\n", in AcpiDmDumpAest()
281 /* Point past the common header (to the node-specific data) */ in AcpiDmDumpAest()
283 Offset += sizeof (ACPI_AEST_HEADER); in AcpiDmDumpAest()
284 Subtable = ACPI_ADD_PTR (ACPI_AEST_HEADER, Table, Offset); in AcpiDmDumpAest()
287 /* Dump the node-specific subtable */ in AcpiDmDumpAest()
289 Status = AcpiDmDumpTable (Table->Length, Offset, Subtable, Length, in AcpiDmDumpAest()
305 /* Point past the node-specific data */ in AcpiDmDumpAest()
307 Offset += Length; in AcpiDmDumpAest()
310 switch (ProcessorSubtable->ResourceType) in AcpiDmDumpAest()
331 AcpiOsPrintf ("\n**** Unknown AEST Processor Resource type 0x%X\n", in AcpiDmDumpAest()
332 ProcessorSubtable->ResourceType); in AcpiDmDumpAest()
337 Offset); in AcpiDmDumpAest()
341 Status = AcpiDmDumpTable (Table->Length, Offset, ProcessorSubtable, in AcpiDmDumpAest()
351 /* Point past the resource substructure or the node-specific data */ in AcpiDmDumpAest()
353 Offset += Length; in AcpiDmDumpAest()
357 Subtable = ACPI_ADD_PTR (ACPI_AEST_HEADER, Table, Offset); in AcpiDmDumpAest()
358 if (Subtable->Type >= ACPI_AEST_XFACE_RESERVED) in AcpiDmDumpAest()
360 AcpiOsPrintf ("\n**** Unknown AEST Node Interface type 0x%X\n", in AcpiDmDumpAest()
361 Subtable->Type); in AcpiDmDumpAest()
375 Status = AcpiDmDumpTable (Table->Length, Offset, Subtable, Length, InfoTable); in AcpiDmDumpAest()
381 Offset += Length; in AcpiDmDumpAest()
384 switch (InterfaceHeader->GroupFormat) in AcpiDmDumpAest()
402 AcpiOsPrintf ("\n**** Unknown AEST Interface Group Format 0x%X\n", in AcpiDmDumpAest()
403 InterfaceHeader->GroupFormat); in AcpiDmDumpAest()
407 Subtable = ACPI_ADD_PTR (ACPI_AEST_HEADER, Table, Offset); in AcpiDmDumpAest()
411 AcpiOsPrintf ("\n**** Unknown AEST revision 0x%X\n", Revision); in AcpiDmDumpAest()
415 Status = AcpiDmDumpTable (Table->Length, Offset, Subtable, Length, InfoTable); in AcpiDmDumpAest()
424 Offset += Length; in AcpiDmDumpAest()
428 if (NodeHeader->NodeInterruptOffset) in AcpiDmDumpAest()
430 Count = NodeHeader->NodeInterruptCount; in AcpiDmDumpAest()
431 Subtable = ACPI_ADD_PTR (ACPI_AEST_HEADER, Table, Offset); in AcpiDmDumpAest()
448 AcpiOsPrintf ("\n**** Unknown AEST revision 0x%X\n", in AcpiDmDumpAest()
452 Status = AcpiDmDumpTable (Table->Length, Offset, Subtable, in AcpiDmDumpAest()
461 Offset += Length; in AcpiDmDumpAest()
462 Subtable = ACPI_ADD_PTR (ACPI_AEST_HEADER, Table, Offset); in AcpiDmDumpAest()
463 Count--; in AcpiDmDumpAest()
474 * PARAMETERS: Table - A APMT table
479 * of an open-ended number of subtables.
482 * APMT - ARM Performance Monitoring Unit table. Conforms to:
494 UINT32 Length = Table->Length; in AcpiDmDumpApmt()
495 UINT32 Offset = sizeof (ACPI_TABLE_APMT); in AcpiDmDumpApmt() local
502 Subtable = ACPI_ADD_PTR (ACPI_APMT_NODE, Table, Offset); in AcpiDmDumpApmt()
503 while (Offset < Table->Length) in AcpiDmDumpApmt()
507 if (Subtable->Type >= ACPI_APMT_NODE_TYPE_COUNT) in AcpiDmDumpApmt()
509 AcpiOsPrintf ("\n**** Unknown APMT subtable type 0x%X\n", in AcpiDmDumpApmt()
510 Subtable->Type); in AcpiDmDumpApmt()
514 AcpiOsPrintf ("/* APMT Node-%u */\n", NodeNum++); in AcpiDmDumpApmt()
516 Status = AcpiDmDumpTable (Length, Offset, Subtable, in AcpiDmDumpApmt()
517 Subtable->Length, AcpiDmTableInfoApmtNode); in AcpiDmDumpApmt()
525 Offset += Subtable->Length; in AcpiDmDumpApmt()
527 Subtable->Length); in AcpiDmDumpApmt()
537 * PARAMETERS: Table - A ASF table
550 UINT32 Offset = sizeof (ACPI_TABLE_HEADER); in AcpiDmDumpAsf() local
564 Subtable = ACPI_ADD_PTR (ACPI_ASF_INFO, Table, Offset); in AcpiDmDumpAsf()
565 while (Offset < Table->Length) in AcpiDmDumpAsf()
569 Status = AcpiDmDumpTable (Table->Length, Offset, Subtable, in AcpiDmDumpAsf()
570 Subtable->Header.Length, AcpiDmTableInfoAsfHdr); in AcpiDmDumpAsf()
578 Type = (UINT8) (Subtable->Header.Type & 0x7F); in AcpiDmDumpAsf()
592 DataCount = ACPI_CAST_PTR (ACPI_ASF_ALERT, Subtable)->Alerts; in AcpiDmDumpAsf()
593 DataLength = ACPI_CAST_PTR (ACPI_ASF_ALERT, Subtable)->DataLength; in AcpiDmDumpAsf()
594 DataOffset = Offset + sizeof (ACPI_ASF_ALERT); in AcpiDmDumpAsf()
602 DataCount = ACPI_CAST_PTR (ACPI_ASF_REMOTE, Subtable)->Controls; in AcpiDmDumpAsf()
603 DataLength = ACPI_CAST_PTR (ACPI_ASF_REMOTE, Subtable)->DataLength; in AcpiDmDumpAsf()
604 DataOffset = Offset + sizeof (ACPI_ASF_REMOTE); in AcpiDmDumpAsf()
616 DataLength = ACPI_CAST_PTR (ACPI_ASF_ADDRESS, Subtable)->Devices; in AcpiDmDumpAsf()
617 DataOffset = Offset + sizeof (ACPI_ASF_ADDRESS); in AcpiDmDumpAsf()
622 AcpiOsPrintf ("\n**** Unknown ASF subtable type 0x%X\n", in AcpiDmDumpAsf()
623 Subtable->Header.Type); in AcpiDmDumpAsf()
627 Status = AcpiDmDumpTable (Table->Length, Offset, Subtable, in AcpiDmDumpAsf()
628 Subtable->Header.Length, InfoTable); in AcpiDmDumpAsf()
634 /* Dump variable-length extra data */ in AcpiDmDumpAsf()
644 Status = AcpiDmDumpTable (Table->Length, DataOffset, in AcpiDmDumpAsf()
665 AcpiOsPrintf ("%2.2X ", *DataTable); in AcpiDmDumpAsf()
669 if (DataOffset > Table->Length) in AcpiDmDumpAsf()
690 if (!Subtable->Header.Length) in AcpiDmDumpAsf()
696 Offset += Subtable->Header.Length; in AcpiDmDumpAsf()
698 Subtable->Header.Length); in AcpiDmDumpAsf()
706 * PARAMETERS: Table - A ASPT table
719 UINT32 Offset = sizeof (ACPI_TABLE_ASPT); in AcpiDmDumpAspt() local
720 UINT32 Length = Table->Length; in AcpiDmDumpAspt()
730 Subtable = ACPI_ADD_PTR (ACPI_ASPT_HEADER, Table, Offset); in AcpiDmDumpAspt()
731 while (Offset < Table->Length) in AcpiDmDumpAspt()
736 Status = AcpiDmDumpTable (Table->Length, Offset, Subtable, in AcpiDmDumpAspt()
737 Subtable->Length, AcpiDmTableInfoAsptHdr); in AcpiDmDumpAspt()
743 Type = Subtable->Type; in AcpiDmDumpAspt()
764 AcpiOsPrintf ("\n**** Unknown ASPT subtable type 0x%X\n", in AcpiDmDumpAspt()
765 Subtable->Type); in AcpiDmDumpAspt()
769 Status = AcpiDmDumpTable (Table->Length, Offset, Subtable, in AcpiDmDumpAspt()
770 Subtable->Length, InfoTable); in AcpiDmDumpAspt()
779 if (!Subtable->Length) in AcpiDmDumpAspt()
785 Offset += Subtable->Length; in AcpiDmDumpAspt()
787 Subtable->Length); in AcpiDmDumpAspt()
796 * PARAMETERS: InTable - A CDAT table
801 * of an open-ended number of subtables.
814 UINT32 Length = CdatTable->Length; in AcpiDmDumpCdat()
815 UINT32 Offset = sizeof (ACPI_TABLE_CDAT); in AcpiDmDumpCdat() local
823 Status = AcpiDmDumpTable (Offset, 0, CdatTable, 0, in AcpiDmDumpCdat()
831 while (Offset < Table->Length) in AcpiDmDumpCdat()
835 DbgPrint (ASL_DEBUG_OUTPUT, "0) HeaderOffset: %X\n", Offset); in AcpiDmDumpCdat()
837 Status = AcpiDmDumpTable (Length, Offset, Subtable, in AcpiDmDumpCdat()
846 Offset += sizeof (ACPI_CDAT_HEADER); in AcpiDmDumpCdat()
847 SubtableType = Subtable->Type; in AcpiDmDumpCdat()
849 switch (Subtable->Type) in AcpiDmDumpCdat()
852 Subtable = ACPI_ADD_PTR (ACPI_CDAT_HEADER, Table, Offset); in AcpiDmDumpCdat()
859 Subtable = ACPI_ADD_PTR (ACPI_CDAT_HEADER, Table, Offset); in AcpiDmDumpCdat()
861 DbgPrint (ASL_DEBUG_OUTPUT, "1) Offset: %X\n", Offset); in AcpiDmDumpCdat()
867 Subtable = ACPI_ADD_PTR (ACPI_CDAT_HEADER, Table, Offset); in AcpiDmDumpCdat()
874 DbgPrint (ASL_DEBUG_OUTPUT, "2) Offset: %X ", Offset); in AcpiDmDumpCdat()
877 Subtable = ACPI_ADD_PTR (ACPI_CDAT_HEADER, Table, Offset); in AcpiDmDumpCdat()
878 DbgPrint (ASL_DEBUG_OUTPUT, "1) output pointers: %p, %p, Offset: %X\n", in AcpiDmDumpCdat()
879 Table, Subtable, Offset); in AcpiDmDumpCdat()
880 DbgPrint (ASL_DEBUG_OUTPUT, "3) Offset: %X\n", Offset); in AcpiDmDumpCdat()
886 Subtable = ACPI_ADD_PTR (ACPI_CDAT_HEADER, Table, Offset); in AcpiDmDumpCdat()
893 SubtableLength = Subtable->Length; in AcpiDmDumpCdat()
896 Subtable = ACPI_ADD_PTR (ACPI_CDAT_HEADER, Table, Offset); in AcpiDmDumpCdat()
900 fprintf (stderr, "ERROR: Unknown SubtableType: %X\n", Subtable->Type); in AcpiDmDumpCdat()
904 DbgPrint (ASL_DEBUG_OUTPUT, "SubtableType: %X, Length: %X Actual " in AcpiDmDumpCdat()
905 "Length: %X Offset: %X tableptr: %p\n", SubtableType, in AcpiDmDumpCdat()
906 Subtable->Length, SubtableLength, Offset, Table); in AcpiDmDumpCdat()
909 * Do the subtable-specific fields in AcpiDmDumpCdat()
911 Status = AcpiDmDumpTable (Length, Offset, Subtable, Offset, InfoTable); in AcpiDmDumpCdat()
917 DbgPrint (ASL_DEBUG_OUTPUT, "Subtable Type: %X, Offset: %X, SubtableLength: %X\n", in AcpiDmDumpCdat()
918 SubtableType, Offset, SubtableLength); in AcpiDmDumpCdat()
920 /* Additional sub-subtables, dependent on the main subtable type */ in AcpiDmDumpCdat()
925 Offset += sizeof (ACPI_CDAT_SSLBIS); in AcpiDmDumpCdat()
927 Offset); in AcpiDmDumpCdat()
929 DbgPrint (ASL_DEBUG_OUTPUT, "Case SSLBIS, Offset: %X, SubtableLength: %X " in AcpiDmDumpCdat()
930 "Subtable->Length %X\n", Offset, SubtableLength, Subtable->Length); in AcpiDmDumpCdat()
934 EntriesLength = SubtableLength - sizeof (ACPI_CDAT_HEADER) - in AcpiDmDumpCdat()
936 DbgPrint (ASL_DEBUG_OUTPUT, "EntriesLength: %X, Offset: %X, Table->Length: %X\n", in AcpiDmDumpCdat()
937 EntriesLength, Offset, Table->Length); in AcpiDmDumpCdat()
941 while ((EntriesLength > 0) && (Offset < Table->Length)) in AcpiDmDumpCdat()
945 Status = AcpiDmDumpTable (Length, Offset, Subtable, Offset, in AcpiDmDumpCdat()
952 EntriesLength -= sizeof (ACPI_CDAT_SSLBE); in AcpiDmDumpCdat()
953 Offset += sizeof (ACPI_CDAT_SSLBE); in AcpiDmDumpCdat()
954 Subtable = ACPI_ADD_PTR (ACPI_CDAT_HEADER, Table, Offset); in AcpiDmDumpCdat()
964 DbgPrint (ASL_DEBUG_OUTPUT, "Offset: %X, Subtable Length: %X\n", in AcpiDmDumpCdat()
965 Offset, SubtableLength); in AcpiDmDumpCdat()
969 Offset += SubtableLength; in AcpiDmDumpCdat()
970 Subtable = ACPI_ADD_PTR (ACPI_CDAT_HEADER, Table, Offset); in AcpiDmDumpCdat()
981 * PARAMETERS: Table - A CEDT table
986 * of an open-ended number of subtables.
996 UINT32 Length = Table->Length; in AcpiDmDumpCedt()
997 UINT32 Offset = sizeof (ACPI_TABLE_CEDT); in AcpiDmDumpCedt() local
1002 Subtable = ACPI_ADD_PTR (ACPI_CEDT_HEADER, Table, Offset); in AcpiDmDumpCedt()
1003 while (Offset < Table->Length) in AcpiDmDumpCedt()
1008 Status = AcpiDmDumpTable (Length, Offset, Subtable, in AcpiDmDumpCedt()
1009 Subtable->Length, AcpiDmTableInfoCedtHdr); in AcpiDmDumpCedt()
1015 switch (Subtable->Type) in AcpiDmDumpCedt()
1018 Status = AcpiDmDumpTable (Length, Offset, Subtable, in AcpiDmDumpCedt()
1019 Subtable->Length, AcpiDmTableInfoCedt0); in AcpiDmDumpCedt()
1031 if (ptr->InterleaveWays < 8) in AcpiDmDumpCedt()
1032 max = 1 << (ptr->InterleaveWays); in AcpiDmDumpCedt()
1034 max = 3 << (ptr->InterleaveWays - 8); in AcpiDmDumpCedt()
1038 Status = AcpiDmDumpTable (Length, Offset, Subtable, in AcpiDmDumpCedt()
1039 Subtable->Length, AcpiDmTableInfoCedt1); in AcpiDmDumpCedt()
1049 … unsigned int loc_offset = Offset + (i * 4) + ACPI_OFFSET (ACPI_CEDT_CFMWS, InterleaveTargets); in AcpiDmDumpCedt()
1050 unsigned int *trg = &(ptr->InterleaveTargets[i]); in AcpiDmDumpCedt()
1053 Subtable->Length, AcpiDmTableInfoCedt1_te); in AcpiDmDumpCedt()
1065 unsigned int i, max = ptr->NrXormaps; in AcpiDmDumpCedt()
1069 Status = AcpiDmDumpTable (Length, Offset, Subtable, in AcpiDmDumpCedt()
1070 Subtable->Length, AcpiDmTableInfoCedt2); in AcpiDmDumpCedt()
1080 … unsigned int loc_offset = Offset + (i * 1) + ACPI_OFFSET (ACPI_CEDT_CXIMS, XormapList); in AcpiDmDumpCedt()
1081 UINT64 *trg = &(ptr->XormapList[i]); in AcpiDmDumpCedt()
1084 Subtable->Length, AcpiDmTableInfoCedt2_te); in AcpiDmDumpCedt()
1094 AcpiOsPrintf ("\n**** Unknown CEDT subtable type 0x%X\n\n", in AcpiDmDumpCedt()
1095 Subtable->Type); in AcpiDmDumpCedt()
1098 if (!Subtable->Length) in AcpiDmDumpCedt()
1106 Offset += Subtable->Length; in AcpiDmDumpCedt()
1108 Subtable->Length); in AcpiDmDumpCedt()
1116 * PARAMETERS: Table - A CPEP table
1121 * of an open-ended number of subtables.
1131 UINT32 Length = Table->Length; in AcpiDmDumpCpep()
1132 UINT32 Offset = sizeof (ACPI_TABLE_CPEP); in AcpiDmDumpCpep() local
1145 Subtable = ACPI_ADD_PTR (ACPI_CPEP_POLLING, Table, Offset); in AcpiDmDumpCpep()
1146 while (Offset < Table->Length) in AcpiDmDumpCpep()
1149 Status = AcpiDmDumpTable (Length, Offset, Subtable, in AcpiDmDumpCpep()
1150 Subtable->Header.Length, AcpiDmTableInfoCpep0); in AcpiDmDumpCpep()
1158 Offset += Subtable->Header.Length; in AcpiDmDumpCpep()
1160 Subtable->Header.Length); in AcpiDmDumpCpep()
1169 * PARAMETERS: Table - A CSRT table
1174 * of an open-ended number of subtables.
1186 UINT32 Length = Table->Length; in AcpiDmDumpCsrt()
1187 UINT32 Offset = sizeof (ACPI_TABLE_CSRT); in AcpiDmDumpCsrt() local
1197 Subtable = ACPI_ADD_PTR (ACPI_CSRT_GROUP, Table, Offset); in AcpiDmDumpCsrt()
1198 while (Offset < Table->Length) in AcpiDmDumpCsrt()
1203 Status = AcpiDmDumpTable (Length, Offset, Subtable, in AcpiDmDumpCsrt()
1204 Subtable->Length, AcpiDmTableInfoCsrt0); in AcpiDmDumpCsrt()
1214 Offset + SubOffset); in AcpiDmDumpCsrt()
1217 Status = AcpiDmDumpTable (Length, Offset + SubOffset, SharedInfoTable, in AcpiDmDumpCsrt()
1224 SubOffset += Subtable->SharedInfoLength; in AcpiDmDumpCsrt()
1226 /* Sub-Subtables (Resource Descriptors) */ in AcpiDmDumpCsrt()
1229 Offset + SubOffset); in AcpiDmDumpCsrt()
1231 while ((SubOffset < Subtable->Length) && in AcpiDmDumpCsrt()
1232 ((Offset + SubOffset) < Table->Length)) in AcpiDmDumpCsrt()
1235 Status = AcpiDmDumpTable (Length, Offset + SubOffset, SubSubtable, in AcpiDmDumpCsrt()
1236 SubSubtable->Length, AcpiDmTableInfoCsrt2); in AcpiDmDumpCsrt()
1244 /* Resource-specific info buffer */ in AcpiDmDumpCsrt()
1246 InfoLength = SubSubtable->Length - SubSubOffset; in AcpiDmDumpCsrt()
1250 Offset + SubOffset + SubSubOffset, Table, in AcpiDmDumpCsrt()
1258 /* Point to next sub-subtable */ in AcpiDmDumpCsrt()
1260 SubOffset += SubSubtable->Length; in AcpiDmDumpCsrt()
1262 SubSubtable->Length); in AcpiDmDumpCsrt()
1267 Offset += Subtable->Length; in AcpiDmDumpCsrt()
1269 Subtable->Length); in AcpiDmDumpCsrt()
1278 * PARAMETERS: Table - A DBG2 table
1283 * of an open-ended number of subtables.
1293 UINT32 Length = Table->Length; in AcpiDmDumpDbg2()
1294 UINT32 Offset = sizeof (ACPI_TABLE_DBG2); in AcpiDmDumpDbg2() local
1311 Subtable = ACPI_ADD_PTR (ACPI_DBG2_DEVICE, Table, Offset); in AcpiDmDumpDbg2()
1312 while (Offset < Table->Length) in AcpiDmDumpDbg2()
1315 Status = AcpiDmDumpTable (Length, Offset, Subtable, in AcpiDmDumpDbg2()
1316 Subtable->Length, AcpiDmTableInfoDbg2Device); in AcpiDmDumpDbg2()
1324 for (i = 0; i < Subtable->RegisterCount; i++) in AcpiDmDumpDbg2()
1326 ArrayOffset = Subtable->BaseAddressOffset + in AcpiDmDumpDbg2()
1328 AbsoluteOffset = Offset + ArrayOffset; in AcpiDmDumpDbg2()
1332 Subtable->Length, AcpiDmTableInfoDbg2Addr); in AcpiDmDumpDbg2()
1341 for (i = 0; i < Subtable->RegisterCount; i++) in AcpiDmDumpDbg2()
1343 ArrayOffset = Subtable->AddressSizeOffset + in AcpiDmDumpDbg2()
1345 AbsoluteOffset = Offset + ArrayOffset; in AcpiDmDumpDbg2()
1349 Subtable->Length, AcpiDmTableInfoDbg2Size); in AcpiDmDumpDbg2()
1359 ArrayOffset = Subtable->NamepathOffset; in AcpiDmDumpDbg2()
1360 AbsoluteOffset = Offset + ArrayOffset; in AcpiDmDumpDbg2()
1364 Subtable->Length, AcpiDmTableInfoDbg2Name); in AcpiDmDumpDbg2()
1372 if (Subtable->OemDataOffset) in AcpiDmDumpDbg2()
1374 Status = AcpiDmDumpTable (Length, Subtable->OemDataOffset, in AcpiDmDumpDbg2()
1375 Subtable, Subtable->OemDataLength, in AcpiDmDumpDbg2()
1385 Offset += Subtable->Length; in AcpiDmDumpDbg2()
1387 Subtable->Length); in AcpiDmDumpDbg2()
1396 * PARAMETERS: Table - A DMAR table
1401 * of an open-ended number of subtables.
1411 UINT32 Length = Table->Length; in AcpiDmDumpDmar()
1412 UINT32 Offset = sizeof (ACPI_TABLE_DMAR); in AcpiDmDumpDmar() local
1430 Subtable = ACPI_ADD_PTR (ACPI_DMAR_HEADER, Table, Offset); in AcpiDmDumpDmar()
1431 while (Offset < Table->Length) in AcpiDmDumpDmar()
1436 Status = AcpiDmDumpTable (Length, Offset, Subtable, in AcpiDmDumpDmar()
1437 Subtable->Length, AcpiDmTableInfoDmarHdr); in AcpiDmDumpDmar()
1445 switch (Subtable->Type) in AcpiDmDumpDmar()
1491 AcpiOsPrintf ("\n**** Unknown DMAR subtable type 0x%X\n\n", in AcpiDmDumpDmar()
1492 Subtable->Type); in AcpiDmDumpDmar()
1496 Status = AcpiDmDumpTable (Length, Offset, Subtable, in AcpiDmDumpDmar()
1497 Subtable->Length, InfoTable); in AcpiDmDumpDmar()
1506 if ((Subtable->Type == ACPI_DMAR_TYPE_HARDWARE_AFFINITY) || in AcpiDmDumpDmar()
1507 (Subtable->Type == ACPI_DMAR_TYPE_NAMESPACE)) in AcpiDmDumpDmar()
1515 while (ScopeOffset < Subtable->Length) in AcpiDmDumpDmar()
1518 Status = AcpiDmDumpTable (Length, Offset + ScopeOffset, ScopeTable, in AcpiDmDumpDmar()
1519 ScopeTable->Length, AcpiDmTableInfoDmarScope); in AcpiDmDumpDmar()
1528 PathOffset = sizeof (ACPI_DMAR_DEVICE_SCOPE); /* Path entries start at this offset */ in AcpiDmDumpDmar()
1533 while (PathOffset < ScopeTable->Length) in AcpiDmDumpDmar()
1535 AcpiDmLineHeader ((PathOffset + ScopeOffset + Offset), 2, in AcpiDmDumpDmar()
1537 AcpiOsPrintf ("%2.2X,%2.2X\n", PciPath[0], PciPath[1]); in AcpiDmDumpDmar()
1548 ScopeOffset += ScopeTable->Length; in AcpiDmDumpDmar()
1550 ScopeTable, ScopeTable->Length); in AcpiDmDumpDmar()
1556 Offset += Subtable->Length; in AcpiDmDumpDmar()
1558 Subtable->Length); in AcpiDmDumpDmar()
1567 * PARAMETERS: Table - A DRTM table
1580 UINT32 Offset; in AcpiDmDumpDrtm() local
1589 Status = AcpiDmDumpTable (Table->Length, 0, Table, 0, in AcpiDmDumpDrtm()
1596 Offset = sizeof (ACPI_TABLE_DRTM); in AcpiDmDumpDrtm()
1598 /* Sub-tables */ in AcpiDmDumpDrtm()
1602 DrtmVtl = ACPI_ADD_PTR (ACPI_DRTM_VTABLE_LIST, Table, Offset); in AcpiDmDumpDrtm()
1604 Status = AcpiDmDumpTable (Table->Length, Offset, in AcpiDmDumpDrtm()
1612 Offset += ACPI_OFFSET (ACPI_DRTM_VTABLE_LIST, ValidatedTables); in AcpiDmDumpDrtm()
1617 while ((Offset < Table->Length) && in AcpiDmDumpDrtm()
1618 (DrtmVtl->ValidatedTableCount > Count)) in AcpiDmDumpDrtm()
1620 Status = AcpiDmDumpTable (Table->Length, Offset, in AcpiDmDumpDrtm()
1621 ACPI_ADD_PTR (void, Table, Offset), sizeof (UINT64), in AcpiDmDumpDrtm()
1628 Offset += sizeof (UINT64); in AcpiDmDumpDrtm()
1634 DrtmRl = ACPI_ADD_PTR (ACPI_DRTM_RESOURCE_LIST, Table, Offset); in AcpiDmDumpDrtm()
1636 Status = AcpiDmDumpTable (Table->Length, Offset, in AcpiDmDumpDrtm()
1644 Offset += ACPI_OFFSET (ACPI_DRTM_RESOURCE_LIST, Resources); in AcpiDmDumpDrtm()
1649 while ((Offset < Table->Length) && in AcpiDmDumpDrtm()
1650 (DrtmRl->ResourceCount > Count)) in AcpiDmDumpDrtm()
1652 Status = AcpiDmDumpTable (Table->Length, Offset, in AcpiDmDumpDrtm()
1653 ACPI_ADD_PTR (void, Table, Offset), in AcpiDmDumpDrtm()
1660 Offset += sizeof (ACPI_DRTM_RESOURCE); in AcpiDmDumpDrtm()
1666 DrtmDps = ACPI_ADD_PTR (ACPI_DRTM_DPS_ID, Table, Offset); in AcpiDmDumpDrtm()
1668 (void) AcpiDmDumpTable (Table->Length, Offset, in AcpiDmDumpDrtm()
1677 * PARAMETERS: Table - A EINJ table
1682 * of an open-ended number of subtables.
1692 UINT32 Length = Table->Length; in AcpiDmDumpEinj()
1693 UINT32 Offset = sizeof (ACPI_TABLE_EINJ); in AcpiDmDumpEinj() local
1706 Subtable = ACPI_ADD_PTR (ACPI_WHEA_HEADER, Table, Offset); in AcpiDmDumpEinj()
1707 while (Offset < Table->Length) in AcpiDmDumpEinj()
1710 Status = AcpiDmDumpTable (Length, Offset, Subtable, in AcpiDmDumpEinj()
1719 Offset += sizeof (ACPI_WHEA_HEADER); in AcpiDmDumpEinj()
1730 * PARAMETERS: Table - A ERDT table
1735 * of an open-ended number of subtables.
1746 UINT32 Offset = sizeof (ACPI_TABLE_ERDT); in AcpiDmDumpErdt() local
1755 Status = AcpiDmDumpTable (Table->Length, 0, Table, 0, AcpiDmTableInfoErdt); in AcpiDmDumpErdt()
1762 Subtable = ACPI_ADD_PTR (ACPI_SUBTBL_HDR_16, Table, Offset); in AcpiDmDumpErdt()
1763 while (Offset < Table->Length) in AcpiDmDumpErdt()
1769 Status = AcpiDmDumpTable (Table->Length, Offset, Subtable, in AcpiDmDumpErdt()
1770 Subtable->Length, AcpiDmTableInfoErdtHdr); in AcpiDmDumpErdt()
1777 Status = AcpiDmDumpTable (Table->Length, Offset, Subtable, in AcpiDmDumpErdt()
1778 Subtable->Length, AcpiDmTableInfoErdtRmdd); in AcpiDmDumpErdt()
1786 Suboffset = Offset + sizeof(ACPI_ERDT_RMDD); in AcpiDmDumpErdt()
1788 while (Suboffset < Offset + Subtable->Length) in AcpiDmDumpErdt()
1794 switch (Subsubtable->Type) in AcpiDmDumpErdt()
1845 AcpiOsPrintf ("\n**** Unknown RMDD subtable type 0x%X\n", in AcpiDmDumpErdt()
1846 Subsubtable->Type); in AcpiDmDumpErdt()
1850 if (!Subsubtable->Length) in AcpiDmDumpErdt()
1860 Status = AcpiDmDumpTable (Table->Length, Suboffset, Subsubtable, in AcpiDmDumpErdt()
1861 Subsubtable->Length, AcpiDmTableInfoErdtHdr); in AcpiDmDumpErdt()
1869 Status = AcpiDmDumpTable (Table->Length, Suboffset, Subsubtable, in AcpiDmDumpErdt()
1870 Subsubtable->Length, InfoTable); in AcpiDmDumpErdt()
1881 while (NumTrailers < Subsubtable->Length - SubsubtableLength) in AcpiDmDumpErdt()
1886 Status = AcpiDmDumpTable (Table->Length, Suboffset + in AcpiDmDumpErdt()
1905 while (ScopeOffset < Suboffset + Subsubtable->Length) in AcpiDmDumpErdt()
1910 Status = AcpiDmDumpTable (Table->Length, ScopeOffset, in AcpiDmDumpErdt()
1911 ScopeTable, ScopeTable->Header.Length, DacdEntries); in AcpiDmDumpErdt()
1920 while (NumTrailers < ScopeTable->Header.Length - sizeof(ACPI_ERDT_DACD_PATHS)) in AcpiDmDumpErdt()
1924 Status = AcpiDmDumpTable (Table->Length, ScopeOffset + in AcpiDmDumpErdt()
1936 ScopeOffset += ScopeTable->Header.Length; in AcpiDmDumpErdt()
1938 ScopeTable, ScopeTable->Header.Length); in AcpiDmDumpErdt()
1942 Suboffset += Subsubtable->Length; in AcpiDmDumpErdt()
1946 Offset += Subtable->Length; in AcpiDmDumpErdt()
1948 Subtable->Length); in AcpiDmDumpErdt()
1957 * PARAMETERS: Table - A ERST table
1962 * of an open-ended number of subtables.
1972 UINT32 Length = Table->Length; in AcpiDmDumpErst()
1973 UINT32 Offset = sizeof (ACPI_TABLE_ERST); in AcpiDmDumpErst() local
1986 Subtable = ACPI_ADD_PTR (ACPI_WHEA_HEADER, Table, Offset); in AcpiDmDumpErst()
1987 while (Offset < Table->Length) in AcpiDmDumpErst()
1990 Status = AcpiDmDumpTable (Length, Offset, Subtable, in AcpiDmDumpErst()
1999 Offset += sizeof (ACPI_WHEA_HEADER); in AcpiDmDumpErst()
2010 * PARAMETERS: Table - A FPDT table
2015 * of an open-ended number of subtables.
2025 UINT32 Length = Table->Length; in AcpiDmDumpFpdt()
2026 UINT32 Offset = sizeof (ACPI_TABLE_FPDT); in AcpiDmDumpFpdt() local
2034 Subtable = ACPI_ADD_PTR (ACPI_FPDT_HEADER, Table, Offset); in AcpiDmDumpFpdt()
2035 while (Offset < Table->Length) in AcpiDmDumpFpdt()
2040 Status = AcpiDmDumpTable (Length, Offset, Subtable, in AcpiDmDumpFpdt()
2041 Subtable->Length, AcpiDmTableInfoFpdtHdr); in AcpiDmDumpFpdt()
2047 switch (Subtable->Type) in AcpiDmDumpFpdt()
2061 AcpiOsPrintf ("\n**** Unknown FPDT subtable type 0x%X\n\n", in AcpiDmDumpFpdt()
2062 Subtable->Type); in AcpiDmDumpFpdt()
2066 if (!Subtable->Length) in AcpiDmDumpFpdt()
2074 Status = AcpiDmDumpTable (Length, Offset, Subtable, in AcpiDmDumpFpdt()
2075 Subtable->Length, InfoTable); in AcpiDmDumpFpdt()
2084 Offset += Subtable->Length; in AcpiDmDumpFpdt()
2086 Subtable->Length); in AcpiDmDumpFpdt()
2095 * PARAMETERS: Table - A GTDT table
2100 * of an open-ended number of subtables.
2110 UINT32 Length = Table->Length; in AcpiDmDumpGtdt()
2111 UINT32 Offset = sizeof (ACPI_TABLE_GTDT); in AcpiDmDumpGtdt() local
2128 Subtable = ACPI_ADD_PTR (ACPI_GTDT_HEADER, Table, Offset); in AcpiDmDumpGtdt()
2130 if (Table->Revision > 2) in AcpiDmDumpGtdt()
2133 Status = AcpiDmDumpTable (Length, Offset, Subtable, in AcpiDmDumpGtdt()
2139 Offset += SubtableLength; in AcpiDmDumpGtdt()
2142 Subtable = ACPI_ADD_PTR (ACPI_GTDT_HEADER, Table, Offset); in AcpiDmDumpGtdt()
2146 while (Offset < Table->Length) in AcpiDmDumpGtdt()
2151 Status = AcpiDmDumpTable (Length, Offset, Subtable, in AcpiDmDumpGtdt()
2152 Subtable->Length, AcpiDmTableInfoGtdtHdr); in AcpiDmDumpGtdt()
2159 switch (Subtable->Type) in AcpiDmDumpGtdt()
2165 Subtable))->TimerCount; in AcpiDmDumpGtdt()
2179 /* Cannot continue on unknown type - no length */ in AcpiDmDumpGtdt()
2181 AcpiOsPrintf ("\n**** Unknown GTDT subtable type 0x%X\n", in AcpiDmDumpGtdt()
2182 Subtable->Type); in AcpiDmDumpGtdt()
2186 Status = AcpiDmDumpTable (Length, Offset, Subtable, in AcpiDmDumpGtdt()
2187 Subtable->Length, InfoTable); in AcpiDmDumpGtdt()
2195 Offset += SubtableLength; in AcpiDmDumpGtdt()
2208 Status = AcpiDmDumpTable (Length, Offset, GtxTable, in AcpiDmDumpGtdt()
2214 Offset += sizeof (ACPI_GTDT_TIMER_ENTRY); in AcpiDmDumpGtdt()
2216 GtCount--; in AcpiDmDumpGtdt()
2231 * PARAMETERS: Table - A HEST table
2236 * of an open-ended number of subtables.
2246 UINT32 Length = Table->Length; in AcpiDmDumpHest()
2247 UINT32 Offset = sizeof (ACPI_TABLE_HEST); in AcpiDmDumpHest() local
2264 Subtable = ACPI_ADD_PTR (ACPI_HEST_HEADER, Table, Offset); in AcpiDmDumpHest()
2265 while (Offset < Table->Length) in AcpiDmDumpHest()
2268 switch (Subtable->Type) in AcpiDmDumpHest()
2275 Subtable))->NumHardwareBanks; in AcpiDmDumpHest()
2283 Subtable))->NumHardwareBanks; in AcpiDmDumpHest()
2327 Subtable))->NumHardwareBanks; in AcpiDmDumpHest()
2332 /* Cannot continue on unknown type - no length */ in AcpiDmDumpHest()
2334 AcpiOsPrintf ("\n**** Unknown HEST subtable type 0x%X\n", in AcpiDmDumpHest()
2335 Subtable->Type); in AcpiDmDumpHest()
2340 Status = AcpiDmDumpTable (Length, Offset, Subtable, in AcpiDmDumpHest()
2349 Offset += SubtableLength; in AcpiDmDumpHest()
2351 /* If there are any (fixed-length) Error Banks from above, dump them now */ in AcpiDmDumpHest()
2362 Status = AcpiDmDumpTable (Length, Offset, BankTable, in AcpiDmDumpHest()
2369 Offset += sizeof (ACPI_HEST_IA_ERROR_BANK); in AcpiDmDumpHest()
2371 BankCount--; in AcpiDmDumpHest()
2386 * PARAMETERS: Table - A HMAT table
2402 UINT32 Offset; in AcpiDmDumpHmat() local
2411 Status = AcpiDmDumpTable (Table->Length, 0, Table, 0, AcpiDmTableInfoHmat); in AcpiDmDumpHmat()
2416 Offset = sizeof (ACPI_TABLE_HMAT); in AcpiDmDumpHmat()
2418 while (Offset < Table->Length) in AcpiDmDumpHmat()
2424 HmatStruct = ACPI_ADD_PTR (ACPI_HMAT_STRUCTURE, Table, Offset); in AcpiDmDumpHmat()
2425 if (HmatStruct->Length < sizeof (ACPI_HMAT_STRUCTURE)) in AcpiDmDumpHmat()
2430 Status = AcpiDmDumpTable (Table->Length, Offset, HmatStruct, in AcpiDmDumpHmat()
2431 HmatStruct->Length, AcpiDmTableInfoHmatHdr); in AcpiDmDumpHmat()
2437 switch (HmatStruct->Type) in AcpiDmDumpHmat()
2459 AcpiOsPrintf ("\n**** Unknown HMAT structure type 0x%X\n", in AcpiDmDumpHmat()
2460 HmatStruct->Type); in AcpiDmDumpHmat()
2469 if (HmatStruct->Length < Length) in AcpiDmDumpHmat()
2474 Status = AcpiDmDumpTable (Table->Length, Offset, HmatStruct, in AcpiDmDumpHmat()
2475 HmatStruct->Length, InfoTable); in AcpiDmDumpHmat()
2483 switch (HmatStruct->Type) in AcpiDmDumpHmat()
2492 if ((UINT32)(HmatStruct->Length - SubtableOffset) < in AcpiDmDumpHmat()
2493 (UINT32)(HmatLocality->NumberOfInitiatorPDs * 4)) in AcpiDmDumpHmat()
2498 for (i = 0; i < HmatLocality->NumberOfInitiatorPDs; i++) in AcpiDmDumpHmat()
2500 Status = AcpiDmDumpTable (Table->Length, Offset + SubtableOffset, in AcpiDmDumpHmat()
2513 if ((UINT32)(HmatStruct->Length - SubtableOffset) < in AcpiDmDumpHmat()
2514 (UINT32)(HmatLocality->NumberOfTargetPDs * 4)) in AcpiDmDumpHmat()
2519 for (i = 0; i < HmatLocality->NumberOfTargetPDs; i++) in AcpiDmDumpHmat()
2521 Status = AcpiDmDumpTable (Table->Length, Offset + SubtableOffset, in AcpiDmDumpHmat()
2534 if ((UINT32)(HmatStruct->Length - SubtableOffset) < in AcpiDmDumpHmat()
2535 (UINT32)(HmatLocality->NumberOfInitiatorPDs * in AcpiDmDumpHmat()
2536 HmatLocality->NumberOfTargetPDs * 2)) in AcpiDmDumpHmat()
2541 for (i = 0; i < HmatLocality->NumberOfInitiatorPDs; i++) in AcpiDmDumpHmat()
2543 for (j = 0; j < HmatLocality->NumberOfTargetPDs; j++) in AcpiDmDumpHmat()
2545 Status = AcpiDmDumpTable (Table->Length, Offset + SubtableOffset, in AcpiDmDumpHmat()
2565 if ((UINT32)(HmatStruct->Length - SubtableOffset) < in AcpiDmDumpHmat()
2566 (UINT32)(HmatCache->NumberOfSMBIOSHandles * 2)) in AcpiDmDumpHmat()
2571 for (i = 0; i < HmatCache->NumberOfSMBIOSHandles; i++) in AcpiDmDumpHmat()
2573 Status = AcpiDmDumpTable (Table->Length, Offset + SubtableOffset, in AcpiDmDumpHmat()
2593 Offset += (HmatStruct->Length); in AcpiDmDumpHmat()