]> git.proxmox.com Git - mirror_edk2.git/blob - ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.c
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / ShellPkg / Library / UefiShellDebug1CommandsLib / SmbiosView / QueryTable.c
1 /** @file
2 Build a table, each item is (Key, Info) pair.
3 And give a interface of query a string out of a table.
4
5 Copyright (c) 2005 - 2021, Intel Corporation. All rights reserved.<BR>
6 (C) Copyright 2016-2019 Hewlett Packard Enterprise Development LP<BR>
7 SPDX-License-Identifier: BSD-2-Clause-Patent
8
9 **/
10
11 #include "UefiShellDebug1CommandsLib.h"
12 #include "QueryTable.h"
13 #include "PrintInfo.h"
14
15 TABLE_ITEM SystemWakeupTypeTable[] = {
16 {
17 0x0,
18 L" Reserved"
19 },
20 {
21 0x1,
22 L" Other"
23 },
24 {
25 0x2,
26 L" Unknown"
27 },
28 {
29 0x3,
30 L" APM Timer"
31 },
32 {
33 0x4,
34 L" Modem Ring"
35 },
36 {
37 0x5,
38 L" LAN Remote"
39 },
40 {
41 0x6,
42 L" Power Switch"
43 },
44 {
45 0x7,
46 L" AC Power Restored"
47 }
48 };
49
50 TABLE_ITEM BaseBoardFeatureFlagsTable[] = {
51 {
52 0,
53 L" Hosting board"
54 },
55 {
56 1,
57 L" Requires at least one daughter board or auxiliary card"
58 },
59 {
60 2,
61 L" Removable"
62 },
63 {
64 3,
65 L" Replaceable"
66 },
67 {
68 4,
69 L" Hot swappable"
70 }
71 };
72
73 TABLE_ITEM BaseBoardBoardTypeTable[] = {
74 {
75 0x01,
76 L" Unknown"
77 },
78 {
79 0x02,
80 L" Other"
81 },
82 {
83 0x03,
84 L" Server Blade"
85 },
86 {
87 0x04,
88 L" Connectivity Switch"
89 },
90 {
91 0x05,
92 L" System Management Module"
93 },
94 {
95 0x06,
96 L" Processor Module"
97 },
98 {
99 0x07,
100 L" I/O Module"
101 },
102 {
103 0x08,
104 L" Memory Module"
105 },
106 {
107 0x09,
108 L" Daughter board"
109 },
110 {
111 0x0A,
112 L" Motherboard"
113 },
114 {
115 0x0B,
116 L" Processor/Memory Module"
117 },
118 {
119 0x0C,
120 L" Processor/IO Module"
121 },
122 {
123 0x0D,
124 L" Interconnect Board"
125 }
126 };
127
128 TABLE_ITEM SystemEnclosureTypeTable[] = {
129 {
130 0x01,
131 L" Other"
132 },
133 {
134 0x02,
135 L" Unknown"
136 },
137 {
138 0x03,
139 L" Desktop"
140 },
141 {
142 0x04,
143 L" Low Profile Desktop"
144 },
145 {
146 0x05,
147 L" Pizza Box"
148 },
149 {
150 0x06,
151 L" Mini Tower"
152 },
153 {
154 0x07,
155 L" Tower"
156 },
157 {
158 0x08,
159 L" Portable"
160 },
161 {
162 0x09,
163 L" Laptop"
164 },
165 {
166 0x0A,
167 L" Notebook"
168 },
169 {
170 0x0B,
171 L" Hand Held"
172 },
173 {
174 0x0C,
175 L" Docking Station"
176 },
177 {
178 0x0D,
179 L" All in One"
180 },
181 {
182 0x0E,
183 L" Sub Notebook"
184 },
185 {
186 0x0F,
187 L" Space-saving"
188 },
189 {
190 0x10,
191 L" Lunch Box"
192 },
193 {
194 0x11,
195 L" Main Server Chassis"
196 },
197 {
198 0x12,
199 L" Expansion Chassis"
200 },
201 {
202 0x13,
203 L" SubChassis"
204 },
205 {
206 0x14,
207 L" Bus Expansion Chassis"
208 },
209 {
210 0x15,
211 L" Peripheral Chassis"
212 },
213 {
214 0x16,
215 L" RAID Chassis"
216 },
217 {
218 0x17,
219 L" Rack Mount Chassis"
220 },
221 {
222 0x18,
223 L" Sealed-case PC"
224 },
225 {
226 0x19,
227 L" Multi-system Chassis"
228 },
229 {
230 0x1A,
231 L" CompactPCI"
232 },
233 {
234 0x1B,
235 L" AdvancedTCA"
236 },
237 {
238 0x1C,
239 L" Blade"
240 },
241 {
242 0x1D,
243 L" Blade Enclosure"
244 },
245 {
246 0x1E,
247 L" Tablet"
248 },
249 {
250 0x1F,
251 L" Convertible"
252 },
253 {
254 0x20,
255 L" Detachable"
256 },
257 {
258 0x21,
259 L" IoT Gateway"
260 },
261 {
262 0x22,
263 L" Embedded PC"
264 },
265 {
266 0x23,
267 L" Mini PC"
268 },
269 {
270 0x24,
271 L" Stick PC"
272 },
273 };
274
275 TABLE_ITEM SystemEnclosureStatusTable[] = {
276 {
277 0x1,
278 L" Other"
279 },
280 {
281 0x2,
282 L" Unknown"
283 },
284 {
285 0x3,
286 L" Safe"
287 },
288 {
289 0x4,
290 L" Warning"
291 },
292 {
293 0x5,
294 L" Critical"
295 },
296 {
297 0x6,
298 L" Non-recoverable"
299 }
300 };
301
302 TABLE_ITEM SESecurityStatusTable[] = {
303 {
304 0x1,
305 L" Other"
306 },
307 {
308 0x2,
309 L" Unknown"
310 },
311 {
312 0x3,
313 L" None"
314 },
315 {
316 0x4,
317 L" External interface locked out"
318 },
319 {
320 0x5,
321 L" External interface enabled"
322 }
323 };
324
325 TABLE_ITEM ProcessorTypeTable[] = {
326 {
327 0x1,
328 L" Other"
329 },
330 {
331 0x2,
332 L" Unknown"
333 },
334 {
335 0x3,
336 L" Central Processor"
337 },
338 {
339 0x4,
340 L" Math Processor"
341 },
342 {
343 0x5,
344 L" DSP Processor"
345 },
346 {
347 0x6,
348 L" Video Processor "
349 },
350 };
351
352 TABLE_ITEM ProcessorUpgradeTable[] = {
353 {
354 0x01,
355 L"Other"
356 },
357 {
358 0x02,
359 L"Unknown"
360 },
361 {
362 0x03,
363 L"Daughter Board"
364 },
365 {
366 0x04,
367 L"ZIF Socket"
368 },
369 {
370 0x05,
371 L"Replaceable Piggy Back"
372 },
373 {
374 0x06,
375 L"None"
376 },
377 {
378 0x07,
379 L"LIF Socket"
380 },
381 {
382 0x08,
383 L"Slot 1"
384 },
385 {
386 0x09,
387 L"Slot 2"
388 },
389 {
390 0x0A,
391 L"370-pin socket"
392 },
393 {
394 0x0B,
395 L"Slot A"
396 },
397 {
398 0x0C,
399 L"Slot M"
400 },
401 {
402 0x0D,
403 L"Socket 423"
404 },
405 {
406 0x0E,
407 L"Socket A"
408 },
409 {
410 0x0F,
411 L"Socket 478"
412 },
413 {
414 0x10,
415 L"Socket 754"
416 },
417 {
418 0x11,
419 L"Socket 940"
420 },
421 {
422 0x12,
423 L"Socket 939"
424 },
425 {
426 0x13,
427 L"Socket mPGA604"
428 },
429 {
430 0x14,
431 L"Socket LGA771"
432 },
433 {
434 0x15,
435 L"Socket LGA775"
436 },
437 {
438 0x16,
439 L"Socket S1"
440 },
441 {
442 0x17,
443 L"Socket AM2"
444 },
445 {
446 0x18,
447 L"Socket F"
448 },
449 {
450 0x19,
451 L"Socket LGA1366"
452 },
453 {
454 0x1A,
455 L"Socket G34"
456 },
457 {
458 0x1B,
459 L"Socket AM3"
460 },
461 {
462 0x1C,
463 L"Socket C32"
464 },
465 {
466 0x1D,
467 L"Socket LGA1156"
468 },
469 {
470 0x1E,
471 L"Socket LGA1567"
472 },
473 {
474 0x1F,
475 L"Socket PGA988A"
476 },
477 {
478 0x20,
479 L"Socket BGA1288"
480 },
481 {
482 0x21,
483 L"Socket rPGA988B"
484 },
485 {
486 0x22,
487 L"Socket BGA1023"
488 },
489 {
490 0x23,
491 L"Socket BGA1224"
492 },
493 {
494 0x24,
495 L"Socket LGA1155"
496 },
497 {
498 0x25,
499 L"Socket LGA1356"
500 },
501 {
502 0x26,
503 L"Socket LGA2011"
504 },
505 {
506 0x27,
507 L"Socket FS1"
508 },
509 {
510 0x28,
511 L"Socket FS2"
512 },
513 {
514 0x29,
515 L"Socket FM1"
516 },
517 {
518 0x2A,
519 L"Socket FM2"
520 },
521 {
522 0x2B,
523 L"Socket LGA2011-3"
524 },
525 {
526 0x2C,
527 L"Socket LGA1356-3"
528 },
529 {
530 0x2D,
531 L"Socket LGA1150"
532 },
533 {
534 0x2E,
535 L"Socket BGA1168"
536 },
537 {
538 0x2F,
539 L"Socket BGA1234"
540 },
541 {
542 0x30,
543 L"Socket BGA1364"
544 },
545 {
546 0x31,
547 L"Socket AM4"
548 },
549 {
550 0x32,
551 L"Socket LGA1151"
552 },
553 {
554 0x33,
555 L"Socket BGA1356"
556 },
557 {
558 0x34,
559 L"Socket BGA1440"
560 },
561 {
562 0x35,
563 L"Socket BGA1515"
564 },
565 {
566 0x36,
567 L"Socket LGA3647-1"
568 },
569 {
570 0x37,
571 L"Socket SP3"
572 },
573 {
574 0x38,
575 L"Socket SP3r2"
576 },
577 {
578 0x39,
579 L"Socket LGA2066"
580 },
581 {
582 0x3A,
583 L"Socket BGA1392"
584 },
585 {
586 0x3B,
587 L"Socket BGA1510"
588 },
589 {
590 0x3C,
591 L"Socket BGA1528"
592 },
593 {
594 0x3D,
595 L"Socket LGA4189"
596 },
597 {
598 0x3E,
599 L"Socket LGA1200"
600 },
601 {
602 0x3F,
603 L"Socket LGA4677"
604 },
605 {
606 0x40,
607 L"Socket LGA1700"
608 },
609 {
610 0x41,
611 L"Socket BGA1744"
612 },
613 {
614 0x42,
615 L"Socket BGA1781"
616 },
617 {
618 0x43,
619 L"Socket BGA1211"
620 },
621 {
622 0x44,
623 L"Socket BGA2422"
624 },
625 {
626 0x45,
627 L"Socket LGA1211"
628 },
629 {
630 0x46,
631 L"Socket LGA2422"
632 },
633 {
634 0x47,
635 L"Socket LGA5773"
636 },
637 {
638 0x48,
639 L"Socket BGA5773"
640 }
641 };
642
643 TABLE_ITEM ProcessorCharacteristicsTable[] = {
644 {
645 1,
646 L" Unknown"
647 },
648 {
649 2,
650 L" 64-bit Capable"
651 },
652 {
653 3,
654 L" Multi-Core"
655 },
656 {
657 4,
658 L" Hardware Thread"
659 },
660 {
661 5,
662 L" Execute Protection"
663 },
664 {
665 6,
666 L" Enhanced Virtualization"
667 },
668 {
669 7,
670 L" Power/Performance Control"
671 },
672 {
673 8,
674 L" 128-bit Capable"
675 },
676 {
677 9,
678 L" ARM64 SoC ID"
679 }
680 };
681
682 TABLE_ITEM McErrorDetectMethodTable[] = {
683 {
684 0x01,
685 L"Other"
686 },
687 {
688 0x02,
689 L"Unknown"
690 },
691 {
692 0x03,
693 L"None"
694 },
695 {
696 0x04,
697 L"8-bit Parity"
698 },
699 {
700 0x05,
701 L"32-bit ECC"
702 },
703 {
704 0x06,
705 L"64-bit ECC"
706 },
707 {
708 0x07,
709 L"128-bit ECC"
710 },
711 {
712 0x08,
713 L"CRC"
714 },
715 };
716
717 TABLE_ITEM McErrorCorrectCapabilityTable[] = {
718 {
719 0,
720 L"Other"
721 },
722 {
723 1,
724 L"Unknown"
725 },
726 {
727 2,
728 L"None"
729 },
730 {
731 3,
732 L"Single Bit Error Correcting"
733 },
734 {
735 4,
736 L"Double Bit Error Correcting"
737 },
738 {
739 5,
740 L"Error Scrubbing"
741 },
742 };
743
744 TABLE_ITEM McInterleaveSupportTable[] = {
745 {
746 0x01,
747 L"Other"
748 },
749 {
750 0x02,
751 L"Unknown"
752 },
753 {
754 0x03,
755 L"One Way Interleave"
756 },
757 {
758 0x04,
759 L"Two Way Interleave"
760 },
761 {
762 0x05,
763 L"Four Way Interleave"
764 },
765 {
766 0x06,
767 L"Eight Way Interleave"
768 },
769 {
770 0x07,
771 L"Sixteen Way Interleave"
772 }
773 };
774
775 TABLE_ITEM McMemorySpeedsTable[] = {
776 {
777 0,
778 L" Other"
779 },
780 {
781 1,
782 L" Unknown"
783 },
784 {
785 2,
786 L" 70ns"
787 },
788 {
789 3,
790 L" 60ns"
791 },
792 {
793 4,
794 L" 50ns"
795 },
796 };
797
798 TABLE_ITEM MemoryModuleVoltageTable[] = {
799 {
800 0,
801 L" 5V"
802 },
803 {
804 1,
805 L" 3.3V"
806 },
807 {
808 2,
809 L" 2.9V"
810 },
811 };
812
813 TABLE_ITEM MmMemoryTypeTable[] = {
814 {
815 0,
816 L" Other"
817 },
818 {
819 1,
820 L" Unknown"
821 },
822 {
823 2,
824 L" Standard"
825 },
826 {
827 3,
828 L" Fast Page Mode"
829 },
830 {
831 4,
832 L" EDO"
833 },
834 {
835 5,
836 L" Parity"
837 },
838 {
839 6,
840 L" ECC "
841 },
842 {
843 7,
844 L" SIMM"
845 },
846 {
847 8,
848 L" DIMM"
849 },
850 {
851 9,
852 L" Burst EDO"
853 },
854 {
855 10,
856 L" SDRAM"
857 }
858 };
859
860 TABLE_ITEM MmErrorStatusTable[] = {
861 {
862 0,
863 L" Uncorrectable errors received"
864 },
865 {
866 1,
867 L" Correctable errors received"
868 },
869 {
870 2,
871 L" Error Status obtained from the event log"
872 }
873 };
874
875 TABLE_ITEM CacheSRAMTypeTable[] = {
876 {
877 0,
878 L" Other"
879 },
880 {
881 1,
882 L" Unknown"
883 },
884 {
885 2,
886 L" Non-Burst"
887 },
888 {
889 3,
890 L" Burst"
891 },
892 {
893 4,
894 L" Pipeline Burst"
895 },
896 {
897 5,
898 L" Synchronous"
899 },
900 {
901 6,
902 L" Asynchronous"
903 },
904 };
905
906 TABLE_ITEM CacheErrCorrectingTypeTable[] = {
907 {
908 0x01,
909 L"Other"
910 },
911 {
912 0x02,
913 L"Unknown"
914 },
915 {
916 0x03,
917 L"None"
918 },
919 {
920 0x04,
921 L"Parity"
922 },
923 {
924 0x05,
925 L"Single-bit ECC"
926 },
927 {
928 0x06,
929 L"Multi-bit ECC"
930 }
931 };
932
933 TABLE_ITEM CacheSystemCacheTypeTable[] = {
934 {
935 0x01,
936 L"Other"
937 },
938 {
939 0x02,
940 L"Unknown"
941 },
942 {
943 0x03,
944 L"Instruction"
945 },
946 {
947 0x04,
948 L"Data"
949 },
950 {
951 0x05,
952 L"Unified"
953 }
954 };
955
956 TABLE_ITEM CacheAssociativityTable[] = {
957 {
958 0x01,
959 L"Other"
960 },
961 {
962 0x02,
963 L"Unknown"
964 },
965 {
966 0x03,
967 L"Direct Mapped"
968 },
969 {
970 0x04,
971 L"2-way Set-Associative"
972 },
973 {
974 0x05,
975 L"4-way Set-Associative"
976 },
977 {
978 0x06,
979 L"Fully Associative"
980 },
981 {
982 0x07,
983 L"8-way Set-Associative"
984 },
985 {
986 0x08,
987 L"16-way Set-Associative"
988 },
989 {
990 0x09,
991 L"12-way Set-Associative"
992 },
993 {
994 0x0A,
995 L"24-way Set-Associative"
996 },
997 {
998 0x0B,
999 L"32-way Set-Associative"
1000 },
1001 {
1002 0x0C,
1003 L"48-way Set-Associative"
1004 },
1005 {
1006 0x0D,
1007 L"64-way Set-Associative"
1008 },
1009 {
1010 0x0E,
1011 L"20-way Set-Associative"
1012 }
1013 };
1014
1015 TABLE_ITEM PortConnectorTypeTable[] = {
1016 {
1017 0x00,
1018 L"None"
1019 },
1020 {
1021 0x01,
1022 L"Centronics"
1023 },
1024 {
1025 0x02,
1026 L"Mini Centronics"
1027 },
1028 {
1029 0x03,
1030 L"Proprietary"
1031 },
1032 {
1033 0x04,
1034 L"DB-25 pin male"
1035 },
1036 {
1037 0x05,
1038 L"DB-25 pin female"
1039 },
1040 {
1041 0x06,
1042 L"DB-15 pin male"
1043 },
1044 {
1045 0x07,
1046 L"DB-15 pin female"
1047 },
1048 {
1049 0x08,
1050 L"DB-9 pin male"
1051 },
1052 {
1053 0x09,
1054 L"DB-9 pin female"
1055 },
1056 {
1057 0x0A,
1058 L"RJ-11"
1059 },
1060 {
1061 0x0B,
1062 L"RJ-45"
1063 },
1064 {
1065 0x0C,
1066 L"50 Pin MiniSCSI"
1067 },
1068 {
1069 0x0D,
1070 L"Mini-DIN"
1071 },
1072 {
1073 0x0E,
1074 L"Micro-DIN"
1075 },
1076 {
1077 0x0F,
1078 L"PS/2"
1079 },
1080 {
1081 0x10,
1082 L"Infrared"
1083 },
1084 {
1085 0x11,
1086 L"HP-HIL"
1087 },
1088 {
1089 0x12,
1090 L"Access Bus (USB)"
1091 },
1092 {
1093 0x13,
1094 L"SSA SCSI"
1095 },
1096 {
1097 0x14,
1098 L"Circular DIN-8 male"
1099 },
1100 {
1101 0x15,
1102 L"Circular DIN-8 female"
1103 },
1104 {
1105 0x16,
1106 L"On Board IDE"
1107 },
1108 {
1109 0x17,
1110 L"On Board Floppy"
1111 },
1112 {
1113 0x18,
1114 L"9 Pin Dual Inline (pin 10 cut)"
1115 },
1116 {
1117 0x19,
1118 L"25 Pin Dual Inline (pin 26 cut)"
1119 },
1120 {
1121 0x1A,
1122 L"50 Pin Dual Inline"
1123 },
1124 {
1125 0x1B,
1126 L"68 Pin Dual Inline"
1127 },
1128 {
1129 0x1C,
1130 L"On Board Sound Input from CD-ROM"
1131 },
1132 {
1133 0x1D,
1134 L"Mini-Centronics Type-14"
1135 },
1136 {
1137 0x1E,
1138 L"Mini-Centronics Type-26"
1139 },
1140 {
1141 0x1F,
1142 L"Mini-jack (headphones)"
1143 },
1144 {
1145 0x20,
1146 L"BNC"
1147 },
1148 {
1149 0x21,
1150 L"1394"
1151 },
1152 {
1153 0x22,
1154 L"SAS/SATA Plug Receptacle"
1155 },
1156 {
1157 0x23,
1158 L"USB Type-C Receptacle"
1159 },
1160 {
1161 0xA0,
1162 L"PC-98"
1163 },
1164 {
1165 0xA1,
1166 L"PC-98Hireso"
1167 },
1168 {
1169 0xA2,
1170 L"PC-H98"
1171 },
1172 {
1173 0xA3,
1174 L"PC-98Note"
1175 },
1176 {
1177 0xA4,
1178 L"PC-98Full"
1179 },
1180 {
1181 0xFF,
1182 L"Other"
1183 },
1184 };
1185
1186 TABLE_ITEM PortTypeTable[] = {
1187 {
1188 0x00,
1189 L"None"
1190 },
1191 {
1192 0x01,
1193 L"Parallel Port XT/AT Compatible"
1194 },
1195 {
1196 0x02,
1197 L"Parallel Port PS/2"
1198 },
1199 {
1200 0x03,
1201 L"Parallel Port ECP"
1202 },
1203 {
1204 0x04,
1205 L"Parallel Port EPP"
1206 },
1207 {
1208 0x05,
1209 L"Parallel Port ECP/EPP"
1210 },
1211 {
1212 0x06,
1213 L"Serial Port XT/AT Compatible"
1214 },
1215 {
1216 0x07,
1217 L"Serial Port 16450 Compatible"
1218 },
1219 {
1220 0x08,
1221 L"Serial Port 16550 Compatible"
1222 },
1223 {
1224 0x09,
1225 L"Serial Port 16550A Compatible"
1226 },
1227 {
1228 0x0A,
1229 L"SCSI Port"
1230 },
1231 {
1232 0x0B,
1233 L"MIDI Port"
1234 },
1235 {
1236 0x0C,
1237 L"Joy Stick Port"
1238 },
1239 {
1240 0x0D,
1241 L"Keyboard Port"
1242 },
1243 {
1244 0x0E,
1245 L"Mouse Port"
1246 },
1247 {
1248 0x0F,
1249 L"SSA SCSI"
1250 },
1251 {
1252 0x10,
1253 L"USB"
1254 },
1255 {
1256 0x11,
1257 L"FireWire (IEEE P1394)"
1258 },
1259 {
1260 0x12,
1261 L"PCMCIA Type II"
1262 },
1263 {
1264 0x13,
1265 L"PCMCIA Type II"
1266 },
1267 {
1268 0x14,
1269 L"PCMCIA Type III"
1270 },
1271 {
1272 0x15,
1273 L"Cardbus"
1274 },
1275 {
1276 0x16,
1277 L"Access Bus Port"
1278 },
1279 {
1280 0x17,
1281 L"SCSI II"
1282 },
1283 {
1284 0x18,
1285 L"SCSI Wide"
1286 },
1287 {
1288 0x19,
1289 L"PC-98"
1290 },
1291 {
1292 0x1A,
1293 L"PC-98-Hireso"
1294 },
1295 {
1296 0x1B,
1297 L"PC-H98"
1298 },
1299 {
1300 0x1C,
1301 L"Video Port"
1302 },
1303 {
1304 0x1D,
1305 L"Audio Port"
1306 },
1307 {
1308 0x1E,
1309 L"Modem Port"
1310 },
1311 {
1312 0x1F,
1313 L"Network Port"
1314 },
1315 {
1316 0x20,
1317 L"SATA Port"
1318 },
1319 {
1320 0x21,
1321 L"SAS Port"
1322 },
1323 {
1324 0x22,
1325 L"Multi-Function Display Port (MFDP)"
1326 },
1327 {
1328 0x23,
1329 L"Thunderbolt"
1330 },
1331 {
1332 0xA0,
1333 L"8251 Compatible"
1334 },
1335 {
1336 0xA1,
1337 L"8251 FIFO Compatible"
1338 },
1339 {
1340 0xFF,
1341 L"Other "
1342 },
1343 };
1344
1345 TABLE_ITEM SystemSlotTypeTable[] = {
1346 {
1347 0x01,
1348 L"Other"
1349 },
1350 {
1351 0x02,
1352 L"Unknown"
1353 },
1354 {
1355 0x03,
1356 L"ISA"
1357 },
1358 {
1359 0x04,
1360 L"MCA"
1361 },
1362 {
1363 0x05,
1364 L"EISA"
1365 },
1366 {
1367 0x06,
1368 L"PCI"
1369 },
1370 {
1371 0x07,
1372 L"PC Card (PCMCIA)"
1373 },
1374 {
1375 0x08,
1376 L"VL-VESA"
1377 },
1378 {
1379 0x09,
1380 L"Proprietary"
1381 },
1382 {
1383 0x0A,
1384 L"Processor Card Slot"
1385 },
1386 {
1387 0x0B,
1388 L"Proprietary Memory Card Slot"
1389 },
1390 {
1391 0x0C,
1392 L"I/O Riser Card Slot"
1393 },
1394 {
1395 0x0D,
1396 L"NuBus"
1397 },
1398 {
1399 0x0E,
1400 L"PCI - 66MHz Capable"
1401 },
1402 {
1403 0x0F,
1404 L"AGP"
1405 },
1406 {
1407 0x10,
1408 L"AGP 2X"
1409 },
1410 {
1411 0x11,
1412 L"AGP 4X"
1413 },
1414 {
1415 0x12,
1416 L"PCI-X"
1417 },
1418 {
1419 0x13,
1420 L"AGP 8X"
1421 },
1422 {
1423 0x14,
1424 L"M.2 Socket 1-DP (Mechanical Key A)"
1425 },
1426 {
1427 0x15,
1428 L"M.2 Socket 1-SD (Mechanical Key E)"
1429 },
1430 {
1431 0x16,
1432 L"M.2 Socket 2 (Mechanical Key B)"
1433 },
1434 {
1435 0x17,
1436 L"M.2 Socket 3 (Mechanical Key M)"
1437 },
1438 {
1439 0x18,
1440 L"MXM Type I"
1441 },
1442 {
1443 0x19,
1444 L"MXM Type II"
1445 },
1446 {
1447 0x1A,
1448 L"MXM Type III (standard connector)"
1449 },
1450 {
1451 0x1B,
1452 L"MXM Type III (HE connector)"
1453 },
1454 {
1455 0x1C,
1456 L"MXM Type IV"
1457 },
1458 {
1459 0x1D,
1460 L"MXM 3.0 Type A"
1461 },
1462 {
1463 0x1E,
1464 L"MXM 3.0 Type B"
1465 },
1466 {
1467 0x1F,
1468 L"PCI Express Gen 2 SFF-8639"
1469 },
1470 {
1471 0x20,
1472 L"PCI Express Gen 3 SFF-8639"
1473 },
1474 {
1475 0x21,
1476 L"PCI Express Mini 52-pin (CEM spec. 2.0) with bottom-side keep-outs"
1477 },
1478 {
1479 0x22,
1480 L"PCI Express Mini 52-pin (CEM spec. 2.0) without bottom-side keep-outs"
1481 },
1482 {
1483 0x23,
1484 L"PCI Express Mini 76-pin (CEM spec. 2.0) Corresponds to Display-Mini card"
1485 },
1486 {
1487 0x24,
1488 L"PCI Express Gen 4 SFF-8639 (U.2)"
1489 },
1490 {
1491 0x25,
1492 L"PCI Express Gen 5 SFF-8639 (U.2)"
1493 },
1494 {
1495 0x26,
1496 L"OCP NIC 3.0 Small Form Factor (SFF)"
1497 },
1498 {
1499 0x27,
1500 L"OCP NIC 3.0 Large Form Factor (LFF)"
1501 },
1502 {
1503 0x28,
1504 L"OCP NIC Prior to 3.0"
1505 },
1506 {
1507 SlotTypeCXLFlexbus10,
1508 L"CXL Flexbus 1.0"
1509 },
1510 {
1511 0xA0,
1512 L"PC-98/C20 "
1513 },
1514 {
1515 0xA1,
1516 L"PC-98/C24 "
1517 },
1518 {
1519 0xA2,
1520 L"PC-98/E "
1521 },
1522 {
1523 0xA3,
1524 L"PC-98/Local Bus "
1525 },
1526 {
1527 0xA4,
1528 L"PC-98/Card "
1529 },
1530 {
1531 0xA5,
1532 L"PCI Express "
1533 },
1534 {
1535 0xA6,
1536 L"PCI Express X1"
1537 },
1538 {
1539 0xA7,
1540 L"PCI Express X2"
1541 },
1542 {
1543 0xA8,
1544 L"PCI Express X4"
1545 },
1546 {
1547 0xA9,
1548 L"PCI Express X8"
1549 },
1550 {
1551 0xAA,
1552 L"PCI Express X16"
1553 },
1554 {
1555 0xAB,
1556 L"PCI Express Gen 2"
1557 },
1558 {
1559 0xAC,
1560 L"PCI Express Gen 2 X1"
1561 },
1562 {
1563 0xAD,
1564 L"PCI Express Gen 2 X2"
1565 },
1566 {
1567 0xAE,
1568 L"PCI Express Gen 2 X4"
1569 },
1570 {
1571 0xAF,
1572 L"PCI Express Gen 2 X8"
1573 },
1574 {
1575 0xB0,
1576 L"PCI Express Gen 2 X16"
1577 },
1578 {
1579 0xB1,
1580 L"PCI Express Gen 3"
1581 },
1582 {
1583 0xB2,
1584 L"PCI Express Gen 3 X1"
1585 },
1586 {
1587 0xB3,
1588 L"PCI Express Gen 3 X2"
1589 },
1590 {
1591 0xB4,
1592 L"PCI Express Gen 3 X4"
1593 },
1594 {
1595 0xB5,
1596 L"PCI Express Gen 3 X8"
1597 },
1598 {
1599 0xB6,
1600 L"PCI Express Gen 3 X16"
1601 },
1602 {
1603 SlotTypePciExpressGen4,
1604 L"PCI Express Gen 4"
1605 },
1606 {
1607 SlotTypePciExpressGen4X1,
1608 L"PCI Express Gen 4 X1"
1609 },
1610 {
1611 SlotTypePciExpressGen4X2,
1612 L"PCI Express Gen 4 X2"
1613 },
1614 {
1615 SlotTypePciExpressGen4X4,
1616 L"PCI Express Gen 4 X4"
1617 },
1618 {
1619 SlotTypePciExpressGen4X8,
1620 L"PCI Express Gen 4 X8"
1621 },
1622 {
1623 SlotTypePciExpressGen4X16,
1624 L"PCI Express Gen 4 X16"
1625 },
1626 {
1627 SlotTypePCIExpressGen5,
1628 L"PCI Express Gen 5"
1629 },
1630 {
1631 SlotTypePCIExpressGen5X1,
1632 L"PCI Express Gen 5 x1"
1633 },
1634 {
1635 SlotTypePCIExpressGen5X2,
1636 L"PCI Express Gen 5 x2"
1637 },
1638 {
1639 SlotTypePCIExpressGen5X4,
1640 L"PCI Express Gen 5 x4"
1641 },
1642 {
1643 SlotTypePCIExpressGen5X8,
1644 L"PCI Express Gen 5 x8"
1645 },
1646 {
1647 SlotTypePCIExpressGen5X16,
1648 L"PCI Express Gen 5 x16"
1649 },
1650 {
1651 SlotTypePCIExpressGen6andBeyond,
1652 L"PCI Express Gen 6 and Beyond"
1653 },
1654 {
1655 SlotTypeEnterpriseandDatacenter1UE1FormFactorSlot,
1656 L"Enterprise and Datacenter 1U E1 Form Factor Slot"
1657 },
1658 {
1659 SlotTypeEnterpriseandDatacenter3E3FormFactorSlot,
1660 L"Enterprise and Datacenter 3'E3 Form Factor Slot"
1661 }
1662 };
1663
1664 TABLE_ITEM SystemSlotDataBusWidthTable[] = {
1665 {
1666 0x01,
1667 L" Other"
1668 },
1669 {
1670 0x02,
1671 L" Unknown"
1672 },
1673 {
1674 0x03,
1675 L" 8 bit"
1676 },
1677 {
1678 0x04,
1679 L" 16 bit"
1680 },
1681 {
1682 0x05,
1683 L" 32 bit"
1684 },
1685 {
1686 0x06,
1687 L" 64 bit"
1688 },
1689 {
1690 0x07,
1691 L" 128 bit"
1692 },
1693 {
1694 0x08,
1695 L" 1x or x1"
1696 },
1697 {
1698 0x09,
1699 L" 2x or x2"
1700 },
1701 {
1702 0x0A,
1703 L" 4x or x4"
1704 },
1705 {
1706 0x0B,
1707 L" 8x or x8"
1708 },
1709 {
1710 0x0C,
1711 L" 12x or x12"
1712 },
1713 {
1714 0x0D,
1715 L" 16x or x16"
1716 },
1717 {
1718 0x0E,
1719 L" 32x or x32"
1720 }
1721 };
1722
1723 TABLE_ITEM SystemSlotPhysicalWidthTable[] = {
1724 {
1725 0x01,
1726 L" Other"
1727 },
1728 {
1729 0x02,
1730 L" Unknown"
1731 },
1732 {
1733 0x03,
1734 L" 8 bit"
1735 },
1736 {
1737 0x04,
1738 L" 16 bit"
1739 },
1740 {
1741 0x05,
1742 L" 32 bit"
1743 },
1744 {
1745 0x06,
1746 L" 64 bit"
1747 },
1748 {
1749 0x07,
1750 L" 128 bit"
1751 },
1752 {
1753 0x08,
1754 L" 1x or x1"
1755 },
1756 {
1757 0x09,
1758 L" 2x or x2"
1759 },
1760 {
1761 0x0A,
1762 L" 4x or x4"
1763 },
1764 {
1765 0x0B,
1766 L" 8x or x8"
1767 },
1768 {
1769 0x0C,
1770 L" 12x or x12"
1771 },
1772 {
1773 0x0D,
1774 L" 16x or x16"
1775 },
1776 {
1777 0x0E,
1778 L" 32x or x32"
1779 }
1780 };
1781
1782 TABLE_ITEM SystemSlotInformationTable[] = {
1783 {
1784 0x00,
1785 L" Others"
1786 },
1787 {
1788 0x01,
1789 L" Gen 1"
1790 },
1791 {
1792 0x02,
1793 L" Gen 2"
1794 },
1795 {
1796 0x03,
1797 L" Gen 3"
1798 },
1799 {
1800 0x04,
1801 L" Gen 4"
1802 },
1803 {
1804 0x05,
1805 L" Gen 5"
1806 },
1807 {
1808 0x06,
1809 L" Gen 6"
1810 }
1811 };
1812
1813 TABLE_ITEM SystemSlotCurrentUsageTable[] = {
1814 {
1815 0x01,
1816 L" Other"
1817 },
1818 {
1819 0x02,
1820 L" Unknown"
1821 },
1822 {
1823 0x03,
1824 L" Available"
1825 },
1826 {
1827 0x04,
1828 L" In use"
1829 },
1830 {
1831 0x05,
1832 L" Unavailable"
1833 }
1834 };
1835
1836 TABLE_ITEM SystemSlotLengthTable[] = {
1837 {
1838 0x01,
1839 L" Other"
1840 },
1841 {
1842 0x02,
1843 L" Unknown"
1844 },
1845 {
1846 0x03,
1847 L" Short length"
1848 },
1849 {
1850 0x04,
1851 L" Long Length"
1852 },
1853 };
1854
1855 TABLE_ITEM SystemSlotHeightTable[] = {
1856 {
1857 0x00,
1858 L" Not applicable"
1859 },
1860 {
1861 0x01,
1862 L" Other"
1863 },
1864 {
1865 0x02,
1866 L" Unkown"
1867 },
1868 {
1869 0x03,
1870 L" Full height"
1871 },
1872 {
1873 0x04,
1874 L" Low-Profile"
1875 },
1876 };
1877
1878 TABLE_ITEM SlotCharacteristics1Table[] = {
1879 {
1880 0,
1881 L" Characteristics Unknown"
1882 },
1883 {
1884 1,
1885 L" Provides 5.0 Volts"
1886 },
1887 {
1888 2,
1889 L" Provides 3.3 Volts"
1890 },
1891 {
1892 3,
1893 L" Slot's opening is shared with another slot, e.g. PCI/EISA shared slot."
1894 },
1895
1896 {
1897 4,
1898 L" PC Card slot supports PC Card-16"
1899 },
1900 {
1901 5,
1902 L" PC Card slot supports CardBus"
1903 },
1904 {
1905 6,
1906 L" PC Card slot supports Zoom Video "
1907 },
1908 {
1909 7,
1910 L" PC Card slot supports Modem Ring Resume "
1911 }
1912 };
1913
1914 TABLE_ITEM SlotCharacteristics2Table[] = {
1915 {
1916 0,
1917 L" PCI slot supports Power Management Enable (PME#) signal"
1918 },
1919 {
1920 1,
1921 L" Slot supports hot-plug devices"
1922 },
1923 {
1924 2,
1925 L" PCI slot supports SMBus signal"
1926 },
1927 {
1928 3,
1929 L" PCIe slot supports bifurcation"
1930 },
1931 {
1932 4,
1933 L" Slot supports async/surprise removal"
1934 },
1935 {
1936 5,
1937 L" Flexbus slot, CXL 1.0 capable"
1938 },
1939 {
1940 6,
1941 L" Flexbus slot, CXL 2.0 capable"
1942 },
1943 {
1944 7,
1945 L" Reserved"
1946 }
1947 };
1948
1949 TABLE_ITEM OnboardDeviceTypesTable[] = {
1950 {
1951 0x01,
1952 L" Other"
1953 },
1954 {
1955 0x02,
1956 L" Unknown"
1957 },
1958 {
1959 0x03,
1960 L" Video"
1961 },
1962 {
1963 0x04,
1964 L" SCSI Controller"
1965 },
1966 {
1967 0x05,
1968 L" Ethernet"
1969 },
1970 {
1971 0x06,
1972 L" Token Ring"
1973 },
1974 {
1975 0x07,
1976 L" Sound"
1977 },
1978 {
1979 0x08,
1980 L" Pata Controller"
1981 },
1982 {
1983 0x09,
1984 L" Sata Controller"
1985 },
1986 {
1987 0x0A,
1988 L" Sas Controller"
1989 },
1990 {
1991 0x0B,
1992 L" Wireless LAN"
1993 },
1994 {
1995 0x0C,
1996 L" Bluetooth"
1997 },
1998 {
1999 0x0D,
2000 L" WWAN"
2001 },
2002 {
2003 0x0E,
2004 L" embedded Multi-Media Controller"
2005 },
2006 {
2007 0x0F,
2008 L" NVMe Controller"
2009 },
2010 {
2011 0x10,
2012 L" UFS Controller"
2013 }
2014 };
2015
2016 TABLE_ITEM SELTypesTable[] = {
2017 {
2018 0x00,
2019 L" Reserved."
2020 },
2021 {
2022 0x01,
2023 L" Single-bit ECC memory error"
2024 },
2025 {
2026 0x02,
2027 L" Multi-bit ECC memory error"
2028 },
2029 {
2030 0x03,
2031 L" Parity memory error"
2032 },
2033 {
2034 0x04,
2035 L" Bus time-out"
2036 },
2037 {
2038 0x05,
2039 L" I/O Channel Check"
2040 },
2041 {
2042 0x06,
2043 L" Software NMI"
2044 },
2045 {
2046 0x07,
2047 L" POST Memory Resize"
2048 },
2049 {
2050 0x08,
2051 L" POST Error"
2052 },
2053 {
2054 0x09,
2055 L" PCI Parity Error"
2056 },
2057 {
2058 0x0A,
2059 L" PCI System Error"
2060 },
2061 {
2062 0x0B,
2063 L" CPU Failure"
2064 },
2065 {
2066 0x0C,
2067 L" EISA FailSafe Timer time-out"
2068 },
2069 {
2070 0x0D,
2071 L" Correctable memory log disabled"
2072 },
2073 {
2074 0x0E,
2075 L" Logging disabled for a specific Event Type"
2076 },
2077 {
2078 0x0F,
2079 L" Reserved"
2080 },
2081 {
2082 0x10,
2083 L" System Limit Exceeded"
2084 },
2085 {
2086 0x11,
2087 L" Asynchronous hardware timer expired and issued a system reset"
2088 },
2089 {
2090 0x12,
2091 L" System configuration information"
2092 },
2093 {
2094 0x13,
2095 L" Hard-disk information"
2096 },
2097 {
2098 0x14,
2099 L" System reconfigured"
2100 },
2101 {
2102 0x15,
2103 L" Uncorrectable CPU-complex error"
2104 },
2105 {
2106 0x16,
2107 L" Log Area Reset/Cleared"
2108 },
2109 {
2110 0x17,
2111 L" System boot"
2112 },
2113 {
2114 0x7F18,
2115 L" Unused by SMBIOS specification"
2116 },
2117 {
2118 0xFE80,
2119 L" System and OEM specified"
2120 },
2121 {
2122 0xFF,
2123 L" End-of-log"
2124 },
2125 };
2126
2127 TABLE_ITEM SELVarDataFormatTypeTable[] = {
2128 {
2129 0x00,
2130 L" None "
2131 },
2132 {
2133 0x01,
2134 L" Handle "
2135 },
2136 {
2137 0x02,
2138 L" Multiple-Event "
2139 },
2140 {
2141 0x03,
2142 L" Multiple-Event Handle "
2143 },
2144 {
2145 0x04,
2146 L" POST Results Bitmap "
2147 },
2148 //
2149 // Defined below
2150 //
2151 {
2152 0x05,
2153 L" System Management Type"
2154 },
2155 //
2156 // Defined below
2157 //
2158 {
2159 0x06,
2160 L" Multiple-Event System Management Type "
2161 },
2162 {
2163 0x7F07,
2164 L" Unused "
2165 },
2166 {
2167 0xFF80,
2168 L" OEM assigned "
2169 },
2170 };
2171
2172 TABLE_ITEM PostResultsBitmapDw1Table[] = {
2173 {
2174 0,
2175 L" Channel 2 Timer error "
2176 },
2177 {
2178 1,
2179 L" Master PIC (8259 #1) error "
2180 },
2181 {
2182 2,
2183 L" Slave PIC (8259 #2) error "
2184 },
2185 {
2186 3,
2187 L" CMOS Battery Failure "
2188 },
2189 {
2190 4,
2191 L" CMOS System Options Not Set "
2192 },
2193 {
2194 5,
2195 L" CMOS Checksum Error "
2196 },
2197 {
2198 6,
2199 L" CMOS Configuration Error "
2200 },
2201 {
2202 7,
2203 L" Mouse and Keyboard Swapped "
2204 },
2205 {
2206 8,
2207 L" Keyboard Locked "
2208 },
2209 {
2210 9,
2211 L" Keyboard Not Functional "
2212 },
2213 {
2214 10,
2215 L" Keyboard Controller Not Functional "
2216 },
2217 {
2218 11,
2219 L" CMOS Memory Size Different "
2220 },
2221 {
2222 12,
2223 L" Memory Decreased in Size "
2224 },
2225 {
2226 13,
2227 L" Cache Memory Error "
2228 },
2229 {
2230 14,
2231 L" Floppy Drive 0 Error "
2232 },
2233 {
2234 15,
2235 L" Floppy Drive 1 Error "
2236 },
2237 {
2238 16,
2239 L" Floppy Controller Failure "
2240 },
2241 {
2242 17,
2243 L" Number of ATA Drives Reduced Error "
2244 },
2245 {
2246 18,
2247 L" CMOS Time Not Set "
2248 },
2249 {
2250 19,
2251 L" DDC Monitor Configuration Change "
2252 },
2253 {
2254 20,
2255 L" Reserved, set to 0 "
2256 },
2257 {
2258 21,
2259 L" Reserved, set to 0 "
2260 },
2261 {
2262 22,
2263 L" Reserved, set to 0 "
2264 },
2265 {
2266 23,
2267 L" Reserved, set to 0 "
2268 },
2269 {
2270 24,
2271 L" Second DWORD has valid data "
2272 },
2273 {
2274 25,
2275 L" Reserved, set to 0 "
2276 },
2277 {
2278 26,
2279 L" Reserved, set to 0 "
2280 },
2281 {
2282 27,
2283 L" Reserved, set to 0 "
2284 },
2285 {
2286 28,
2287 L" Normally 0; available for OEM assignment "
2288 },
2289 {
2290 29,
2291 L" Normally 0; available for OEM assignment "
2292 },
2293 {
2294 30,
2295 L" Normally 0; available for OEM assignment "
2296 },
2297 {
2298 31,
2299 L" Normally 0; available for OEM assignment "
2300 },
2301 };
2302
2303 TABLE_ITEM PostResultsBitmapDw2Table[] = {
2304 {
2305 0,
2306 L" Normally 0; available for OEM assignment "
2307 },
2308 {
2309 1,
2310 L" Normally 0; available for OEM assignment "
2311 },
2312 {
2313 2,
2314 L" Normally 0; available for OEM assignment "
2315 },
2316 {
2317 3,
2318 L" Normally 0; available for OEM assignment "
2319 },
2320 {
2321 4,
2322 L" Normally 0; available for OEM assignment "
2323 },
2324 {
2325 5,
2326 L" Normally 0; available for OEM assignment "
2327 },
2328 {
2329 6,
2330 L" Normally 0; available for OEM assignment "
2331 },
2332 {
2333 7,
2334 L" PCI Memory Conflict "
2335 },
2336 {
2337 8,
2338 L" PCI I/O Conflict "
2339 },
2340 {
2341 9,
2342 L" PCI IRQ Conflict "
2343 },
2344 {
2345 10,
2346 L" PNP Memory Conflict "
2347 },
2348 {
2349 11,
2350 L" PNP 32 bit Memory Conflict "
2351 },
2352 {
2353 12,
2354 L" PNP I/O Conflict "
2355 },
2356 {
2357 13,
2358 L" PNP IRQ Conflict "
2359 },
2360 {
2361 14,
2362 L" PNP DMA Conflict "
2363 },
2364 {
2365 15,
2366 L" Bad PNP Serial ID Checksum "
2367 },
2368 {
2369 16,
2370 L" Bad PNP Resource Data Checksum "
2371 },
2372 {
2373 17,
2374 L" Static Resource Conflict "
2375 },
2376 {
2377 18,
2378 L" NVRAM Checksum Error, NVRAM Cleared "
2379 },
2380 {
2381 19,
2382 L" System Board Device Resource Conflict "
2383 },
2384 {
2385 20,
2386 L" Primary Output Device Not Found "
2387 },
2388 {
2389 21,
2390 L" Primary Input Device Not Found "
2391 },
2392 {
2393 22,
2394 L" Primary Boot Device Not Found "
2395 },
2396 {
2397 23,
2398 L" NVRAM Cleared By Jumper "
2399 },
2400 {
2401 24,
2402 L" NVRAM Data Invalid, NVRAM Cleared "
2403 },
2404 {
2405 25,
2406 L" FDC Resource Conflict "
2407 },
2408 {
2409 26,
2410 L" Primary ATA Controller Resource Conflict "
2411 },
2412 {
2413 27,
2414 L" Secondary ATA Controller Resource Conflict "
2415 },
2416 {
2417 28,
2418 L" Parallel Port Resource Conflict "
2419 },
2420 {
2421 29,
2422 L" Serial Port 1 Resource Conflict "
2423 },
2424 {
2425 30,
2426 L" Serial Port 2 Resource Conflict "
2427 },
2428 {
2429 31,
2430 L" Audio Resource Conflict "
2431 },
2432 };
2433
2434 TABLE_ITEM SELSysManagementTypesTable[] = {
2435 {
2436 0x01,
2437 L" +2.5V Out of range, #2 "
2438 },
2439 {
2440 0x02,
2441 L" +3.3V Out of range "
2442 },
2443 {
2444 0x03,
2445 L" +5V Out of range "
2446 },
2447 {
2448 0x04,
2449 L" -5V Out of range "
2450 },
2451 {
2452 0x05,
2453 L" +12V Out of range "
2454 },
2455 {
2456 0x06,
2457 L" -12V Out of range "
2458 },
2459 {
2460 0x0F07,
2461 L" Reserved for future out-of-range voltage levels "
2462 },
2463 {
2464 0x10,
2465 L" System board temperature out of range "
2466 },
2467 {
2468 0x11,
2469 L" Processor #1 temperature out of range "
2470 },
2471 {
2472 0x12,
2473 L" Processor #2 temperature out of range "
2474 },
2475 {
2476 0x13,
2477 L" Processor #3 temperature out of range "
2478 },
2479 {
2480 0x14,
2481 L" Processor #4 temperature out of range "
2482 },
2483 {
2484 0x1F15,
2485 L" Reserved for future out-of-range temperatures"
2486 },
2487 {
2488 0x2720,
2489 L" Fan n (n = 0 to 7) Out of range "
2490 },
2491 {
2492 0x2F28,
2493 L" Reserved for future assignment via this specification "
2494 },
2495 {
2496 0x30,
2497 L" Chassis secure switch activated "
2498 },
2499 };
2500
2501 TABLE_ITEM PMALocationTable[] = {
2502 {
2503 0x01,
2504 L" Other"
2505 },
2506 {
2507 0x02,
2508 L" Unknown"
2509 },
2510 {
2511 0x03,
2512 L" System board or motherboard"
2513 },
2514 {
2515 0x04,
2516 L" ISA add-on card"
2517 },
2518 {
2519 0x05,
2520 L" EISA add-on card"
2521 },
2522 {
2523 0x06,
2524 L" PCI add-on card"
2525 },
2526 {
2527 0x07,
2528 L" MCA add-on card"
2529 },
2530 {
2531 0x08,
2532 L" PCMCIA add-on card"
2533 },
2534 {
2535 0x09,
2536 L" Proprietary add-on card"
2537 },
2538 {
2539 0x0A,
2540 L" NuBus"
2541 },
2542 {
2543 0xA0,
2544 L" PC-98/C20 add-on card"
2545 },
2546 {
2547 0xA1,
2548 L" PC-98/C24 add-on card"
2549 },
2550 {
2551 0xA2,
2552 L" PC-98/E add-on card"
2553 },
2554 {
2555 0xA3,
2556 L" PC-98/Local bus add-on card"
2557 },
2558 {
2559 MemoryArrayLocationCXLAddonCard,
2560 L" CXL add-on card"
2561 }
2562 };
2563
2564 TABLE_ITEM PMAUseTable[] = {
2565 {
2566 0x01,
2567 L" Other"
2568 },
2569 {
2570 0x02,
2571 L" Unknown"
2572 },
2573 {
2574 0x03,
2575 L" System memory"
2576 },
2577 {
2578 0x04,
2579 L" Video memory"
2580 },
2581 {
2582 0x05,
2583 L" Flash memory"
2584 },
2585 {
2586 0x06,
2587 L" Non-volatile RAM"
2588 },
2589 {
2590 0x07,
2591 L" Cache memory"
2592 }
2593 };
2594
2595 TABLE_ITEM PMAErrorCorrectionTypesTable[] = {
2596 {
2597 0x01,
2598 L" Other"
2599 },
2600 {
2601 0x02,
2602 L" Unknown"
2603 },
2604 {
2605 0x03,
2606 L" None"
2607 },
2608 {
2609 0x04,
2610 L" Parity"
2611 },
2612 {
2613 0x05,
2614 L" Single-bit ECC"
2615 },
2616 {
2617 0x06,
2618 L" Multi-bit ECC"
2619 },
2620 {
2621 0x07,
2622 L" CRC"
2623 }
2624 };
2625
2626 TABLE_ITEM MemoryDeviceFormFactorTable[] = {
2627 {
2628 0x01,
2629 L" Other"
2630 },
2631 {
2632 0x02,
2633 L" Unknown"
2634 },
2635 {
2636 0x03,
2637 L" SIMM"
2638 },
2639 {
2640 0x04,
2641 L" SIP"
2642 },
2643 {
2644 0x05,
2645 L" Chip"
2646 },
2647 {
2648 0x06,
2649 L" DIP"
2650 },
2651 {
2652 0x07,
2653 L" ZIP"
2654 },
2655 {
2656 0x08,
2657 L" Proprietary Card"
2658 },
2659 {
2660 0x09,
2661 L" DIMM"
2662 },
2663 {
2664 0x0A,
2665 L" TSOP"
2666 },
2667 {
2668 0x0B,
2669 L" Row of chips"
2670 },
2671 {
2672 0x0C,
2673 L" RIMM"
2674 },
2675 {
2676 0x0D,
2677 L" SODIMM"
2678 },
2679 {
2680 0x0E,
2681 L" SRIMM"
2682 },
2683 {
2684 0x0F,
2685 L" FB-DIMM"
2686 },
2687 {
2688 MemoryFormFactorDie,
2689 L" Die"
2690 }
2691 };
2692
2693 TABLE_ITEM MemoryDeviceTypeTable[] = {
2694 {
2695 0x01,
2696 L" Other"
2697 },
2698 {
2699 0x02,
2700 L" Unknown"
2701 },
2702 {
2703 0x03,
2704 L" DRAM"
2705 },
2706 {
2707 0x04,
2708 L" EDRAM"
2709 },
2710 {
2711 0x05,
2712 L" VRAM"
2713 },
2714 {
2715 0x06,
2716 L" SRAM"
2717 },
2718 {
2719 0x07,
2720 L" RAM"
2721 },
2722 {
2723 0x08,
2724 L" ROM"
2725 },
2726 {
2727 0x09,
2728 L" FLASH"
2729 },
2730 {
2731 0x0A,
2732 L" EEPROM"
2733 },
2734 {
2735 0x0B,
2736 L" FEPROM"
2737 },
2738 {
2739 0x0C,
2740 L" EPROM"
2741 },
2742 {
2743 0x0D,
2744 L" CDRAM"
2745 },
2746 {
2747 0x0E,
2748 L" 3DRAM"
2749 },
2750 {
2751 0x0F,
2752 L" SDRAM"
2753 },
2754 {
2755 0x10,
2756 L" SGRAM"
2757 },
2758 {
2759 0x11,
2760 L" RDRAM"
2761 },
2762 {
2763 0x12,
2764 L" DDR"
2765 },
2766 {
2767 0x13,
2768 L" DDR2"
2769 },
2770 {
2771 0x14,
2772 L" DDR2 FB-DIMM"
2773 },
2774 {
2775 0x18,
2776 L" DDR3"
2777 },
2778 {
2779 0x19,
2780 L" FBD2"
2781 },
2782 {
2783 0x1A,
2784 L" DDR4"
2785 },
2786 {
2787 0x1B,
2788 L" LPDDR"
2789 },
2790 {
2791 0x1C,
2792 L" LPDDR2"
2793 },
2794 {
2795 0x1D,
2796 L" LPDDR3"
2797 },
2798 {
2799 0x1E,
2800 L" LPDDR4"
2801 },
2802 {
2803 0x1F,
2804 L" Logical non-volatile device"
2805 },
2806 {
2807 MemoryTypeHBM,
2808 L" HBM (High Bandwidth Memory)"
2809 },
2810 {
2811 MemoryTypeHBM2,
2812 L" HBM2 (High Bandwidth Memory Generation 2)"
2813 },
2814 {
2815 MemoryTypeDdr5,
2816 L" DDR5"
2817 },
2818 {
2819 MemoryTypeLpddr5,
2820 L" LPDDR5"
2821 }
2822 };
2823
2824 TABLE_ITEM MemoryDeviceTypeDetailTable[] = {
2825 {
2826 1,
2827 L" Other"
2828 },
2829 {
2830 2,
2831 L" Unknown"
2832 },
2833 {
2834 3,
2835 L" Fast-paged"
2836 },
2837 {
2838 4,
2839 L" Static column"
2840 },
2841 {
2842 5,
2843 L" Pseudo-STATIC"
2844 },
2845 {
2846 6,
2847 L" RAMBUS "
2848 },
2849 {
2850 7,
2851 L" Synchronous"
2852 },
2853 {
2854 8,
2855 L" CMOS"
2856 },
2857 {
2858 9,
2859 L" EDO"
2860 },
2861 {
2862 10,
2863 L" Window DRAM"
2864 },
2865 {
2866 11,
2867 L" Cache DRAM"
2868 },
2869 {
2870 12,
2871 L" Non-volatile"
2872 },
2873 {
2874 13,
2875 L" Registered(Buffered)"
2876 },
2877 {
2878 14,
2879 L" Unbuffered(Unregistered)"
2880 }
2881 };
2882
2883 TABLE_ITEM MemoryDeviceMemoryTechnologyTable[] = {
2884 {
2885 0x01,
2886 L" Other"
2887 },
2888 {
2889 0x02,
2890 L" Unknown"
2891 },
2892 {
2893 0x03,
2894 L" DRAM"
2895 },
2896 {
2897 0x04,
2898 L" NVDIMM-N"
2899 },
2900 {
2901 0x05,
2902 L" NVDIMM-F"
2903 },
2904 {
2905 0x06,
2906 L" NVDIMM-P"
2907 },
2908 {
2909 MemoryTechnologyIntelOptanePersistentMemory,
2910 L" Intel Optane Persistent Memory"
2911 }
2912 };
2913
2914 TABLE_ITEM MemoryDeviceMemoryOperatingModeCapabilityTable[] = {
2915 {
2916 1,
2917 L" Other"
2918 },
2919 {
2920 2,
2921 L" Unknown"
2922 },
2923 {
2924 3,
2925 L" Volatile memory"
2926 },
2927 {
2928 4,
2929 L" Byte-accessible persistent memory"
2930 },
2931 {
2932 5,
2933 L" Block-accessible persistent memory"
2934 }
2935 };
2936
2937 TABLE_ITEM MemoryErrorTypeTable[] = {
2938 {
2939 0x01,
2940 L" Other"
2941 },
2942 {
2943 0x02,
2944 L" Unknown"
2945 },
2946 {
2947 0x03,
2948 L" OK"
2949 },
2950 {
2951 0x04,
2952 L" Bad read"
2953 },
2954 {
2955 0x05,
2956 L" Parity error"
2957 },
2958 {
2959 0x06,
2960 L" Single-bit error"
2961 },
2962 {
2963 0x07,
2964 L" Double-bit error"
2965 },
2966 {
2967 0x08,
2968 L" Multi-bit error"
2969 },
2970 {
2971 0x09,
2972 L" Nibble error"
2973 },
2974 {
2975 0x0A,
2976 L" Checksum error"
2977 },
2978 {
2979 0x0B,
2980 L" CRC error"
2981 },
2982 {
2983 0x0C,
2984 L" Corrected single-bit error"
2985 },
2986 {
2987 0x0D,
2988 L" Corrected error"
2989 },
2990 {
2991 0x0E,
2992 L" Uncorrectable error"
2993 },
2994 };
2995
2996 TABLE_ITEM MemoryErrorGranularityTable[] = {
2997 {
2998 0x01,
2999 L" Other"
3000 },
3001 {
3002 0x02,
3003 L" Unknown"
3004 },
3005 {
3006 0x03,
3007 L" Device level"
3008 },
3009 {
3010 0x04,
3011 L" Memory partition level"
3012 },
3013 };
3014
3015 TABLE_ITEM MemoryErrorOperationTable[] = {
3016 {
3017 0x01,
3018 L" Other"
3019 },
3020 {
3021 0x02,
3022 L" Unknown"
3023 },
3024 {
3025 0x03,
3026 L" Read"
3027 },
3028 {
3029 0x04,
3030 L" Write"
3031 },
3032 {
3033 0x05,
3034 L" Partial Write"
3035 },
3036 };
3037
3038 TABLE_ITEM PointingDeviceTypeTable[] = {
3039 {
3040 0x01,
3041 L" Other"
3042 },
3043 {
3044 0x02,
3045 L" Unknown"
3046 },
3047 {
3048 0x03,
3049 L" Mouse"
3050 },
3051 {
3052 0x04,
3053 L" Track Ball"
3054 },
3055 {
3056 0x05,
3057 L" Track Point"
3058 },
3059 {
3060 0x06,
3061 L" Glide Point"
3062 },
3063 {
3064 0x07,
3065 L" Touch Pad"
3066 },
3067 };
3068
3069 TABLE_ITEM PointingDeviceInterfaceTable[] = {
3070 {
3071 0x01,
3072 L" Other"
3073 },
3074 {
3075 0x02,
3076 L" Unknown"
3077 },
3078 {
3079 0x03,
3080 L" Serial"
3081 },
3082 {
3083 0x04,
3084 L" PS/2"
3085 },
3086 {
3087 0x05,
3088 L" Infrared"
3089 },
3090 {
3091 0x06,
3092 L" HP-HIL"
3093 },
3094 {
3095 0x07,
3096 L" Bus mouse"
3097 },
3098 {
3099 0x08,
3100 L" ADB(Apple Desktop Bus"
3101 },
3102 {
3103 0xA0,
3104 L" Bus mouse DB-9"
3105 },
3106 {
3107 0xA1,
3108 L" Bus mouse mirco-DIN"
3109 },
3110 {
3111 0xA2,
3112 L" USB"
3113 },
3114 };
3115
3116 TABLE_ITEM PBDeviceChemistryTable[] = {
3117 {
3118 0x01,
3119 L" Other "
3120 },
3121 {
3122 0x02,
3123 L" Unknown "
3124 },
3125 {
3126 0x03,
3127 L" Lead Acid "
3128 },
3129 {
3130 0x04,
3131 L" Nickel Cadmium "
3132 },
3133 {
3134 0x05,
3135 L" Nickel metal hydride "
3136 },
3137 {
3138 0x06,
3139 L" Lithium-ion "
3140 },
3141 {
3142 0x07,
3143 L" Zinc air "
3144 },
3145 {
3146 0x08,
3147 L" Lithium Polymer "
3148 },
3149 };
3150
3151 TABLE_ITEM VPLocationTable[] = {
3152 {
3153 0x01,
3154 L" Other "
3155 },
3156 {
3157 0x02,
3158 L" Unknown "
3159 },
3160 {
3161 0x03,
3162 L" OK "
3163 },
3164 {
3165 0x04,
3166 L" Non-critical "
3167 },
3168 {
3169 0x05,
3170 L" Critical "
3171 },
3172 {
3173 0x06,
3174 L" Non-recoverable "
3175 },
3176 };
3177
3178 TABLE_ITEM VPStatusTable[] = {
3179 {
3180 0x01,
3181 L" Other "
3182 },
3183 {
3184 0x02,
3185 L" Unknown "
3186 },
3187 {
3188 0x03,
3189 L" Processor "
3190 },
3191 {
3192 0x04,
3193 L" Disk "
3194 },
3195 {
3196 0x05,
3197 L" Peripheral Bay "
3198 },
3199 {
3200 0x06,
3201 L" System Management Module "
3202 },
3203 {
3204 0x07,
3205 L" Motherboard "
3206 },
3207 {
3208 0x08,
3209 L" Memory Module "
3210 },
3211 {
3212 0x09,
3213 L" Processor Module "
3214 },
3215 {
3216 0x0A,
3217 L" Power Unit "
3218 },
3219 {
3220 0x0B,
3221 L" Add-in Card "
3222 },
3223 };
3224
3225 TABLE_ITEM CoolingDeviceStatusTable[] = {
3226 {
3227 0x01,
3228 L" Other "
3229 },
3230 {
3231 0x02,
3232 L" Unknown "
3233 },
3234 {
3235 0x03,
3236 L" OK "
3237 },
3238 {
3239 0x04,
3240 L" Non-critical "
3241 },
3242 {
3243 0x05,
3244 L" Critical "
3245 },
3246 {
3247 0x06,
3248 L" Non-recoverable "
3249 },
3250 };
3251
3252 TABLE_ITEM CoolingDeviceTypeTable[] = {
3253 {
3254 0x01,
3255 L" Other "
3256 },
3257 {
3258 0x02,
3259 L" Unknown "
3260 },
3261 {
3262 0x03,
3263 L" Fan "
3264 },
3265 {
3266 0x04,
3267 L" Centrifugal Blower "
3268 },
3269 {
3270 0x05,
3271 L" Chip Fan "
3272 },
3273 {
3274 0x06,
3275 L" Cabinet Fan "
3276 },
3277 {
3278 0x07,
3279 L" Power Supply Fan "
3280 },
3281 {
3282 0x08,
3283 L" Heat Pipe "
3284 },
3285 {
3286 0x09,
3287 L" Integrated Refrigeration "
3288 },
3289 {
3290 0x10,
3291 L" Active Cooling "
3292 },
3293 {
3294 0x11,
3295 L" Passive Cooling "
3296 },
3297 };
3298
3299 TABLE_ITEM TemperatureProbeStatusTable[] = {
3300 {
3301 0x01,
3302 L" Other "
3303 },
3304 {
3305 0x02,
3306 L" Unknown "
3307 },
3308 {
3309 0x03,
3310 L" OK "
3311 },
3312 {
3313 0x04,
3314 L" Non-critical "
3315 },
3316 {
3317 0x05,
3318 L" Critical "
3319 },
3320 {
3321 0x06,
3322 L" Non-recoverable "
3323 },
3324 };
3325
3326 TABLE_ITEM TemperatureProbeLocTable[] = {
3327 {
3328 0x01,
3329 L" Other "
3330 },
3331 {
3332 0x02,
3333 L" Unknown "
3334 },
3335 {
3336 0x03,
3337 L" Processor "
3338 },
3339 {
3340 0x04,
3341 L" Disk "
3342 },
3343 {
3344 0x05,
3345 L" Peripheral Bay "
3346 },
3347 {
3348 0x06,
3349 L" System Management Module "
3350 },
3351 {
3352 0x07,
3353 L" Motherboard "
3354 },
3355 {
3356 0x08,
3357 L" Memory Module "
3358 },
3359 {
3360 0x09,
3361 L" Processor Module "
3362 },
3363 {
3364 0x0A,
3365 L" Power Unit "
3366 },
3367 {
3368 0x0B,
3369 L" Add-in Card "
3370 },
3371 };
3372
3373 TABLE_ITEM ECPStatusTable[] = {
3374 {
3375 0x01,
3376 L" Other "
3377 },
3378 {
3379 0x02,
3380 L" Unknown "
3381 },
3382 {
3383 0x03,
3384 L" OK "
3385 },
3386 {
3387 0x04,
3388 L" Non-critical "
3389 },
3390 {
3391 0x05,
3392 L" Critical "
3393 },
3394 {
3395 0x06,
3396 L" Non-recoverable "
3397 },
3398 };
3399
3400 TABLE_ITEM ECPLocTable[] = {
3401 {
3402 0x01,
3403 L" Other "
3404 },
3405 {
3406 0x02,
3407 L" Unknown "
3408 },
3409 {
3410 0x03,
3411 L" Processor "
3412 },
3413 {
3414 0x04,
3415 L" Disk "
3416 },
3417 {
3418 0x05,
3419 L" Peripheral Bay "
3420 },
3421 {
3422 0x06,
3423 L" System Management Module "
3424 },
3425 {
3426 0x07,
3427 L" Motherboard "
3428 },
3429 {
3430 0x08,
3431 L" Memory Module "
3432 },
3433 {
3434 0x09,
3435 L" Processor Module "
3436 },
3437 {
3438 0x0A,
3439 L" Power Unit "
3440 },
3441 {
3442 0x0B,
3443 L" Add-in Card "
3444 },
3445 };
3446
3447 TABLE_ITEM MDTypeTable[] = {
3448 {
3449 0x01,
3450 L" Other "
3451 },
3452 {
3453 0x02,
3454 L" Unknown "
3455 },
3456 {
3457 0x03,
3458 L" National Semiconductor LM75 "
3459 },
3460 {
3461 0x04,
3462 L" National Semiconductor LM78 "
3463 },
3464 {
3465 0x05,
3466 L" National Semiconductor LM79 "
3467 },
3468 {
3469 0x06,
3470 L" National Semiconductor LM80 "
3471 },
3472 {
3473 0x07,
3474 L" National Semiconductor LM81 "
3475 },
3476 {
3477 0x08,
3478 L" Analog Devices ADM9240 "
3479 },
3480 {
3481 0x09,
3482 L" Dallas Semiconductor DS1780 "
3483 },
3484 {
3485 0x0A,
3486 L" Maxim 1617 "
3487 },
3488 {
3489 0x0B,
3490 L" Genesys GL518SM "
3491 },
3492 {
3493 0x0C,
3494 L" Winbond W83781D "
3495 },
3496 {
3497 0x0D,
3498 L" Holtek HT82H791 "
3499 },
3500 };
3501
3502 TABLE_ITEM MDAddressTypeTable[] = {
3503 {
3504 0x01,
3505 L" Other "
3506 },
3507 {
3508 0x02,
3509 L" Unknown "
3510 },
3511 {
3512 0x03,
3513 L" I/O Port "
3514 },
3515 {
3516 0x04,
3517 L" Memory "
3518 },
3519 {
3520 0x05,
3521 L" SM Bus "
3522 },
3523 };
3524
3525 TABLE_ITEM MemoryChannelTypeTable[] = {
3526 {
3527 0x01,
3528 L" Other "
3529 },
3530 {
3531 0x02,
3532 L" Unknown "
3533 },
3534 {
3535 0x03,
3536 L" RamBus "
3537 },
3538 {
3539 0x04,
3540 L" SyncLink "
3541 },
3542 };
3543
3544 TABLE_ITEM IPMIDIBMCInterfaceTypeTable[] = {
3545 {
3546 0x00,
3547 L" Unknown "
3548 },
3549 {
3550 0x01,
3551 L" KCS: Keyboard Controller Style "
3552 },
3553 {
3554 0x02,
3555 L" SMIC: Server Management Interface Chip "
3556 },
3557 {
3558 0x03,
3559 L" BT: Block Transfer "
3560 },
3561 {
3562 0x04,
3563 L" SSIF: SMBus System Interface "
3564 },
3565 {
3566 0xFF05,
3567 L" Reserved for future assignment by this specification "
3568 },
3569 };
3570
3571 TABLE_ITEM MCHostInterfaceTypeTable[] = {
3572 {
3573 0x3F00,
3574 L" MCTP Host Interface "
3575 },
3576 {
3577 0x40,
3578 L" Network Host Interface "
3579 },
3580 {
3581 0xF0,
3582 L" OEM defined "
3583 },
3584 };
3585
3586 TABLE_ITEM ProcessorArchitectureTypesTable[] = {
3587 {
3588 0,
3589 L" Reserved "
3590 },
3591 {
3592 1,
3593 L" IA32 (x86) "
3594 },
3595 {
3596 2,
3597 L" x64 (x86-64, intel64, AMD64, EM64T) "
3598 },
3599 {
3600 3,
3601 L" Intel Itanium architecture "
3602 },
3603 {
3604 4,
3605 L" 32-bit ARM (Aarch32) "
3606 },
3607 {
3608 5,
3609 L" 64-bit ARM (Aarch64) "
3610 },
3611 {
3612 6,
3613 L" 32-bit RISC-V (RV32) "
3614 },
3615 {
3616 7,
3617 L" 64-bit RISC-V (RV64) "
3618 },
3619 {
3620 8,
3621 L" 128-bit RISC-V (RV128) "
3622 }
3623 };
3624
3625 TABLE_ITEM StructureTypeInfoTable[] = {
3626 {
3627 0,
3628 L" BIOS Information"
3629 },
3630 {
3631 1,
3632 L" System Information"
3633 },
3634 {
3635 2,
3636 L" Base Board Information"
3637 },
3638 {
3639 3,
3640 L" System Enclosure"
3641 },
3642 {
3643 4,
3644 L" Processor Information"
3645 },
3646 {
3647 5,
3648 L" Memory Controller Information "
3649 },
3650 {
3651 6,
3652 L" Memory Module Information "
3653 },
3654 {
3655 7,
3656 L" Cache Information "
3657 },
3658 {
3659 8,
3660 L" Port Connector Information "
3661 },
3662 {
3663 9,
3664 L" System Slots "
3665 },
3666 {
3667 10,
3668 L" On Board Devices Information "
3669 },
3670 {
3671 11,
3672 L" OEM Strings"
3673 },
3674 {
3675 12,
3676 L" System Configuration Options "
3677 },
3678 {
3679 13,
3680 L" BIOS Language Information "
3681 },
3682 {
3683 14,
3684 L" Group Associations "
3685 },
3686 {
3687 15,
3688 L" System Event Log "
3689 },
3690 {
3691 16,
3692 L" Physical Memory Array "
3693 },
3694 {
3695 17,
3696 L" Memory Device "
3697 },
3698 {
3699 18,
3700 L" 32-bit Memory Error Information "
3701 },
3702 {
3703 19,
3704 L" Memory Array Mapped Address "
3705 },
3706 {
3707 20,
3708 L" Memory Device Mapped Address "
3709 },
3710 {
3711 21,
3712 L" Built-in Pointing Device "
3713 },
3714 {
3715 22,
3716 L" Portable Battery "
3717 },
3718 {
3719 23,
3720 L" System Reset "
3721 },
3722 {
3723 24,
3724 L" Hardware Security "
3725 },
3726 {
3727 25,
3728 L" System Power Controls "
3729 },
3730 {
3731 26,
3732 L" Voltage Probe "
3733 },
3734 {
3735 27,
3736 L" Cooling Device "
3737 },
3738 {
3739 28,
3740 L" Temperature Probe "
3741 },
3742 {
3743 29,
3744 L" Electrical Current Probe "
3745 },
3746 {
3747 30,
3748 L" Out-of-Band Remote Access "
3749 },
3750 {
3751 31,
3752 L" Boot Integrity Services (BIS) Entry Point"
3753 },
3754 {
3755 32,
3756 L" System Boot Information "
3757 },
3758 {
3759 33,
3760 L" 64-bit Memory Error Information "
3761 },
3762 {
3763 34,
3764 L" Management Device "
3765 },
3766 {
3767 35,
3768 L" Management Device Component "
3769 },
3770 {
3771 36,
3772 L" Management Device Threshold Data "
3773 },
3774 {
3775 37,
3776 L" Memory Channel "
3777 },
3778 {
3779 38,
3780 L" IPMI Device Information "
3781 },
3782 {
3783 39,
3784 L" System Power Supply"
3785 },
3786 {
3787 40,
3788 L" Additional Information"
3789 },
3790 {
3791 41,
3792 L" Onboard Devices Extended Information"
3793 },
3794 {
3795 42,
3796 L" Management Controller Host Interface"
3797 },
3798 {
3799 43,
3800 L" TPM Device"
3801 },
3802 {
3803 44,
3804 L" Processor Additional Information"
3805 },
3806 {
3807 0x7E,
3808 L" Inactive"
3809 },
3810 {
3811 0x7F,
3812 L" End-of-Table "
3813 },
3814 };
3815
3816 /**
3817 Given a table and a Key, return the responding info.
3818
3819 Notes:
3820 Table[Index].Key is change from UINT8 to UINT16,
3821 in order to deal with "0xaa - 0xbb".
3822
3823 For example:
3824 DisplaySELVariableDataFormatTypes(UINT8 Type, UINT8 Option)
3825 has a item:
3826 "0x07-0x7F, Unused"
3827 Now define Key = 0x7F07, that is to say: High = 0x7F, Low = 0x07.
3828 Then all the Key Value between Low and High gets the same string
3829 L"Unused".
3830
3831 @param[in] Table The begin address of table.
3832 @param[in] Number The number of table items.
3833 @param[in] Key The query Key.
3834 @param[in, out] Info Input as empty buffer; output as data buffer.
3835 @param[in] InfoLen The max number of characters for Info.
3836
3837 @return the found Key and Info is valid.
3838 @retval QUERY_TABLE_UNFOUND and Info should be NULL.
3839 **/
3840 UINT8
3841 QueryTable (
3842 IN TABLE_ITEM *Table,
3843 IN UINTN Number,
3844 IN UINT8 Key,
3845 IN OUT CHAR16 *Info,
3846 IN UINTN InfoLen
3847 )
3848 {
3849 UINTN Index;
3850 //
3851 // High byte and Low byte of word
3852 //
3853 UINT8 High;
3854 UINT8 Low;
3855
3856 for (Index = 0; Index < Number; Index++) {
3857 High = (UINT8)(Table[Index].Key >> 8);
3858 Low = (UINT8)(Table[Index].Key & 0x00FF);
3859
3860 //
3861 // Check if Key is in the range
3862 // or if Key == Value in the table
3863 //
3864 if ( ((High > Low) && (Key >= Low) && (Key <= High))
3865 || (Table[Index].Key == Key))
3866 {
3867 StrnCpyS (Info, InfoLen, Table[Index].Info, InfoLen - 1);
3868 StrnCatS (Info, InfoLen, L"\n", InfoLen - 1 - StrLen (Info));
3869 return Key;
3870 }
3871 }
3872
3873 StrCpyS (Info, InfoLen, L"Undefined Value\n");
3874 return QUERY_TABLE_UNFOUND;
3875 }
3876
3877 /**
3878 Given a table of bit info and a Key, return the responding info to the Key.
3879
3880 @param[in] Table Point to a table which maintains a map of 'bit' to 'message'.
3881 @param[in] Number Number of table items.
3882 @param[in] Bits The Key of query the bit map information.
3883 **/
3884 VOID
3885 PrintBitsInfo (
3886 IN TABLE_ITEM *Table,
3887 IN UINTN Number,
3888 IN UINT32 Bits
3889 )
3890 {
3891 //
3892 // Get certain bit of 'Value':
3893 //
3894 #define BIT(Value, bit) ((Value) & ((UINT32) 1) << (bit))
3895 //
3896 // Clear certain bit of 'Value':
3897 //
3898 #define CLR_BIT(Value, bit) ((Value) -= (BIT (Value, bit)))
3899
3900 UINTN Index;
3901 UINT32 Value;
3902 BOOLEAN FirstInfo;
3903
3904 FirstInfo = TRUE;
3905 Value = Bits;
3906 //
3907 // query the table and print information
3908 //
3909 for (Index = 0; Index < Number; Index++) {
3910 if (BIT (Value, Table[Index].Key) != 0) {
3911 if (!FirstInfo) {
3912 //
3913 // If it is not first info, print the separator first.
3914 //
3915 Print (L" | ");
3916 }
3917
3918 Print (Table[Index].Info);
3919
3920 FirstInfo = FALSE;
3921 //
3922 // clear the bit, for reserved bits test
3923 //
3924 CLR_BIT (Value, Table[Index].Key);
3925 }
3926 }
3927
3928 //
3929 // There is no any info if FirstInfo is still TRUE.
3930 //
3931 if (FirstInfo) {
3932 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_NO_INFO), gShellDebug1HiiHandle);
3933 }
3934
3935 if (Value != 0) {
3936 ShellPrintHiiEx (
3937 -1,
3938 -1,
3939 NULL,
3940 STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_RSVD_BITS_SET),
3941 gShellDebug1HiiHandle,
3942 Value
3943 );
3944 }
3945
3946 Print (L"\n");
3947 }
3948
3949 //
3950 // //////////////////////////////////////////////////////////////////
3951 //
3952 // Following uses QueryTable functions to simplify the coding.
3953 // QueryTable(), PrintBitsInfo()
3954 //
3955 //
3956 #define PRINT_TABLE_ITEM(Table, Key) \
3957 do { \
3958 UINTN Num; \
3959 CHAR16 Info[66]; \
3960 Num = sizeof (Table) / sizeof (TABLE_ITEM); \
3961 ZeroMem (Info, sizeof (Info)); \
3962 QueryTable (Table, Num, Key, Info, sizeof(Info)/sizeof(Info[0])); \
3963 Print (Info); \
3964 } while (0);
3965
3966 #define PRINT_BITS_INFO(Table, bits) \
3967 do { \
3968 UINTN Num; \
3969 Num = sizeof (Table) / sizeof (TABLE_ITEM); \
3970 PrintBitsInfo (Table, Num, (UINT32) bits); \
3971 } while (0);
3972
3973 /**
3974 Display System Information (Type 1) Type.
3975
3976 @param[in] Type The key of the structure.
3977 @param[in] Option The optional information.
3978 **/
3979 VOID
3980 DisplaySystemWakeupType (
3981 IN UINT8 Type,
3982 IN UINT8 Option
3983 )
3984 {
3985 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_WAKEUP_TYPE), gShellDebug1HiiHandle);
3986 PRINT_INFO_OPTION (Type, Option);
3987 PRINT_TABLE_ITEM (SystemWakeupTypeTable, Type);
3988 }
3989
3990 /**
3991 Display Base Board (Type 2) Feature Flags.
3992
3993 @param[in] FeatureFlags The key of the structure.
3994 @param[in] Option The optional information.
3995 **/
3996 VOID
3997 DisplayBaseBoardFeatureFlags (
3998 IN UINT8 FeatureFlags,
3999 IN UINT8 Option
4000 )
4001 {
4002 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_BASE_BOARD_FEATURE_FLAGS), gShellDebug1HiiHandle);
4003 PRINT_INFO_OPTION (FeatureFlags, Option);
4004 PRINT_BITS_INFO (BaseBoardFeatureFlagsTable, FeatureFlags);
4005 }
4006
4007 /**
4008 Display Base Board (Type 2) Board Type.
4009
4010 @param[in] Type The key of the structure.
4011 @param[in] Option The optional information.
4012 **/
4013 VOID
4014 DisplayBaseBoardBoardType (
4015 IN UINT8 Type,
4016 IN UINT8 Option
4017 )
4018 {
4019 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_BASE_BOARD_BOARD_TYPE), gShellDebug1HiiHandle);
4020 PRINT_INFO_OPTION (Type, Option);
4021 PRINT_TABLE_ITEM (BaseBoardBoardTypeTable, Type);
4022 }
4023
4024 /**
4025 Display System Enclosure (Type 3) Enclosure Type.
4026
4027 @param[in] Type The key of the structure.
4028 @param[in] Option The optional information.
4029 **/
4030 VOID
4031 DisplaySystemEnclosureType (
4032 IN UINT8 Type,
4033 IN UINT8 Option
4034 )
4035 {
4036 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_CHASSIS_TYPE), gShellDebug1HiiHandle);
4037 PRINT_INFO_OPTION (Type, Option);
4038 //
4039 // query table and print info
4040 //
4041 PRINT_TABLE_ITEM (SystemEnclosureTypeTable, Type);
4042
4043 if (BIT (Type, 7) != 0) {
4044 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CHASSIS_LOCK_PRESENT), gShellDebug1HiiHandle);
4045 }
4046 }
4047
4048 /**
4049 Display System Enclosure (Type 3) Enclosure Status.
4050
4051 @param[in] Status The key of the structure.
4052 @param[in] Option The optional information.
4053 **/
4054 VOID
4055 DisplaySystemEnclosureStatus (
4056 IN UINT8 Status,
4057 IN UINT8 Option
4058 )
4059 {
4060 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_CHASSIS_STATUS), gShellDebug1HiiHandle);
4061 PRINT_INFO_OPTION (Status, Option);
4062 PRINT_TABLE_ITEM (SystemEnclosureStatusTable, Status);
4063 }
4064
4065 /**
4066 Display System Enclosure (Type 3) Security Status.
4067
4068 @param[in] Status The key of the structure.
4069 @param[in] Option The optional information.
4070 **/
4071 VOID
4072 DisplaySESecurityStatus (
4073 IN UINT8 Status,
4074 IN UINT8 Option
4075 )
4076 {
4077 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_CHASSIS_SECURITY), gShellDebug1HiiHandle);
4078 PRINT_INFO_OPTION (Status, Option);
4079 PRINT_TABLE_ITEM (SESecurityStatusTable, Status);
4080 }
4081
4082 /**
4083 Display Processor Information (Type 4) Type.
4084
4085 @param[in] Type The key of the structure.
4086 @param[in] Option The optional information.
4087 **/
4088 VOID
4089 DisplayProcessorType (
4090 IN UINT8 Type,
4091 IN UINT8 Option
4092 )
4093 {
4094 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PROC_TYPE), gShellDebug1HiiHandle);
4095 PRINT_INFO_OPTION (Type, Option);
4096 PRINT_TABLE_ITEM (ProcessorTypeTable, Type);
4097 }
4098
4099 /**
4100 Display Processor Information (Type 4) Upgrade.
4101
4102 @param[in] Upgrade The key of the structure.
4103 @param[in] Option The optional information.
4104 **/
4105 VOID
4106 DisplayProcessorUpgrade (
4107 IN UINT8 Upgrade,
4108 IN UINT8 Option
4109 )
4110 {
4111 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PROC_UPDATE), gShellDebug1HiiHandle);
4112 PRINT_INFO_OPTION (Upgrade, Option);
4113 PRINT_TABLE_ITEM (ProcessorUpgradeTable, Upgrade);
4114 }
4115
4116 /**
4117 Display Processor Information (Type 4) Characteristics.
4118
4119 @param[in] Type The key of the structure.
4120 @param[in] Option The optional information.
4121 **/
4122 VOID
4123 DisplayProcessorCharacteristics (
4124 IN UINT16 Type,
4125 IN UINT8 Option
4126 )
4127 {
4128 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PROC_CHARACTERISTICS), gShellDebug1HiiHandle);
4129 PRINT_INFO_OPTION (Type, Option);
4130 PRINT_BITS_INFO (ProcessorCharacteristicsTable, Type);
4131 }
4132
4133 /**
4134 Display Memory Controller Information (Type 5) method.
4135
4136 @param[in] Method The key of the structure.
4137 @param[in] Option The optional information.
4138 **/
4139 VOID
4140 DisplayMcErrorDetectMethod (
4141 IN UINT8 Method,
4142 IN UINT8 Option
4143 )
4144 {
4145 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DETECTMETHOD), gShellDebug1HiiHandle);
4146 PRINT_INFO_OPTION (Method, Option);
4147 PRINT_TABLE_ITEM (McErrorDetectMethodTable, Method);
4148 }
4149
4150 /**
4151 Display Memory Controller Information (Type 5) Capability.
4152
4153 @param[in] Capability The key of the structure.
4154 @param[in] Option The optional information.
4155 **/
4156 VOID
4157 DisplayMcErrorCorrectCapability (
4158 IN UINT8 Capability,
4159 IN UINT8 Option
4160 )
4161 {
4162 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_CORRECT_CAPABILITY), gShellDebug1HiiHandle);
4163 PRINT_INFO_OPTION (Capability, Option);
4164 PRINT_BITS_INFO (McErrorCorrectCapabilityTable, Capability);
4165 }
4166
4167 /**
4168 Display Memory Controller Information (Type 5) Support.
4169
4170 @param[in] Support The key of the structure.
4171 @param[in] Option The optional information.
4172 **/
4173 VOID
4174 DisplayMcInterleaveSupport (
4175 IN UINT8 Support,
4176 IN UINT8 Option
4177 )
4178 {
4179 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_INTERLEAVE_SUPPORT), gShellDebug1HiiHandle);
4180 PRINT_INFO_OPTION (Support, Option);
4181 PRINT_TABLE_ITEM (McInterleaveSupportTable, Support);
4182 }
4183
4184 /**
4185 Display Memory Controller Information (Type 5) speeds.
4186
4187 @param[in] Speed The key of the structure.
4188 @param[in] Option The optional information.
4189 **/
4190 VOID
4191 DisplayMcMemorySpeeds (
4192 IN UINT16 Speed,
4193 IN UINT8 Option
4194 )
4195 {
4196 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_MEMORY_SPEED), gShellDebug1HiiHandle);
4197 PRINT_INFO_OPTION (Speed, Option);
4198 PRINT_BITS_INFO (McMemorySpeedsTable, Speed);
4199 }
4200
4201 /**
4202 Display Memory Controller Information (Type 5) voltage.
4203
4204 @param[in] Voltage The key of the structure.
4205 @param[in] Option The optional information.
4206 **/
4207 VOID
4208 DisplayMemoryModuleVoltage (
4209 IN UINT8 Voltage,
4210 IN UINT8 Option
4211 )
4212 {
4213 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_REQUIRED_VOLTAGES), gShellDebug1HiiHandle);
4214 PRINT_INFO_OPTION (Voltage, Option);
4215 PRINT_BITS_INFO (MemoryModuleVoltageTable, Voltage);
4216 }
4217
4218 /**
4219 Display Memory Module Information (Type 6) type.
4220
4221 @param[in] Type The key of the structure.
4222 @param[in] Option The optional information.
4223 **/
4224 VOID
4225 DisplayMmMemoryType (
4226 IN UINT16 Type,
4227 IN UINT8 Option
4228 )
4229 {
4230 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_MODULE_TYPE), gShellDebug1HiiHandle);
4231 PRINT_INFO_OPTION (Type, Option);
4232 PRINT_BITS_INFO (MmMemoryTypeTable, Type);
4233 }
4234
4235 /**
4236 Display Memory Module Information (Type 6) status.
4237
4238 @param[in] Status The key of the structure.
4239 @param[in] Option The optional information.
4240 **/
4241 VOID
4242 DisplayMmErrorStatus (
4243 IN UINT8 Status,
4244 IN UINT8 Option
4245 )
4246 {
4247 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_MODULE_ERROR_STATUS), gShellDebug1HiiHandle);
4248 PRINT_INFO_OPTION (Status, Option);
4249 PRINT_BITS_INFO (MmErrorStatusTable, Status);
4250 }
4251
4252 /**
4253 Display Cache Information (Type 7) SRAM Type.
4254
4255 @param[in] Type The key of the structure.
4256 @param[in] Option The optional information.
4257 **/
4258 VOID
4259 DisplayCacheSRAMType (
4260 IN UINT16 Type,
4261 IN UINT8 Option
4262 )
4263 {
4264 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CACHE_SRAM_TYPE), gShellDebug1HiiHandle);
4265 PRINT_INFO_OPTION ((UINT8)Type, Option);
4266 PRINT_BITS_INFO (CacheSRAMTypeTable, (UINT8)Type);
4267 }
4268
4269 /**
4270 Display Cache Information (Type 7) correcting Type.
4271
4272 @param[in] Type The key of the structure.
4273 @param[in] Option The optional information.
4274 **/
4275 VOID
4276 DisplayCacheErrCorrectingType (
4277 IN UINT8 Type,
4278 IN UINT8 Option
4279 )
4280 {
4281 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CACHE_ERROR_CORRECTING), gShellDebug1HiiHandle);
4282 PRINT_INFO_OPTION (Type, Option);
4283 PRINT_TABLE_ITEM (CacheErrCorrectingTypeTable, Type);
4284 }
4285
4286 /**
4287 Display Cache Information (Type 7) Type.
4288
4289 @param[in] Type The key of the structure.
4290 @param[in] Option The optional information.
4291 **/
4292 VOID
4293 DisplayCacheSystemCacheType (
4294 IN UINT8 Type,
4295 IN UINT8 Option
4296 )
4297 {
4298 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CACHE_SYSTEM_TYPE), gShellDebug1HiiHandle);
4299 PRINT_INFO_OPTION (Type, Option);
4300 PRINT_TABLE_ITEM (CacheSystemCacheTypeTable, Type);
4301 }
4302
4303 /**
4304 Display Cache Information (Type 7) Associativity.
4305
4306 @param[in] Associativity The key of the structure.
4307 @param[in] Option The optional information.
4308 **/
4309 VOID
4310 DisplayCacheAssociativity (
4311 IN UINT8 Associativity,
4312 IN UINT8 Option
4313 )
4314 {
4315 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CACHE_ASSOCIATIVITY), gShellDebug1HiiHandle);
4316 PRINT_INFO_OPTION (Associativity, Option);
4317 PRINT_TABLE_ITEM (CacheAssociativityTable, Associativity);
4318 }
4319
4320 /**
4321 Display Port Connector Information (Type 8) type.
4322
4323 @param[in] Type The key of the structure.
4324 @param[in] Option The optional information.
4325 **/
4326 VOID
4327 DisplayPortConnectorType (
4328 IN UINT8 Type,
4329 IN UINT8 Option
4330 )
4331 {
4332 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PORT_CONNECTOR_TYPE), gShellDebug1HiiHandle);
4333 PRINT_INFO_OPTION (Type, Option);
4334 PRINT_TABLE_ITEM (PortConnectorTypeTable, Type);
4335 }
4336
4337 /**
4338 Display Port Connector Information (Type 8) port type.
4339
4340 @param[in] Type The key of the structure.
4341 @param[in] Option The optional information.
4342 **/
4343 VOID
4344 DisplayPortType (
4345 IN UINT8 Type,
4346 IN UINT8 Option
4347 )
4348 {
4349 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PORT_TYPE), gShellDebug1HiiHandle);
4350 PRINT_INFO_OPTION (Type, Option);
4351 PRINT_TABLE_ITEM (PortTypeTable, Type);
4352 }
4353
4354 /**
4355 Display System Slots (Type 9) slot type.
4356
4357 @param[in] Type The key of the structure.
4358 @param[in] Option The optional information.
4359 **/
4360 VOID
4361 DisplaySystemSlotType (
4362 IN UINT8 Type,
4363 IN UINT8 Option
4364 )
4365 {
4366 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_TYPE), gShellDebug1HiiHandle);
4367 PRINT_INFO_OPTION (Type, Option);
4368 PRINT_TABLE_ITEM (SystemSlotTypeTable, Type);
4369 }
4370
4371 /**
4372 Display System Slots (Type 9) data bus width.
4373
4374 @param[in] Width The key of the structure.
4375 @param[in] Option The optional information.
4376 **/
4377 VOID
4378 DisplaySystemSlotDataBusWidth (
4379 IN UINT8 Width,
4380 IN UINT8 Option
4381 )
4382 {
4383 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_DATA), gShellDebug1HiiHandle);
4384 PRINT_INFO_OPTION (Width, Option);
4385 PRINT_TABLE_ITEM (SystemSlotDataBusWidthTable, Width);
4386 }
4387
4388 /**
4389 Display System Slots (Type 9) usage information.
4390
4391 @param[in] Usage The key of the structure.
4392 @param[in] Option The optional information.
4393 **/
4394 VOID
4395 DisplaySystemSlotCurrentUsage (
4396 IN UINT8 Usage,
4397 IN UINT8 Option
4398 )
4399 {
4400 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_CURRENT_USAGE), gShellDebug1HiiHandle);
4401 PRINT_INFO_OPTION (Usage, Option);
4402 PRINT_TABLE_ITEM (SystemSlotCurrentUsageTable, Usage);
4403 }
4404
4405 /**
4406 Display System Slots (Type 9) slot length.
4407
4408 @param[in] Length The key of the structure.
4409 @param[in] Option The optional information.
4410 **/
4411 VOID
4412 DisplaySystemSlotLength (
4413 IN UINT8 Length,
4414 IN UINT8 Option
4415 )
4416 {
4417 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_LENGTH), gShellDebug1HiiHandle);
4418 PRINT_INFO_OPTION (Length, Option);
4419 PRINT_TABLE_ITEM (SystemSlotLengthTable, Length);
4420 }
4421
4422 /**
4423 Display System Slots (Type 9) characteristics.
4424
4425 @param[in] Chara1 The key of the structure.
4426 @param[in] Option The optional information.
4427 **/
4428 VOID
4429 DisplaySlotCharacteristics1 (
4430 IN UINT8 Chara1,
4431 IN UINT8 Option
4432 )
4433 {
4434 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SLOT_CHARACTERISTICS), gShellDebug1HiiHandle);
4435 PRINT_INFO_OPTION (Chara1, Option);
4436 PRINT_BITS_INFO (SlotCharacteristics1Table, Chara1);
4437 }
4438
4439 /**
4440 Display System Slots (Type 9) characteristics.
4441
4442 @param[in] Chara2 The key of the structure.
4443 @param[in] Option The optional information.
4444 **/
4445 VOID
4446 DisplaySlotCharacteristics2 (
4447 IN UINT8 Chara2,
4448 IN UINT8 Option
4449 )
4450 {
4451 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SLOT_CHARACTERISTICS_2), gShellDebug1HiiHandle);
4452 PRINT_INFO_OPTION (Chara2, Option);
4453 PRINT_BITS_INFO (SlotCharacteristics2Table, Chara2);
4454 }
4455
4456 /**
4457 Display System Slots (Type 9) Information.
4458
4459 @param[in] Width The key of the structure.
4460 @param[in] Option The optional information.
4461 **/
4462 VOID
4463 DisplaySystemSlotInformation (
4464 IN UINT8 Width,
4465 IN UINT8 Option
4466 )
4467 {
4468 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_INFORMATION), gShellDebug1HiiHandle);
4469 PRINT_INFO_OPTION (Width, Option);
4470 PRINT_TABLE_ITEM (SystemSlotInformationTable, Width);
4471 }
4472
4473 /**
4474 Display System Slots (Type 9) Physical Width.
4475
4476 @param[in] Width The key of the structure.
4477 @param[in] Option The optional information.
4478 **/
4479 VOID
4480 DisplaySystemSlotPhysicalWidth (
4481 IN UINT8 Width,
4482 IN UINT8 Option
4483 )
4484 {
4485 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_PHYSICAL_WIDTH), gShellDebug1HiiHandle);
4486 PRINT_INFO_OPTION (Width, Option);
4487 PRINT_TABLE_ITEM (SystemSlotPhysicalWidthTable, Width);
4488 }
4489
4490 /**
4491 Display System Slots (Type 9) slot height.
4492
4493 @param[in] Length The key of the structure.
4494 @param[in] Option The optional information.
4495 **/
4496 VOID
4497 DisplaySystemSlotHeight (
4498 IN UINT8 Length,
4499 IN UINT8 Option
4500 )
4501 {
4502 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_HEIGHT), gShellDebug1HiiHandle);
4503 PRINT_INFO_OPTION (Length, Option);
4504 PRINT_TABLE_ITEM (SystemSlotHeightTable, Length);
4505 }
4506
4507 /**
4508 Display On Board Devices Information (Type 10) types.
4509
4510 @param[in] Type The key of the structure.
4511 @param[in] Option The optional information.
4512 **/
4513 VOID
4514 DisplayOnboardDeviceTypes (
4515 IN UINT8 Type,
4516 IN UINT8 Option
4517 )
4518 {
4519 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_ONBOARD_DEVICE_TYPE), gShellDebug1HiiHandle);
4520 PRINT_INFO_OPTION (Type, Option);
4521 PRINT_TABLE_ITEM (OnboardDeviceTypesTable, Type);
4522 }
4523
4524 /**
4525 Display System Event Log (Type 15) types.
4526
4527 @param[in] Type The key of the structure.
4528 @param[in] Option The optional information.
4529 **/
4530 VOID
4531 DisplaySELTypes (
4532 IN UINT8 Type,
4533 IN UINT8 Option
4534 )
4535 {
4536 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_EVENT_LOG_TYPE), gShellDebug1HiiHandle);
4537 PRINT_INFO_OPTION (Type, Option);
4538 PRINT_TABLE_ITEM (SELTypesTable, Type);
4539 }
4540
4541 /**
4542 Display System Event Log (Type 15) format type.
4543
4544 @param[in] Type The key of the structure.
4545 @param[in] Option The optional information.
4546 **/
4547 VOID
4548 DisplaySELVarDataFormatType (
4549 IN UINT8 Type,
4550 IN UINT8 Option
4551 )
4552 {
4553 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_EVENT_LOG_VAR_DATA_FORMAT), gShellDebug1HiiHandle);
4554 PRINT_INFO_OPTION (Type, Option);
4555 PRINT_TABLE_ITEM (SELVarDataFormatTypeTable, Type);
4556 }
4557
4558 /**
4559 Display System Event Log (Type 15) dw1.
4560
4561 @param[in] Key The key of the structure.
4562 @param[in] Option The optional information.
4563 **/
4564 VOID
4565 DisplayPostResultsBitmapDw1 (
4566 IN UINT32 Key,
4567 IN UINT8 Option
4568 )
4569 {
4570 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_POST_RESULTS_BITMAP), gShellDebug1HiiHandle);
4571 PRINT_INFO_OPTION (Key, Option);
4572 PRINT_BITS_INFO (PostResultsBitmapDw1Table, Key);
4573 }
4574
4575 /**
4576 Display System Event Log (Type 15) dw2.
4577
4578 @param[in] Key The key of the structure.
4579 @param[in] Option The optional information.
4580 **/
4581 VOID
4582 DisplayPostResultsBitmapDw2 (
4583 IN UINT32 Key,
4584 IN UINT8 Option
4585 )
4586 {
4587 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_POST_RESULTS_SECOND_DWORD), gShellDebug1HiiHandle);
4588 PRINT_INFO_OPTION (Key, Option);
4589 PRINT_BITS_INFO (PostResultsBitmapDw2Table, Key);
4590 }
4591
4592 /**
4593 Display System Event Log (Type 15) type.
4594
4595 @param[in] SMType The key of the structure.
4596 @param[in] Option The optional information.
4597 **/
4598 VOID
4599 DisplaySELSysManagementTypes (
4600 IN UINT32 SMType,
4601 IN UINT8 Option
4602 )
4603 {
4604 UINT8 Temp;
4605
4606 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_MANAGEMENT_TYPES), gShellDebug1HiiHandle);
4607 PRINT_INFO_OPTION (SMType, Option);
4608
4609 //
4610 // Deal with wide range Value
4611 //
4612 if (SMType >= 0x80000000) {
4613 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_OEM_ASSIGNED), gShellDebug1HiiHandle);
4614 } else if (SMType >= 0x00020000) {
4615 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_RSVD_FOR_FUTURE_ASSIGN), gShellDebug1HiiHandle);
4616 } else if (SMType >= 0x00010000) {
4617 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_MANAGEMENT_PROBE), gShellDebug1HiiHandle);
4618 } else if (SMType >= 0x31) {
4619 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_RSVD_FOR_FUTURE_ASSIGN), gShellDebug1HiiHandle);
4620 } else {
4621 //
4622 // Deal with One byte data
4623 //
4624 Temp = (UINT8)(SMType & 0x3F);
4625 PRINT_TABLE_ITEM (SELSysManagementTypesTable, Temp);
4626 }
4627 }
4628
4629 /**
4630 Display Physical Memory Array (Type 16) Location.
4631
4632 @param[in] Location The key of the structure.
4633 @param[in] Option The optional information.
4634 **/
4635 VOID
4636 DisplayPMALocation (
4637 IN UINT8 Location,
4638 IN UINT8 Option
4639 )
4640 {
4641 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_LOCATION), gShellDebug1HiiHandle);
4642 PRINT_INFO_OPTION (Location, Option);
4643 PRINT_TABLE_ITEM (PMALocationTable, Location);
4644 }
4645
4646 /**
4647 Display Physical Memory Array (Type 16) Use.
4648
4649 @param[in] Use The key of the structure.
4650 @param[in] Option The optional information.
4651 **/
4652 VOID
4653 DisplayPMAUse (
4654 IN UINT8 Use,
4655 IN UINT8 Option
4656 )
4657 {
4658 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_USE), gShellDebug1HiiHandle);
4659 PRINT_INFO_OPTION (Use, Option);
4660 PRINT_TABLE_ITEM (PMAUseTable, Use);
4661 }
4662
4663 /**
4664 Display Physical Memory Array (Type 16) Types.
4665
4666 @param[in] Type The key of the structure.
4667 @param[in] Option The optional information.
4668 **/
4669 VOID
4670 DisplayPMAErrorCorrectionTypes (
4671 IN UINT8 Type,
4672 IN UINT8 Option
4673 )
4674 {
4675 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_ERROR), gShellDebug1HiiHandle);
4676 PRINT_INFO_OPTION (Type, Option);
4677 PRINT_TABLE_ITEM (PMAErrorCorrectionTypesTable, Type);
4678 }
4679
4680 /**
4681 Display Memory Device (Type 17) form factor.
4682
4683 @param[in] FormFactor The key of the structure.
4684 @param[in] Option The optional information.
4685 **/
4686 VOID
4687 DisplayMemoryDeviceFormFactor (
4688 IN UINT8 FormFactor,
4689 IN UINT8 Option
4690 )
4691 {
4692 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_FORM_FACTOR), gShellDebug1HiiHandle);
4693 PRINT_INFO_OPTION (FormFactor, Option);
4694 PRINT_TABLE_ITEM (MemoryDeviceFormFactorTable, FormFactor);
4695 }
4696
4697 /**
4698 Display Memory Device (Type 17) type.
4699
4700 @param[in] Type The key of the structure.
4701 @param[in] Option The optional information.
4702 **/
4703 VOID
4704 DisplayMemoryDeviceType (
4705 IN UINT8 Type,
4706 IN UINT8 Option
4707 )
4708 {
4709 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_TYPE), gShellDebug1HiiHandle);
4710 PRINT_INFO_OPTION (Type, Option);
4711 PRINT_TABLE_ITEM (MemoryDeviceTypeTable, Type);
4712 }
4713
4714 /**
4715 Display Memory Device (Type 17) details.
4716
4717 @param[in] Para The key of the structure.
4718 @param[in] Option The optional information.
4719 **/
4720 VOID
4721 DisplayMemoryDeviceTypeDetail (
4722 IN UINT16 Para,
4723 IN UINT8 Option
4724 )
4725 {
4726 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_TYPE_DETAIL), gShellDebug1HiiHandle);
4727 PRINT_INFO_OPTION (Para, Option);
4728 PRINT_BITS_INFO (MemoryDeviceTypeDetailTable, Para);
4729 }
4730
4731 /**
4732 Display Memory Device (Type 17) memory technology.
4733
4734 @param[in] Para The key of the structure.
4735 @param[in] Option The optional information.
4736 **/
4737 VOID
4738 DisplayMemoryDeviceMemoryTechnology (
4739 IN UINT8 Para,
4740 IN UINT8 Option
4741 )
4742 {
4743 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_MEMORY_TECHNOLOGY), gShellDebug1HiiHandle);
4744 PRINT_INFO_OPTION (Para, Option);
4745 PRINT_TABLE_ITEM (MemoryDeviceMemoryTechnologyTable, Para);
4746 }
4747
4748 /**
4749 Display Memory Device (Type 17) memory operating mode capability.
4750
4751 @param[in] Para The key of the structure.
4752 @param[in] Option The optional information.
4753 **/
4754 VOID
4755 DisplayMemoryDeviceMemoryOperatingModeCapability (
4756 IN UINT16 Para,
4757 IN UINT8 Option
4758 )
4759 {
4760 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_MEM_OPER_MODE_CAPA), gShellDebug1HiiHandle);
4761 PRINT_INFO_OPTION (Para, Option);
4762 PRINT_BITS_INFO (MemoryDeviceMemoryOperatingModeCapabilityTable, Para);
4763 }
4764
4765 /**
4766 Display 32-bit Memory Error Information (Type 18) type.
4767
4768 @param[in] ErrorType The key of the structure.
4769 @param[in] Option The optional information.
4770 **/
4771 VOID
4772 DisplayMemoryErrorType (
4773 IN UINT8 ErrorType,
4774 IN UINT8 Option
4775 )
4776 {
4777 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_INFO), gShellDebug1HiiHandle);
4778 PRINT_INFO_OPTION (ErrorType, Option);
4779 PRINT_TABLE_ITEM (MemoryErrorTypeTable, ErrorType);
4780 }
4781
4782 /**
4783 Display 32-bit Memory Error Information (Type 18) error granularity.
4784
4785 @param[in] Granularity The key of the structure.
4786 @param[in] Option The optional information.
4787 **/
4788 VOID
4789 DisplayMemoryErrorGranularity (
4790 IN UINT8 Granularity,
4791 IN UINT8 Option
4792 )
4793 {
4794 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_GRANULARITY), gShellDebug1HiiHandle);
4795 PRINT_INFO_OPTION (Granularity, Option);
4796 PRINT_TABLE_ITEM (MemoryErrorGranularityTable, Granularity);
4797 }
4798
4799 /**
4800 Display 32-bit Memory Error Information (Type 18) error information.
4801
4802 @param[in] Operation The key of the structure.
4803 @param[in] Option The optional information.
4804 **/
4805 VOID
4806 DisplayMemoryErrorOperation (
4807 IN UINT8 Operation,
4808 IN UINT8 Option
4809 )
4810 {
4811 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_OP), gShellDebug1HiiHandle);
4812 PRINT_INFO_OPTION (Operation, Option);
4813 PRINT_TABLE_ITEM (MemoryErrorOperationTable, Operation);
4814 }
4815
4816 /**
4817 Display Built-in Pointing Device (Type 21) type information.
4818
4819 @param[in] Type The key of the structure.
4820 @param[in] Option The optional information.
4821 **/
4822 VOID
4823 DisplayPointingDeviceType (
4824 IN UINT8 Type,
4825 IN UINT8 Option
4826 )
4827 {
4828 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_POINTING_DEVICE_TYPE), gShellDebug1HiiHandle);
4829 PRINT_INFO_OPTION (Type, Option);
4830 PRINT_TABLE_ITEM (PointingDeviceTypeTable, Type);
4831 }
4832
4833 /**
4834 Display Built-in Pointing Device (Type 21) information.
4835
4836 @param[in] Interface The key of the structure.
4837 @param[in] Option The optional information.
4838 **/
4839 VOID
4840 DisplayPointingDeviceInterface (
4841 IN UINT8 Interface,
4842 IN UINT8 Option
4843 )
4844 {
4845 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_POINTING_DEVICE_INTERFACE), gShellDebug1HiiHandle);
4846 PRINT_INFO_OPTION (Interface, Option);
4847 PRINT_TABLE_ITEM (PointingDeviceInterfaceTable, Interface);
4848 }
4849
4850 /**
4851 Display Portable Battery (Type 22) information.
4852
4853 @param[in] Key The key of the structure.
4854 @param[in] Option The optional information.
4855 **/
4856 VOID
4857 DisplayPBDeviceChemistry (
4858 IN UINT8 Key,
4859 IN UINT8 Option
4860 )
4861 {
4862 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PORTABLE_BATT_DEV_CHEM), gShellDebug1HiiHandle);
4863 PRINT_INFO_OPTION (Key, Option);
4864 PRINT_TABLE_ITEM (PBDeviceChemistryTable, Key);
4865 }
4866
4867 /**
4868 Display Voltage Probe (Type 26) location information.
4869
4870 @param[in] Key The key of the structure.
4871 @param[in] Option The optional information.
4872 **/
4873 VOID
4874 DisplayVPLocation (
4875 IN UINT8 Key,
4876 IN UINT8 Option
4877 )
4878 {
4879 UINT8 Loc;
4880
4881 Loc = (UINT8)((Key & 0xE0) >> 5);
4882 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_VOLTAGE_PROBE_LOC), gShellDebug1HiiHandle);
4883 PRINT_INFO_OPTION (Loc, Option);
4884 PRINT_TABLE_ITEM (VPLocationTable, Loc);
4885 }
4886
4887 /**
4888 Display Voltage Probe (Type 26) status ype information.
4889
4890 @param[in] Key The key of the structure.
4891 @param[in] Option The optional information.
4892 **/
4893 VOID
4894 DisplayVPStatus (
4895 IN UINT8 Key,
4896 IN UINT8 Option
4897 )
4898 {
4899 UINT8 Status;
4900
4901 Status = (UINT8)(Key & 0x1F);
4902 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_VOLTAGE_PROBE_STATUS), gShellDebug1HiiHandle);
4903 PRINT_INFO_OPTION (Status, Option);
4904 PRINT_TABLE_ITEM (VPStatusTable, Status);
4905 }
4906
4907 /**
4908 Display Cooling (Type 27) status information.
4909
4910 @param[in] Key The key of the structure.
4911 @param[in] Option The optional information.
4912 **/
4913 VOID
4914 DisplayCoolingDeviceStatus (
4915 IN UINT8 Key,
4916 IN UINT8 Option
4917 )
4918 {
4919 UINT8 Status;
4920
4921 Status = (UINT8)((Key & 0xE0) >> 5);
4922 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_COOLING_DEV_STATUS), gShellDebug1HiiHandle);
4923 PRINT_INFO_OPTION (Status, Option);
4924 PRINT_TABLE_ITEM (CoolingDeviceStatusTable, Status);
4925 }
4926
4927 /**
4928 Display Cooling (Type 27) type information.
4929
4930 @param[in] Key The key of the structure.
4931 @param[in] Option The optional information.
4932 **/
4933 VOID
4934 DisplayCoolingDeviceType (
4935 IN UINT8 Key,
4936 IN UINT8 Option
4937 )
4938 {
4939 UINT8 Type;
4940
4941 Type = (UINT8)(Key & 0x1F);
4942 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_COOLING_DEV_TYPE), gShellDebug1HiiHandle);
4943 PRINT_INFO_OPTION (Type, Option);
4944 PRINT_TABLE_ITEM (CoolingDeviceTypeTable, Type);
4945 }
4946
4947 /**
4948 Display Temperature Probe (Type 28) status information.
4949
4950 @param[in] Key The key of the structure.
4951 @param[in] Option The optional information.
4952 **/
4953 VOID
4954 DisplayTemperatureProbeStatus (
4955 IN UINT8 Key,
4956 IN UINT8 Option
4957 )
4958 {
4959 UINT8 Status;
4960
4961 Status = (UINT8)((Key & 0xE0) >> 5);
4962 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_TEMP_PROBE), gShellDebug1HiiHandle);
4963 PRINT_INFO_OPTION (Status, Option);
4964 PRINT_TABLE_ITEM (TemperatureProbeStatusTable, Status);
4965 }
4966
4967 /**
4968 Display Temperature Probe (Type 28) location information.
4969
4970 @param[in] Key The key of the structure.
4971 @param[in] Option The optional information.
4972 **/
4973 VOID
4974 DisplayTemperatureProbeLoc (
4975 IN UINT8 Key,
4976 IN UINT8 Option
4977 )
4978 {
4979 UINT8 Loc;
4980
4981 Loc = (UINT8)(Key & 0x1F);
4982 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_VOLTAGE_PROBE_LOC), gShellDebug1HiiHandle);
4983 PRINT_INFO_OPTION (Loc, Option);
4984 PRINT_TABLE_ITEM (TemperatureProbeLocTable, Loc);
4985 }
4986
4987 /**
4988 Display Electrical Current Probe (Type 29) status information.
4989
4990 @param[in] Key The key of the structure.
4991 @param[in] Option The optional information.
4992 **/
4993 VOID
4994 DisplayECPStatus (
4995 IN UINT8 Key,
4996 IN UINT8 Option
4997 )
4998 {
4999 UINT8 Status;
5000
5001 Status = (UINT8)((Key & 0xE0) >> 5);
5002 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_ELEC_PROBE_STATUS), gShellDebug1HiiHandle);
5003 PRINT_INFO_OPTION (Status, Option);
5004 PRINT_TABLE_ITEM (ECPStatusTable, Status);
5005 }
5006
5007 /**
5008 Display Type 29 information.
5009
5010 @param[in] Key The key of the structure.
5011 @param[in] Option The optional information.
5012 **/
5013 VOID
5014 DisplayECPLoc (
5015 IN UINT8 Key,
5016 IN UINT8 Option
5017 )
5018 {
5019 UINT8 Loc;
5020
5021 Loc = (UINT8)(Key & 0x1F);
5022 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_ELEC_PROBE_LOC), gShellDebug1HiiHandle);
5023 PRINT_INFO_OPTION (Loc, Option);
5024 PRINT_TABLE_ITEM (ECPLocTable, Loc);
5025 }
5026
5027 /**
5028 Display Management Device (Type 34) Type.
5029
5030 @param[in] Key The key of the structure.
5031 @param[in] Option The optional information.
5032 **/
5033 VOID
5034 DisplayMDType (
5035 IN UINT8 Key,
5036 IN UINT8 Option
5037 )
5038 {
5039 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MANAGEMENT_DEV_TYPE), gShellDebug1HiiHandle);
5040 PRINT_INFO_OPTION (Key, Option);
5041 PRINT_TABLE_ITEM (MDTypeTable, Key);
5042 }
5043
5044 /**
5045 Display Management Device (Type 34) Address Type.
5046
5047 @param[in] Key The key of the structure.
5048 @param[in] Option The optional information.
5049 **/
5050 VOID
5051 DisplayMDAddressType (
5052 IN UINT8 Key,
5053 IN UINT8 Option
5054 )
5055 {
5056 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MANAGEMENT_DEV_ADDR_TYPE), gShellDebug1HiiHandle);
5057 PRINT_INFO_OPTION (Key, Option);
5058 PRINT_TABLE_ITEM (MDAddressTypeTable, Key);
5059 }
5060
5061 /**
5062 Display Memory Channel (Type 37) information.
5063
5064 @param[in] Key The key of the structure.
5065 @param[in] Option The optional information.
5066 **/
5067 VOID
5068 DisplayMemoryChannelType (
5069 IN UINT8 Key,
5070 IN UINT8 Option
5071 )
5072 {
5073 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_CHANNEL_TYPE), gShellDebug1HiiHandle);
5074 PRINT_INFO_OPTION (Key, Option);
5075 PRINT_TABLE_ITEM (MemoryChannelTypeTable, Key);
5076 }
5077
5078 /**
5079 Display IPMI Device Information (Type 38) information.
5080
5081 @param[in] Key The key of the structure.
5082 @param[in] Option The optional information.
5083 **/
5084 VOID
5085 DisplayIPMIDIBMCInterfaceType (
5086 IN UINT8 Key,
5087 IN UINT8 Option
5088 )
5089 {
5090 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_BMC_INTERFACE_TYPE), gShellDebug1HiiHandle);
5091 PRINT_INFO_OPTION (Key, Option);
5092 PRINT_TABLE_ITEM (IPMIDIBMCInterfaceTypeTable, Key);
5093 }
5094
5095 /**
5096 Display Management Controller Host Interface (Type 42) information.
5097
5098 @param[in] Key The key of the structure.
5099 @param[in] Option The optional information.
5100 **/
5101 VOID
5102 DisplayMCHostInterfaceType (
5103 IN UINT8 Key,
5104 IN UINT8 Option
5105 )
5106 {
5107 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MC_HOST_INTERFACE_TYPE), gShellDebug1HiiHandle);
5108 PRINT_INFO_OPTION (Key, Option);
5109 PRINT_TABLE_ITEM (MCHostInterfaceTypeTable, Key);
5110 }
5111
5112 /**
5113 Display Processor Architecture Type (Type 44).
5114
5115 @param[in] Key The key of the structure.
5116 @param[in] Option The optional information.
5117 **/
5118 VOID
5119 DisplayProcessorArchitectureType (
5120 IN UINT8 Key,
5121 IN UINT8 Option
5122 )
5123 {
5124 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PROCESSOR_ARCH_TYPE), gShellDebug1HiiHandle);
5125 PRINT_INFO_OPTION (Key, Option);
5126 PRINT_TABLE_ITEM (ProcessorArchitectureTypesTable, Key);
5127 }
5128
5129 /**
5130 Display the structure type information.
5131
5132 @param[in] Key The key of the structure.
5133 @param[in] Option The optional information.
5134 **/
5135 VOID
5136 DisplayStructureTypeInfo (
5137 IN UINT8 Key,
5138 IN UINT8 Option
5139 )
5140 {
5141 //
5142 // display
5143 //
5144 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_STRUCT_TYPE), gShellDebug1HiiHandle);
5145 PRINT_INFO_OPTION (Key, Option);
5146 PRINT_TABLE_ITEM (StructureTypeInfoTable, Key);
5147 }