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