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