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