Deleted Added
full compact
dmtbdump.c (193529) dmtbdump.c (197104)
1/******************************************************************************
2 *
3 * Module Name: dmtbdump - Dump ACPI data tables that contain no AML code
4 *
5 *****************************************************************************/
6
7/******************************************************************************
8 *

--- 292 unchanged lines hidden (view full) ---

301 ACPI_ASF_INFO *SubTable;
302 ACPI_DMTABLE_INFO *InfoTable;
303 ACPI_DMTABLE_INFO *DataInfoTable = NULL;
304 UINT8 *DataTable = NULL;
305 UINT32 DataCount = 0;
306 UINT32 DataLength = 0;
307 UINT32 DataOffset = 0;
308 UINT32 i;
1/******************************************************************************
2 *
3 * Module Name: dmtbdump - Dump ACPI data tables that contain no AML code
4 *
5 *****************************************************************************/
6
7/******************************************************************************
8 *

--- 292 unchanged lines hidden (view full) ---

301 ACPI_ASF_INFO *SubTable;
302 ACPI_DMTABLE_INFO *InfoTable;
303 ACPI_DMTABLE_INFO *DataInfoTable = NULL;
304 UINT8 *DataTable = NULL;
305 UINT32 DataCount = 0;
306 UINT32 DataLength = 0;
307 UINT32 DataOffset = 0;
308 UINT32 i;
309 UINT8 Type;
309
310
311 /* No main table, only sub-tables */
312
313 SubTable = ACPI_ADD_PTR (ACPI_ASF_INFO, Table, Offset);
314 while (Offset < Table->Length)
315 {
316 /* Common sub-table header */
317
318 Status = AcpiDmDumpTable (Table->Length, Offset, SubTable,
319 SubTable->Header.Length, AcpiDmTableInfoAsfHdr);
320 if (ACPI_FAILURE (Status))
321 {
322 return;
323 }
324
310
311
312 /* No main table, only sub-tables */
313
314 SubTable = ACPI_ADD_PTR (ACPI_ASF_INFO, Table, Offset);
315 while (Offset < Table->Length)
316 {
317 /* Common sub-table header */
318
319 Status = AcpiDmDumpTable (Table->Length, Offset, SubTable,
320 SubTable->Header.Length, AcpiDmTableInfoAsfHdr);
321 if (ACPI_FAILURE (Status))
322 {
323 return;
324 }
325
325 switch (SubTable->Header.Type & 0x7F) /* Mask off top bit */
326 /* The actual type is the lower 7 bits of Type */
327
328 Type = (UINT8) (SubTable->Header.Type & 0x7F);
329
330 switch (Type)
326 {
327 case ACPI_ASF_TYPE_INFO:
328 InfoTable = AcpiDmTableInfoAsf0;
329 break;
330
331 case ACPI_ASF_TYPE_ALERT:
332 InfoTable = AcpiDmTableInfoAsf1;
333 DataInfoTable = AcpiDmTableInfoAsf1a;
334 DataTable = ACPI_ADD_PTR (UINT8, SubTable, sizeof (ACPI_ASF_ALERT));
331 {
332 case ACPI_ASF_TYPE_INFO:
333 InfoTable = AcpiDmTableInfoAsf0;
334 break;
335
336 case ACPI_ASF_TYPE_ALERT:
337 InfoTable = AcpiDmTableInfoAsf1;
338 DataInfoTable = AcpiDmTableInfoAsf1a;
339 DataTable = ACPI_ADD_PTR (UINT8, SubTable, sizeof (ACPI_ASF_ALERT));
335 DataCount = ((ACPI_ASF_ALERT *) SubTable)->Alerts;
336 DataLength = ((ACPI_ASF_ALERT *) SubTable)->DataLength;
340 DataCount = ACPI_CAST_PTR (ACPI_ASF_ALERT, SubTable)->Alerts;
341 DataLength = ACPI_CAST_PTR (ACPI_ASF_ALERT, SubTable)->DataLength;
337 DataOffset = Offset + sizeof (ACPI_ASF_ALERT);
338 break;
339
340 case ACPI_ASF_TYPE_CONTROL:
341 InfoTable = AcpiDmTableInfoAsf2;
342 DataInfoTable = AcpiDmTableInfoAsf2a;
343 DataTable = ACPI_ADD_PTR (UINT8, SubTable, sizeof (ACPI_ASF_REMOTE));
342 DataOffset = Offset + sizeof (ACPI_ASF_ALERT);
343 break;
344
345 case ACPI_ASF_TYPE_CONTROL:
346 InfoTable = AcpiDmTableInfoAsf2;
347 DataInfoTable = AcpiDmTableInfoAsf2a;
348 DataTable = ACPI_ADD_PTR (UINT8, SubTable, sizeof (ACPI_ASF_REMOTE));
344 DataCount = ((ACPI_ASF_REMOTE *) SubTable)->Controls;
345 DataLength = ((ACPI_ASF_REMOTE *) SubTable)->DataLength;
349 DataCount = ACPI_CAST_PTR (ACPI_ASF_REMOTE, SubTable)->Controls;
350 DataLength = ACPI_CAST_PTR (ACPI_ASF_REMOTE, SubTable)->DataLength;
346 DataOffset = Offset + sizeof (ACPI_ASF_REMOTE);
347 break;
348
349 case ACPI_ASF_TYPE_BOOT:
350 InfoTable = AcpiDmTableInfoAsf3;
351 break;
352
353 case ACPI_ASF_TYPE_ADDRESS:
354 InfoTable = AcpiDmTableInfoAsf4;
355 DataTable = ACPI_ADD_PTR (UINT8, SubTable, sizeof (ACPI_ASF_ADDRESS));
351 DataOffset = Offset + sizeof (ACPI_ASF_REMOTE);
352 break;
353
354 case ACPI_ASF_TYPE_BOOT:
355 InfoTable = AcpiDmTableInfoAsf3;
356 break;
357
358 case ACPI_ASF_TYPE_ADDRESS:
359 InfoTable = AcpiDmTableInfoAsf4;
360 DataTable = ACPI_ADD_PTR (UINT8, SubTable, sizeof (ACPI_ASF_ADDRESS));
356 DataLength = ((ACPI_ASF_ADDRESS *) SubTable)->Devices;
361 DataLength = ACPI_CAST_PTR (ACPI_ASF_ADDRESS, SubTable)->Devices;
357 DataOffset = Offset + sizeof (ACPI_ASF_ADDRESS);
358 break;
359
360 default:
361 AcpiOsPrintf ("\n**** Unknown ASF sub-table type %X\n", SubTable->Header.Type);
362 return;
363 }
364
365 Status = AcpiDmDumpTable (Table->Length, Offset, SubTable,
366 SubTable->Header.Length, InfoTable);
367 if (ACPI_FAILURE (Status))
368 {
369 return;
370 }
371
372 /* Dump variable-length extra data */
373
362 DataOffset = Offset + sizeof (ACPI_ASF_ADDRESS);
363 break;
364
365 default:
366 AcpiOsPrintf ("\n**** Unknown ASF sub-table type %X\n", SubTable->Header.Type);
367 return;
368 }
369
370 Status = AcpiDmDumpTable (Table->Length, Offset, SubTable,
371 SubTable->Header.Length, InfoTable);
372 if (ACPI_FAILURE (Status))
373 {
374 return;
375 }
376
377 /* Dump variable-length extra data */
378
374 switch (SubTable->Header.Type & 0x7F) /* Mask off top bit */
379 switch (Type)
375 {
376 case ACPI_ASF_TYPE_ALERT:
377 case ACPI_ASF_TYPE_CONTROL:
378
379 for (i = 0; i < DataCount; i++)
380 {
381 AcpiOsPrintf ("\n");
382 Status = AcpiDmDumpTable (Table->Length, DataOffset,

--- 83 unchanged lines hidden (view full) ---

466
467 /* Sub-tables */
468
469 SubTable = ACPI_ADD_PTR (ACPI_CPEP_POLLING, Table, Offset);
470 while (Offset < Table->Length)
471 {
472 AcpiOsPrintf ("\n");
473 Status = AcpiDmDumpTable (Length, Offset, SubTable,
380 {
381 case ACPI_ASF_TYPE_ALERT:
382 case ACPI_ASF_TYPE_CONTROL:
383
384 for (i = 0; i < DataCount; i++)
385 {
386 AcpiOsPrintf ("\n");
387 Status = AcpiDmDumpTable (Table->Length, DataOffset,

--- 83 unchanged lines hidden (view full) ---

471
472 /* Sub-tables */
473
474 SubTable = ACPI_ADD_PTR (ACPI_CPEP_POLLING, Table, Offset);
475 while (Offset < Table->Length)
476 {
477 AcpiOsPrintf ("\n");
478 Status = AcpiDmDumpTable (Length, Offset, SubTable,
474 SubTable->Length, AcpiDmTableInfoCpep0);
479 SubTable->Header.Length, AcpiDmTableInfoCpep0);
475 if (ACPI_FAILURE (Status))
476 {
477 return;
478 }
479
480 /* Point to next sub-table */
481
480 if (ACPI_FAILURE (Status))
481 {
482 return;
483 }
484
485 /* Point to next sub-table */
486
482 Offset += SubTable->Length;
483 SubTable = ACPI_ADD_PTR (ACPI_CPEP_POLLING, SubTable, SubTable->Length);
487 Offset += SubTable->Header.Length;
488 SubTable = ACPI_ADD_PTR (ACPI_CPEP_POLLING, SubTable,
489 SubTable->Header.Length);
484 }
485}
486
487
488/*******************************************************************************
489 *
490 * FUNCTION: AcpiDmDumpDmar
491 *

--- 53 unchanged lines hidden (view full) ---

545 case ACPI_DMAR_TYPE_RESERVED_MEMORY:
546 InfoTable = AcpiDmTableInfoDmar1;
547 ScopeOffset = sizeof (ACPI_DMAR_RESERVED_MEMORY);
548 break;
549 case ACPI_DMAR_TYPE_ATSR:
550 InfoTable = AcpiDmTableInfoDmar2;
551 ScopeOffset = sizeof (ACPI_DMAR_ATSR);
552 break;
490 }
491}
492
493
494/*******************************************************************************
495 *
496 * FUNCTION: AcpiDmDumpDmar
497 *

--- 53 unchanged lines hidden (view full) ---

551 case ACPI_DMAR_TYPE_RESERVED_MEMORY:
552 InfoTable = AcpiDmTableInfoDmar1;
553 ScopeOffset = sizeof (ACPI_DMAR_RESERVED_MEMORY);
554 break;
555 case ACPI_DMAR_TYPE_ATSR:
556 InfoTable = AcpiDmTableInfoDmar2;
557 ScopeOffset = sizeof (ACPI_DMAR_ATSR);
558 break;
559 case ACPI_DMAR_HARDWARE_AFFINITY:
560 InfoTable = AcpiDmTableInfoDmar3;
561 ScopeOffset = sizeof (ACPI_DMAR_RHSA);
562 break;
553 default:
554 AcpiOsPrintf ("\n**** Unknown DMAR sub-table type %X\n\n", SubTable->Type);
555 return;
556 }
557
558 Status = AcpiDmDumpTable (Length, Offset, SubTable,
559 SubTable->Length, InfoTable);
560 if (ACPI_FAILURE (Status))

--- 171 unchanged lines hidden (view full) ---

732 ACPI_TABLE_HEADER *Table)
733{
734 ACPI_STATUS Status;
735 ACPI_HEST_HEADER *SubTable;
736 UINT32 Length = Table->Length;
737 UINT32 Offset = sizeof (ACPI_TABLE_HEST);
738 ACPI_DMTABLE_INFO *InfoTable;
739 UINT32 SubTableLength;
563 default:
564 AcpiOsPrintf ("\n**** Unknown DMAR sub-table type %X\n\n", SubTable->Type);
565 return;
566 }
567
568 Status = AcpiDmDumpTable (Length, Offset, SubTable,
569 SubTable->Length, InfoTable);
570 if (ACPI_FAILURE (Status))

--- 171 unchanged lines hidden (view full) ---

742 ACPI_TABLE_HEADER *Table)
743{
744 ACPI_STATUS Status;
745 ACPI_HEST_HEADER *SubTable;
746 UINT32 Length = Table->Length;
747 UINT32 Offset = sizeof (ACPI_TABLE_HEST);
748 ACPI_DMTABLE_INFO *InfoTable;
749 UINT32 SubTableLength;
750 UINT32 BankCount;
751 ACPI_HEST_IA_ERROR_BANK *BankTable;
740
741
742 /* Main table */
743
744 Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoHest);
745 if (ACPI_FAILURE (Status))
746 {
747 return;
748 }
749
750 /* Sub-tables */
751
752 SubTable = ACPI_ADD_PTR (ACPI_HEST_HEADER, Table, Offset);
753 while (Offset < Table->Length)
754 {
752
753
754 /* Main table */
755
756 Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoHest);
757 if (ACPI_FAILURE (Status))
758 {
759 return;
760 }
761
762 /* Sub-tables */
763
764 SubTable = ACPI_ADD_PTR (ACPI_HEST_HEADER, Table, Offset);
765 while (Offset < Table->Length)
766 {
767 BankCount = 0;
755 switch (SubTable->Type)
756 {
768 switch (SubTable->Type)
769 {
757 case ACPI_HEST_TYPE_XPF_MACHINE_CHECK:
770 case ACPI_HEST_TYPE_IA32_CHECK:
758 InfoTable = AcpiDmTableInfoHest0;
771 InfoTable = AcpiDmTableInfoHest0;
759 SubTableLength = sizeof (ACPI_HEST_XPF_MACHINE_CHECK);
772 SubTableLength = sizeof (ACPI_HEST_IA_MACHINE_CHECK);
773 BankCount = (ACPI_CAST_PTR (ACPI_HEST_IA_MACHINE_CHECK,
774 SubTable))->NumHardwareBanks;
760 break;
761
775 break;
776
762 case ACPI_HEST_TYPE_XPF_CORRECTED_MACHINE_CHECK:
777 case ACPI_HEST_TYPE_IA32_CORRECTED_CHECK:
763 InfoTable = AcpiDmTableInfoHest1;
778 InfoTable = AcpiDmTableInfoHest1;
764 SubTableLength = sizeof (ACPI_HEST_XPF_CORRECTED);
779 SubTableLength = sizeof (ACPI_HEST_IA_CORRECTED);
780 BankCount = (ACPI_CAST_PTR (ACPI_HEST_IA_CORRECTED,
781 SubTable))->NumHardwareBanks;
765 break;
766
782 break;
783
767 case ACPI_HEST_TYPE_XPF_NON_MASKABLE_INTERRUPT:
768 InfoTable = AcpiDmTableInfoHest3;
769 SubTableLength = sizeof (ACPI_HEST_XPF_NMI);
784 case ACPI_HEST_TYPE_IA32_NMI:
785 InfoTable = AcpiDmTableInfoHest2;
786 SubTableLength = sizeof (ACPI_HEST_IA_NMI);
770 break;
771
787 break;
788
772 case ACPI_HEST_TYPE_IPF_CORRECTED_MACHINE_CHECK:
773 InfoTable = AcpiDmTableInfoHest4;
774 SubTableLength = sizeof (ACPI_HEST_IPF_CORRECTED);
775 break;
776
777 case ACPI_HEST_TYPE_IPF_CORRECTED_PLATFORM_ERROR:
778 InfoTable = AcpiDmTableInfoHest5;
779 SubTableLength = sizeof (ACPI_HEST_IPF_CORRECTED_PLATFORM);
780 break;
781
782 case ACPI_HEST_TYPE_AER_ROOT_PORT:
783 InfoTable = AcpiDmTableInfoHest6;
784 SubTableLength = sizeof (ACPI_HEST_AER_ROOT);
785 break;
786
787 case ACPI_HEST_TYPE_AER_ENDPOINT:
788 InfoTable = AcpiDmTableInfoHest7;
789 SubTableLength = sizeof (ACPI_HEST_AER);
790 break;
791
792 case ACPI_HEST_TYPE_AER_BRIDGE:
793 InfoTable = AcpiDmTableInfoHest8;
794 SubTableLength = sizeof (ACPI_HEST_AER_BRIDGE);
795 break;
796
789 case ACPI_HEST_TYPE_AER_ROOT_PORT:
790 InfoTable = AcpiDmTableInfoHest6;
791 SubTableLength = sizeof (ACPI_HEST_AER_ROOT);
792 break;
793
794 case ACPI_HEST_TYPE_AER_ENDPOINT:
795 InfoTable = AcpiDmTableInfoHest7;
796 SubTableLength = sizeof (ACPI_HEST_AER);
797 break;
798
799 case ACPI_HEST_TYPE_AER_BRIDGE:
800 InfoTable = AcpiDmTableInfoHest8;
801 SubTableLength = sizeof (ACPI_HEST_AER_BRIDGE);
802 break;
803
797 case ACPI_HEST_TYPE_GENERIC_HARDWARE_ERROR_SOURCE:
804 case ACPI_HEST_TYPE_GENERIC_ERROR:
798 InfoTable = AcpiDmTableInfoHest9;
799 SubTableLength = sizeof (ACPI_HEST_GENERIC);
800 break;
801
802 default:
803 /* Cannot continue on unknown type - no length */
804
805 AcpiOsPrintf ("\n**** Unknown HEST sub-table type %X\n", SubTable->Type);
806 return;
807 }
808
809 AcpiOsPrintf ("\n");
810 Status = AcpiDmDumpTable (Length, Offset, SubTable,
811 SubTableLength, InfoTable);
812 if (ACPI_FAILURE (Status))
813 {
814 return;
815 }
816
805 InfoTable = AcpiDmTableInfoHest9;
806 SubTableLength = sizeof (ACPI_HEST_GENERIC);
807 break;
808
809 default:
810 /* Cannot continue on unknown type - no length */
811
812 AcpiOsPrintf ("\n**** Unknown HEST sub-table type %X\n", SubTable->Type);
813 return;
814 }
815
816 AcpiOsPrintf ("\n");
817 Status = AcpiDmDumpTable (Length, Offset, SubTable,
818 SubTableLength, InfoTable);
819 if (ACPI_FAILURE (Status))
820 {
821 return;
822 }
823
817 /* Point to next sub-table (each subtable is of fixed length) */
824 /* Point to end of current subtable (each subtable above is of fixed length) */
818
819 Offset += SubTableLength;
825
826 Offset += SubTableLength;
827
828 /* If there are any (fixed-length) Error Banks from above, dump them now */
829
830 if (BankCount)
831 {
832 BankTable = ACPI_ADD_PTR (ACPI_HEST_IA_ERROR_BANK, SubTable, SubTableLength);
833 SubTableLength += BankCount * sizeof (ACPI_HEST_IA_ERROR_BANK);
834
835 while (BankCount)
836 {
837 AcpiOsPrintf ("\n");
838 Status = AcpiDmDumpTable (Length, Offset, BankTable,
839 sizeof (ACPI_HEST_IA_ERROR_BANK), AcpiDmTableInfoHestBank);
840 if (ACPI_FAILURE (Status))
841 {
842 return;
843 }
844 Offset += sizeof (ACPI_HEST_IA_ERROR_BANK);
845 BankTable++;
846 BankCount--;
847 }
848 }
849
850 /* Point to next sub-table */
851
820 SubTable = ACPI_ADD_PTR (ACPI_HEST_HEADER, SubTable, SubTableLength);
821 }
822}
823
824
825/*******************************************************************************
826 *
852 SubTable = ACPI_ADD_PTR (ACPI_HEST_HEADER, SubTable, SubTableLength);
853 }
854}
855
856
857/*******************************************************************************
858 *
859 * FUNCTION: AcpiDmDumpIvrs
860 *
861 * PARAMETERS: Table - A IVRS table
862 *
863 * RETURN: None
864 *
865 * DESCRIPTION: Format the contents of a IVRS
866 *
867 ******************************************************************************/
868
869static UINT8 EntrySizes[] = {4,8,16,32};
870
871void
872AcpiDmDumpIvrs (
873 ACPI_TABLE_HEADER *Table)
874{
875 ACPI_STATUS Status;
876 UINT32 Offset = sizeof (ACPI_TABLE_IVRS);
877 UINT32 EntryOffset;
878 UINT32 EntryLength;
879 UINT32 EntryType;
880 ACPI_IVRS_DE_HEADER *DeviceEntry;
881 ACPI_IVRS_HEADER *SubTable;
882 ACPI_DMTABLE_INFO *InfoTable;
883
884
885 /* Main table */
886
887 Status = AcpiDmDumpTable (Table->Length, 0, Table, 0, AcpiDmTableInfoIvrs);
888 if (ACPI_FAILURE (Status))
889 {
890 return;
891 }
892
893 /* Sub-tables */
894
895 SubTable = ACPI_ADD_PTR (ACPI_IVRS_HEADER, Table, Offset);
896 while (Offset < Table->Length)
897 {
898 /* Common sub-table header */
899
900 AcpiOsPrintf ("\n");
901 Status = AcpiDmDumpTable (Table->Length, Offset, SubTable,
902 SubTable->Length, AcpiDmTableInfoIvrsHdr);
903 if (ACPI_FAILURE (Status))
904 {
905 return;
906 }
907
908 switch (SubTable->Type)
909 {
910 case ACPI_IVRS_TYPE_HARDWARE:
911 InfoTable = AcpiDmTableInfoIvrs0;
912 break;
913 case ACPI_IVRS_TYPE_MEMORY1:
914 case ACPI_IVRS_TYPE_MEMORY2:
915 case ACPI_IVRS_TYPE_MEMORY3:
916 InfoTable = AcpiDmTableInfoIvrs1;
917 break;
918 default:
919 AcpiOsPrintf ("\n**** Unknown IVRS sub-table type %X\n",
920 SubTable->Type);
921
922 /* Attempt to continue */
923
924 if (!SubTable->Length)
925 {
926 AcpiOsPrintf ("Invalid zero length subtable\n");
927 return;
928 }
929 goto NextSubTable;
930 }
931
932 /* Dump the subtable */
933
934 AcpiOsPrintf ("\n");
935 Status = AcpiDmDumpTable (Table->Length, Offset, SubTable,
936 SubTable->Length, InfoTable);
937 if (ACPI_FAILURE (Status))
938 {
939 return;
940 }
941
942 /* The hardware subtable can contain multiple device entries */
943
944 if (SubTable->Type == ACPI_IVRS_TYPE_HARDWARE)
945 {
946 EntryOffset = Offset + sizeof (ACPI_IVRS_HARDWARE);
947 DeviceEntry = ACPI_ADD_PTR (ACPI_IVRS_DE_HEADER, SubTable,
948 sizeof (ACPI_IVRS_HARDWARE));
949
950 while (EntryOffset < (Offset + SubTable->Length))
951 {
952 AcpiOsPrintf ("\n");
953 /*
954 * Upper 2 bits of Type encode the length of the device entry
955 *
956 * 00 = 4 byte
957 * 01 = 8 byte
958 * 10 = 16 byte - currently no entries defined
959 * 11 = 32 byte - currently no entries defined
960 */
961 EntryType = DeviceEntry->Type;
962 EntryLength = EntrySizes [EntryType >> 6];
963
964 switch (EntryType)
965 {
966 /* 4-byte device entries */
967
968 case ACPI_IVRS_TYPE_PAD4:
969 case ACPI_IVRS_TYPE_ALL:
970 case ACPI_IVRS_TYPE_SELECT:
971 case ACPI_IVRS_TYPE_START:
972 case ACPI_IVRS_TYPE_END:
973
974 InfoTable = AcpiDmTableInfoIvrs4;
975 break;
976
977 /* 8-byte entries, type A */
978
979 case ACPI_IVRS_TYPE_ALIAS_SELECT:
980 case ACPI_IVRS_TYPE_ALIAS_START:
981
982 InfoTable = AcpiDmTableInfoIvrs8a;
983 break;
984
985 /* 8-byte entries, type B */
986
987 case ACPI_IVRS_TYPE_PAD8:
988 case ACPI_IVRS_TYPE_EXT_SELECT:
989 case ACPI_IVRS_TYPE_EXT_START:
990
991 InfoTable = AcpiDmTableInfoIvrs8b;
992 break;
993
994 /* 8-byte entries, type C */
995
996 case ACPI_IVRS_TYPE_SPECIAL:
997
998 InfoTable = AcpiDmTableInfoIvrs8c;
999 break;
1000
1001 default:
1002 InfoTable = AcpiDmTableInfoIvrs4;
1003 AcpiOsPrintf (
1004 "\n**** Unknown IVRS device entry type/length: "
1005 "%.2X/%X at offset %.4X: (header below)\n",
1006 EntryType, EntryLength, EntryOffset);
1007 break;
1008 }
1009
1010 /* Dump the Device Entry */
1011
1012 Status = AcpiDmDumpTable (Table->Length, EntryOffset,
1013 DeviceEntry, EntryLength, InfoTable);
1014
1015 EntryOffset += EntryLength;
1016 DeviceEntry = ACPI_ADD_PTR (ACPI_IVRS_DE_HEADER, DeviceEntry,
1017 EntryLength);
1018 }
1019 }
1020
1021NextSubTable:
1022 /* Point to next sub-table */
1023
1024 Offset += SubTable->Length;
1025 SubTable = ACPI_ADD_PTR (ACPI_IVRS_HEADER, SubTable, SubTable->Length);
1026 }
1027}
1028
1029
1030/*******************************************************************************
1031 *
827 * FUNCTION: AcpiDmDumpMadt
828 *
829 * PARAMETERS: Table - A MADT table
830 *
831 * RETURN: None
832 *
833 * DESCRIPTION: Format the contents of a MADT. This table type consists
834 * of an open-ended number of subtables.

--- 153 unchanged lines hidden (view full) ---

988 SubTable = ACPI_ADD_PTR (ACPI_MCFG_ALLOCATION, SubTable,
989 sizeof (ACPI_MCFG_ALLOCATION));
990 }
991}
992
993
994/*******************************************************************************
995 *
1032 * FUNCTION: AcpiDmDumpMadt
1033 *
1034 * PARAMETERS: Table - A MADT table
1035 *
1036 * RETURN: None
1037 *
1038 * DESCRIPTION: Format the contents of a MADT. This table type consists
1039 * of an open-ended number of subtables.

--- 153 unchanged lines hidden (view full) ---

1193 SubTable = ACPI_ADD_PTR (ACPI_MCFG_ALLOCATION, SubTable,
1194 sizeof (ACPI_MCFG_ALLOCATION));
1195 }
1196}
1197
1198
1199/*******************************************************************************
1200 *
1201 * FUNCTION: AcpiDmDumpMsct
1202 *
1203 * PARAMETERS: Table - A MSCT table
1204 *
1205 * RETURN: None
1206 *
1207 * DESCRIPTION: Format the contents of a MSCT
1208 *
1209 ******************************************************************************/
1210
1211void
1212AcpiDmDumpMsct (
1213 ACPI_TABLE_HEADER *Table)
1214{
1215 ACPI_STATUS Status;
1216 UINT32 Offset = sizeof (ACPI_TABLE_MSCT);
1217 ACPI_MSCT_PROXIMITY *SubTable;
1218
1219
1220 /* Main table */
1221
1222 Status = AcpiDmDumpTable (Table->Length, 0, Table, 0, AcpiDmTableInfoMsct);
1223 if (ACPI_FAILURE (Status))
1224 {
1225 return;
1226 }
1227
1228 /* Sub-tables */
1229
1230 SubTable = ACPI_ADD_PTR (ACPI_MSCT_PROXIMITY, Table, Offset);
1231 while (Offset < Table->Length)
1232 {
1233 /* Common sub-table header */
1234
1235 AcpiOsPrintf ("\n");
1236 Status = AcpiDmDumpTable (Table->Length, Offset, SubTable,
1237 sizeof (ACPI_MSCT_PROXIMITY), AcpiDmTableInfoMsct0);
1238 if (ACPI_FAILURE (Status))
1239 {
1240 return;
1241 }
1242
1243 /* Point to next sub-table */
1244
1245 Offset += sizeof (ACPI_MSCT_PROXIMITY);
1246 SubTable = ACPI_ADD_PTR (ACPI_MSCT_PROXIMITY, SubTable, sizeof (ACPI_MSCT_PROXIMITY));
1247 }
1248}
1249
1250
1251/*******************************************************************************
1252 *
996 * FUNCTION: AcpiDmDumpSlit
997 *
998 * PARAMETERS: Table - An SLIT
999 *
1000 * RETURN: None
1001 *
1002 * DESCRIPTION: Format the contents of a SLIT
1003 *

--- 140 unchanged lines hidden (view full) ---

1144NextSubTable:
1145 /* Point to next sub-table */
1146
1147 Offset += SubTable->Length;
1148 SubTable = ACPI_ADD_PTR (ACPI_SUBTABLE_HEADER, SubTable, SubTable->Length);
1149 }
1150}
1151
1253 * FUNCTION: AcpiDmDumpSlit
1254 *
1255 * PARAMETERS: Table - An SLIT
1256 *
1257 * RETURN: None
1258 *
1259 * DESCRIPTION: Format the contents of a SLIT
1260 *

--- 140 unchanged lines hidden (view full) ---

1401NextSubTable:
1402 /* Point to next sub-table */
1403
1404 Offset += SubTable->Length;
1405 SubTable = ACPI_ADD_PTR (ACPI_SUBTABLE_HEADER, SubTable, SubTable->Length);
1406 }
1407}
1408
1409
1410/*******************************************************************************
1411 *
1412 * FUNCTION: AcpiDmDumpWdat
1413 *
1414 * PARAMETERS: Table - A WDAT table
1415 *
1416 * RETURN: None
1417 *
1418 * DESCRIPTION: Format the contents of a WDAT
1419 *
1420 ******************************************************************************/
1421
1422void
1423AcpiDmDumpWdat (
1424 ACPI_TABLE_HEADER *Table)
1425{
1426 ACPI_STATUS Status;
1427 UINT32 Offset = sizeof (ACPI_TABLE_WDAT);
1428 ACPI_WDAT_ENTRY *SubTable;
1429
1430
1431 /* Main table */
1432
1433 Status = AcpiDmDumpTable (Table->Length, 0, Table, 0, AcpiDmTableInfoWdat);
1434 if (ACPI_FAILURE (Status))
1435 {
1436 return;
1437 }
1438
1439 /* Sub-tables */
1440
1441 SubTable = ACPI_ADD_PTR (ACPI_WDAT_ENTRY, Table, Offset);
1442 while (Offset < Table->Length)
1443 {
1444 /* Common sub-table header */
1445
1446 AcpiOsPrintf ("\n");
1447 Status = AcpiDmDumpTable (Table->Length, Offset, SubTable,
1448 sizeof (ACPI_WDAT_ENTRY), AcpiDmTableInfoWdat0);
1449 if (ACPI_FAILURE (Status))
1450 {
1451 return;
1452 }
1453
1454 /* Point to next sub-table */
1455
1456 Offset += sizeof (ACPI_WDAT_ENTRY);
1457 SubTable = ACPI_ADD_PTR (ACPI_WDAT_ENTRY, SubTable, sizeof (ACPI_WDAT_ENTRY));
1458 }
1459}