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