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