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