]> git.proxmox.com Git - mirror_edk2.git/blob - ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.c
700592d2630c64f61c46338ab6b7900d49023f74
[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 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 //
3219 // Check if Key is in the range
3220 // or if Key == Value in the table
3221 //
3222 if ((High > Low && Key >= Low && Key <= High)
3223 || (Table[Index].Key == Key)) {
3224 StrnCpy (Info, Table[Index].Info, InfoLen-1);
3225 StrnCat (Info, L"\n", InfoLen - 1 - StrLen(Info));
3226 return Key;
3227 }
3228 }
3229
3230 StrnCpy (Info, L"Undefined Value\n", InfoLen - 1);
3231 return QUERY_TABLE_UNFOUND;
3232 }
3233
3234 /**
3235 Given a table of bit info and a Key, return the responding info to the Key.
3236
3237 @param[in] Table Point to a table which maintains a map of 'bit' to 'message'.
3238 @param[in] Number Number of table items.
3239 @param[in] Bits The Key of query the bit map information.
3240 **/
3241 VOID
3242 PrintBitsInfo (
3243 IN TABLE_ITEM *Table,
3244 IN UINTN Number,
3245 IN UINT32 Bits
3246 )
3247 {
3248 //
3249 // Get certain bit of 'Value':
3250 //
3251 #define BIT(Value, bit) ((Value) & ((UINT32) 1) << (bit))
3252 //
3253 // Clear certain bit of 'Value':
3254 //
3255 #define CLR_BIT(Value, bit) ((Value) -= (BIT (Value, bit)))
3256
3257 UINTN Index;
3258 UINT32 Value;
3259 BOOLEAN NoInfo;
3260
3261 NoInfo = TRUE;
3262 Value = Bits;
3263 //
3264 // query the table and print information
3265 //
3266 for (Index = 0; Index < Number; Index++) {
3267 if (BIT (Value, Table[Index].Key) != 0) {
3268 Print (Table[Index].Info);
3269 Print (L" | ");
3270
3271 NoInfo = FALSE;
3272 //
3273 // clear the bit, for reserved bits test
3274 //
3275 CLR_BIT (Value, Table[Index].Key);
3276 }
3277 }
3278
3279 if (NoInfo) {
3280 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_NO_INFO), gShellDebug1HiiHandle);
3281 }
3282
3283 if (Value != 0) {
3284 ShellPrintHiiEx(-1,-1,NULL,
3285 STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_RSVD_BITS_SET),
3286 gShellDebug1HiiHandle,
3287 Value
3288 );
3289 }
3290
3291 Print (L"\n");
3292 }
3293 //
3294 // //////////////////////////////////////////////////////////////////
3295 //
3296 // Following uses QueryTable functions to simplify the coding.
3297 // QueryTable(), PrintBitsInfo()
3298 //
3299 //
3300 #define PRINT_TABLE_ITEM(Table, Key) \
3301 do { \
3302 UINTN Num; \
3303 CHAR16 Info[66]; \
3304 Num = sizeof (Table) / sizeof (TABLE_ITEM); \
3305 ZeroMem (Info, sizeof (Info)); \
3306 QueryTable (Table, Num, Key, Info, sizeof(Info)/sizeof(Info[0])); \
3307 Print (Info); \
3308 } while (0);
3309
3310 #define PRINT_BITS_INFO(Table, bits) \
3311 do { \
3312 UINTN Num; \
3313 Num = sizeof (Table) / sizeof (TABLE_ITEM); \
3314 PrintBitsInfo (Table, Num, (UINT32) bits); \
3315 } while (0);
3316
3317 /**
3318 Display System Information (Type 1) Type.
3319
3320 @param[in] Type The key of the structure.
3321 @param[in] Option The optional information.
3322 **/
3323 VOID
3324 DisplaySystemWakeupType (
3325 IN UINT8 Type,
3326 IN UINT8 Option
3327 )
3328 {
3329 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_WAKEUP_TYPE), gShellDebug1HiiHandle);
3330 PRINT_INFO_OPTION (Type, Option);
3331 PRINT_TABLE_ITEM (SystemWakeupTypeTable, Type);
3332 }
3333
3334 /**
3335 Display Base Board (Type 2) Feature Flags.
3336
3337 @param[in] FeatureFlags The key of the structure.
3338 @param[in] Option The optional information.
3339 **/
3340 VOID
3341 DisplayBaseBoardFeatureFlags (
3342 IN UINT8 FeatureFlags,
3343 IN UINT8 Option
3344 )
3345 {
3346 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_BASE_BOARD_FEATURE_FLAGS), gShellDebug1HiiHandle);
3347 PRINT_INFO_OPTION (FeatureFlags, Option);
3348 PRINT_BITS_INFO (BaseBoardFeatureFlagsTable, FeatureFlags);
3349 }
3350
3351 /**
3352 Display Base Board (Type 2) Board Type.
3353
3354 @param[in] Type The key of the structure.
3355 @param[in] Option The optional information.
3356 **/
3357 VOID
3358 DisplayBaseBoardBoardType(
3359 IN UINT8 Type,
3360 IN UINT8 Option
3361 )
3362 {
3363 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_BASE_BOARD_BOARD_TYPE), gShellDebug1HiiHandle);
3364 PRINT_INFO_OPTION (Type, Option);
3365 PRINT_TABLE_ITEM (BaseBoardBoardTypeTable, Type);
3366 }
3367
3368 /**
3369 Display System Enclosure (Type 3) Enclosure Type.
3370
3371 @param[in] Type The key of the structure.
3372 @param[in] Option The optional information.
3373 **/
3374 VOID
3375 DisplaySystemEnclosureType (
3376 IN UINT8 Type,
3377 IN UINT8 Option
3378 )
3379 {
3380 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_CHASSIS_TYPE), gShellDebug1HiiHandle);
3381 PRINT_INFO_OPTION (Type, Option);
3382 //
3383 // query table and print info
3384 //
3385 PRINT_TABLE_ITEM (SystemEnclosureTypeTable, Type);
3386
3387 if (BIT (Type, 7) != 0) {
3388 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CHASSIS_LOCK_PRESENT), gShellDebug1HiiHandle);
3389 }
3390 }
3391
3392 /**
3393 Display System Enclosure (Type 3) Enclosure Status.
3394
3395 @param[in] Status The key of the structure.
3396 @param[in] Option The optional information.
3397 **/
3398 VOID
3399 DisplaySystemEnclosureStatus (
3400 IN UINT8 Status,
3401 IN UINT8 Option
3402 )
3403 {
3404 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_CHASSIS_STATUS), gShellDebug1HiiHandle);
3405 PRINT_INFO_OPTION (Status, Option);
3406 PRINT_TABLE_ITEM (SystemEnclosureStatusTable, Status);
3407 }
3408
3409 /**
3410 Display System Enclosure (Type 3) Security Status.
3411
3412 @param[in] Status The key of the structure.
3413 @param[in] Option The optional information.
3414 **/
3415 VOID
3416 DisplaySESecurityStatus (
3417 IN UINT8 Status,
3418 IN UINT8 Option
3419 )
3420 {
3421 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_CHASSIS_SECURITY), gShellDebug1HiiHandle);
3422 PRINT_INFO_OPTION (Status, Option);
3423 PRINT_TABLE_ITEM (SESecurityStatusTable, Status);
3424 }
3425
3426 /**
3427 Display Processor Information (Type 4) Type.
3428
3429 @param[in] Type The key of the structure.
3430 @param[in] Option The optional information.
3431 **/
3432 VOID
3433 DisplayProcessorType (
3434 IN UINT8 Type,
3435 IN UINT8 Option
3436 )
3437 {
3438 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PROC_TYPE), gShellDebug1HiiHandle);
3439 PRINT_INFO_OPTION (Type, Option);
3440 PRINT_TABLE_ITEM (ProcessorTypeTable, Type);
3441 }
3442
3443 /**
3444 Display Processor Information (Type 4) Upgrade.
3445
3446 @param[in] Upgrade The key of the structure.
3447 @param[in] Option The optional information.
3448 **/
3449 VOID
3450 DisplayProcessorUpgrade (
3451 IN UINT8 Upgrade,
3452 IN UINT8 Option
3453 )
3454 {
3455 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PROC_UPDATE), gShellDebug1HiiHandle);
3456 PRINT_INFO_OPTION (Upgrade, Option);
3457 PRINT_TABLE_ITEM (ProcessorUpgradeTable, Upgrade);
3458 }
3459
3460 /**
3461 Display Processor Information (Type 4) Characteristics.
3462
3463 @param[in] Type The key of the structure.
3464 @param[in] Option The optional information.
3465 **/
3466 VOID
3467 DisplayProcessorCharacteristics (
3468 IN UINT16 Type,
3469 IN UINT8 Option
3470 )
3471 {
3472 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PROC_CHARACTERISTICS), gShellDebug1HiiHandle);
3473 PRINT_INFO_OPTION (Type, Option);
3474 PRINT_BITS_INFO (ProcessorCharacteristicsTable, Type);
3475 }
3476
3477 /**
3478 Display Memory Controller Information (Type 5) method.
3479
3480 @param[in] Method The key of the structure.
3481 @param[in] Option The optional information.
3482 **/
3483 VOID
3484 DisplayMcErrorDetectMethod (
3485 IN UINT8 Method,
3486 IN UINT8 Option
3487 )
3488 {
3489 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DETECTMETHOD), gShellDebug1HiiHandle);
3490 PRINT_INFO_OPTION (Method, Option);
3491 PRINT_TABLE_ITEM (McErrorDetectMethodTable, Method);
3492 }
3493
3494 /**
3495 Display Memory Controller Information (Type 5) Capability.
3496
3497 @param[in] Capability The key of the structure.
3498 @param[in] Option The optional information.
3499 **/
3500 VOID
3501 DisplayMcErrorCorrectCapability (
3502 IN UINT8 Capability,
3503 IN UINT8 Option
3504 )
3505 {
3506 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_CORRECT_CAPABILITY), gShellDebug1HiiHandle);
3507 PRINT_INFO_OPTION (Capability, Option);
3508 PRINT_BITS_INFO (McErrorCorrectCapabilityTable, Capability);
3509 }
3510
3511 /**
3512 Display Memory Controller Information (Type 5) Support.
3513
3514 @param[in] Support The key of the structure.
3515 @param[in] Option The optional information.
3516 **/
3517 VOID
3518 DisplayMcInterleaveSupport (
3519 IN UINT8 Support,
3520 IN UINT8 Option
3521 )
3522 {
3523 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_INTERLEAVE_SUPPORT), gShellDebug1HiiHandle);
3524 PRINT_INFO_OPTION (Support, Option);
3525 PRINT_TABLE_ITEM (McInterleaveSupportTable, Support);
3526 }
3527
3528 /**
3529 Display Memory Controller Information (Type 5) speeds.
3530
3531 @param[in] Speed The key of the structure.
3532 @param[in] Option The optional information.
3533 **/
3534 VOID
3535 DisplayMcMemorySpeeds (
3536 IN UINT16 Speed,
3537 IN UINT8 Option
3538 )
3539 {
3540 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_MEMORY_SPEED), gShellDebug1HiiHandle);
3541 PRINT_INFO_OPTION (Speed, Option);
3542 PRINT_BITS_INFO (McMemorySpeedsTable, Speed);
3543 }
3544
3545 /**
3546 Display Memory Controller Information (Type 5) voltage.
3547
3548 @param[in] Voltage The key of the structure.
3549 @param[in] Option The optional information.
3550 **/
3551 VOID
3552 DisplayMemoryModuleVoltage (
3553 IN UINT8 Voltage,
3554 IN UINT8 Option
3555 )
3556 {
3557 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_REQUIRED_VOLTAGES), gShellDebug1HiiHandle);
3558 PRINT_INFO_OPTION (Voltage, Option);
3559 PRINT_BITS_INFO (MemoryModuleVoltageTable, Voltage);
3560 }
3561
3562 /**
3563 Display Memory Module Information (Type 6) type.
3564
3565 @param[in] Type The key of the structure.
3566 @param[in] Option The optional information.
3567 **/
3568 VOID
3569 DisplayMmMemoryType (
3570 IN UINT16 Type,
3571 IN UINT8 Option
3572 )
3573 {
3574 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_MODULE_TYPE), gShellDebug1HiiHandle);
3575 PRINT_INFO_OPTION (Type, Option);
3576 PRINT_BITS_INFO (MmMemoryTypeTable, Type);
3577 }
3578
3579 /**
3580 Display Memory Module Information (Type 6) status.
3581
3582 @param[in] Status The key of the structure.
3583 @param[in] Option The optional information.
3584 **/
3585 VOID
3586 DisplayMmErrorStatus (
3587 IN UINT8 Status,
3588 IN UINT8 Option
3589 )
3590 {
3591 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_MODULE_ERROR_STATUS), gShellDebug1HiiHandle);
3592 PRINT_INFO_OPTION (Status, Option);
3593 PRINT_BITS_INFO (MmErrorStatusTable, Status);
3594 }
3595
3596 /**
3597 Display Cache Information (Type 7) SRAM Type.
3598
3599 @param[in] Type The key of the structure.
3600 @param[in] Option The optional information.
3601 **/
3602 VOID
3603 DisplayCacheSRAMType (
3604 IN UINT16 Type,
3605 IN UINT8 Option
3606 )
3607 {
3608 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CACHE_SRAM_TYPE), gShellDebug1HiiHandle);
3609 PRINT_INFO_OPTION ((UINT8) Type, Option);
3610 PRINT_BITS_INFO (CacheSRAMTypeTable, (UINT8) Type);
3611 }
3612
3613 /**
3614 Display Cache Information (Type 7) correcting Type.
3615
3616 @param[in] Type The key of the structure.
3617 @param[in] Option The optional information.
3618 **/
3619 VOID
3620 DisplayCacheErrCorrectingType (
3621 IN UINT8 Type,
3622 IN UINT8 Option
3623 )
3624 {
3625 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CACHE_ERROR_CORRECTING), gShellDebug1HiiHandle);
3626 PRINT_INFO_OPTION (Type, Option);
3627 PRINT_TABLE_ITEM (CacheErrCorrectingTypeTable, Type);
3628 }
3629
3630 /**
3631 Display Cache Information (Type 7) Type.
3632
3633 @param[in] Type The key of the structure.
3634 @param[in] Option The optional information.
3635 **/
3636 VOID
3637 DisplayCacheSystemCacheType (
3638 IN UINT8 Type,
3639 IN UINT8 Option
3640 )
3641 {
3642 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CACHE_SYSTEM_TYPE), gShellDebug1HiiHandle);
3643 PRINT_INFO_OPTION (Type, Option);
3644 PRINT_TABLE_ITEM (CacheSystemCacheTypeTable, Type);
3645 }
3646
3647 /**
3648 Display Cache Information (Type 7) Associativity.
3649
3650 @param[in] Associativity The key of the structure.
3651 @param[in] Option The optional information.
3652 **/
3653 VOID
3654 DisplayCacheAssociativity (
3655 IN UINT8 Associativity,
3656 IN UINT8 Option
3657 )
3658 {
3659 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CACHE_ASSOCIATIVITY), gShellDebug1HiiHandle);
3660 PRINT_INFO_OPTION (Associativity, Option);
3661 PRINT_TABLE_ITEM (CacheAssociativityTable, Associativity);
3662 }
3663
3664 /**
3665 Display Port Connector Information (Type 8) type.
3666
3667 @param[in] Type The key of the structure.
3668 @param[in] Option The optional information.
3669 **/
3670 VOID
3671 DisplayPortConnectorType (
3672 IN UINT8 Type,
3673 IN UINT8 Option
3674 )
3675 {
3676 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PORT_CONNECTOR_TYPE), gShellDebug1HiiHandle);
3677 PRINT_INFO_OPTION (Type, Option);
3678 PRINT_TABLE_ITEM (PortConnectorTypeTable, Type);
3679 }
3680
3681 /**
3682 Display Port Connector Information (Type 8) port type.
3683
3684 @param[in] Type The key of the structure.
3685 @param[in] Option The optional information.
3686 **/
3687 VOID
3688 DisplayPortType (
3689 IN UINT8 Type,
3690 IN UINT8 Option
3691 )
3692 {
3693 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PORT_TYPE), gShellDebug1HiiHandle);
3694 PRINT_INFO_OPTION (Type, Option);
3695 PRINT_TABLE_ITEM (PortTypeTable, Type);
3696 }
3697
3698 /**
3699 Display System Slots (Type 9) slot type.
3700
3701 @param[in] Type The key of the structure.
3702 @param[in] Option The optional information.
3703 **/
3704 VOID
3705 DisplaySystemSlotType (
3706 IN UINT8 Type,
3707 IN UINT8 Option
3708 )
3709 {
3710 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_TYPE), gShellDebug1HiiHandle);
3711 PRINT_INFO_OPTION (Type, Option);
3712 PRINT_TABLE_ITEM (SystemSlotTypeTable, Type);
3713 }
3714
3715 /**
3716 Display System Slots (Type 9) data bus width.
3717
3718 @param[in] Width The key of the structure.
3719 @param[in] Option The optional information.
3720 **/
3721 VOID
3722 DisplaySystemSlotDataBusWidth (
3723 IN UINT8 Width,
3724 IN UINT8 Option
3725 )
3726 {
3727 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_DATA), gShellDebug1HiiHandle);
3728 PRINT_INFO_OPTION (Width, Option);
3729 PRINT_TABLE_ITEM (SystemSlotDataBusWidthTable, Width);
3730 }
3731
3732 /**
3733 Display System Slots (Type 9) usage information.
3734
3735 @param[in] Usage The key of the structure.
3736 @param[in] Option The optional information.
3737 **/
3738 VOID
3739 DisplaySystemSlotCurrentUsage (
3740 IN UINT8 Usage,
3741 IN UINT8 Option
3742 )
3743 {
3744 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_CURRENT_USAGE), gShellDebug1HiiHandle);
3745 PRINT_INFO_OPTION (Usage, Option);
3746 PRINT_TABLE_ITEM (SystemSlotCurrentUsageTable, Usage);
3747 }
3748
3749 /**
3750 Display System Slots (Type 9) slot length.
3751
3752 @param[in] Length The key of the structure.
3753 @param[in] Option The optional information.
3754 **/
3755 VOID
3756 DisplaySystemSlotLength (
3757 IN UINT8 Length,
3758 IN UINT8 Option
3759 )
3760 {
3761 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_LENGTH), gShellDebug1HiiHandle);
3762 PRINT_INFO_OPTION (Length, Option);
3763 PRINT_TABLE_ITEM (SystemSlotLengthTable, Length);
3764 }
3765
3766 /**
3767 Display System Slots (Type 9) characteristics.
3768
3769 @param[in] Chara1 The key of the structure.
3770 @param[in] Option The optional information.
3771 **/
3772 VOID
3773 DisplaySlotCharacteristics1 (
3774 IN UINT8 Chara1,
3775 IN UINT8 Option
3776 )
3777 {
3778 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SLOT_CHARACTERISTICS), gShellDebug1HiiHandle);
3779 PRINT_INFO_OPTION (Chara1, Option);
3780 PRINT_BITS_INFO (SlotCharacteristics1Table, Chara1);
3781 }
3782
3783 /**
3784 Display System Slots (Type 9) characteristics.
3785
3786 @param[in] Chara2 The key of the structure.
3787 @param[in] Option The optional information.
3788 **/
3789 VOID
3790 DisplaySlotCharacteristics2 (
3791 IN UINT8 Chara2,
3792 IN UINT8 Option
3793 )
3794 {
3795 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SLOT_CHARACTERISTICS_2), gShellDebug1HiiHandle);
3796 PRINT_INFO_OPTION (Chara2, Option);
3797 PRINT_BITS_INFO (SlotCharacteristics2Table, Chara2);
3798 }
3799
3800 /**
3801 Display On Board Devices Information (Type 10) types.
3802
3803 @param[in] Type The key of the structure.
3804 @param[in] Option The optional information.
3805 **/
3806 VOID
3807 DisplayOnboardDeviceTypes (
3808 IN UINT8 Type,
3809 IN UINT8 Option
3810 )
3811 {
3812 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_ONBOARD_DEVICE_TYPE), gShellDebug1HiiHandle);
3813 PRINT_INFO_OPTION (Type, Option);
3814 PRINT_TABLE_ITEM (OnboardDeviceTypesTable, Type);
3815 }
3816
3817 /**
3818 Display System Event Log (Type 15) types.
3819
3820 @param[in] Type The key of the structure.
3821 @param[in] Option The optional information.
3822 **/
3823 VOID
3824 DisplaySELTypes (
3825 IN UINT8 Type,
3826 IN UINT8 Option
3827 )
3828 {
3829 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_EVENT_LOG_TYPE), gShellDebug1HiiHandle);
3830 PRINT_INFO_OPTION (Type, Option);
3831 PRINT_TABLE_ITEM (SELTypesTable, Type);
3832 }
3833
3834 /**
3835 Display System Event Log (Type 15) format type.
3836
3837 @param[in] Type The key of the structure.
3838 @param[in] Option The optional information.
3839 **/
3840 VOID
3841 DisplaySELVarDataFormatType (
3842 IN UINT8 Type,
3843 IN UINT8 Option
3844 )
3845 {
3846 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_EVENT_LOG_VAR_DATA_FORMAT), gShellDebug1HiiHandle);
3847 PRINT_INFO_OPTION (Type, Option);
3848 PRINT_TABLE_ITEM (SELVarDataFormatTypeTable, Type);
3849 }
3850
3851 /**
3852 Display System Event Log (Type 15) dw1.
3853
3854 @param[in] Key The key of the structure.
3855 @param[in] Option The optional information.
3856 **/
3857 VOID
3858 DisplayPostResultsBitmapDw1 (
3859 IN UINT32 Key,
3860 IN UINT8 Option
3861 )
3862 {
3863 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_POST_RESULTS_BITMAP), gShellDebug1HiiHandle);
3864 PRINT_INFO_OPTION (Key, Option);
3865 PRINT_BITS_INFO (PostResultsBitmapDw1Table, Key);
3866 }
3867
3868 /**
3869 Display System Event Log (Type 15) dw2.
3870
3871 @param[in] Key The key of the structure.
3872 @param[in] Option The optional information.
3873 **/
3874 VOID
3875 DisplayPostResultsBitmapDw2 (
3876 IN UINT32 Key,
3877 IN UINT8 Option
3878 )
3879 {
3880 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_POST_RESULTS_SECOND_DWORD), gShellDebug1HiiHandle);
3881 PRINT_INFO_OPTION (Key, Option);
3882 PRINT_BITS_INFO (PostResultsBitmapDw2Table, Key);
3883 }
3884
3885 /**
3886 Display System Event Log (Type 15) type.
3887
3888 @param[in] SMType The key of the structure.
3889 @param[in] Option The optional information.
3890 **/
3891 VOID
3892 DisplaySELSysManagementTypes (
3893 IN UINT32 SMType,
3894 IN UINT8 Option
3895 )
3896 {
3897 UINT8 Temp;
3898
3899 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_MANAGEMENT_TYPES), gShellDebug1HiiHandle);
3900 PRINT_INFO_OPTION (SMType, Option);
3901
3902 //
3903 // Deal with wide range Value
3904 //
3905 if (SMType >= 0x80000000) {
3906 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_OEM_ASSIGNED), gShellDebug1HiiHandle);
3907 } else if (SMType >= 0x00020000) {
3908 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_RSVD_FOR_FUTURE_ASSIGN), gShellDebug1HiiHandle);
3909 } else if (SMType >= 0x00010000) {
3910 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_MANAGEMENT_PROBE), gShellDebug1HiiHandle);
3911 } else if (SMType >= 0x31) {
3912 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_RSVD_FOR_FUTURE_ASSIGN), gShellDebug1HiiHandle);
3913 } else {
3914 //
3915 // Deal with One byte data
3916 //
3917 Temp = (UINT8) (SMType & 0x3F);
3918 PRINT_TABLE_ITEM (SELSysManagementTypesTable, Temp);
3919 }
3920 }
3921
3922 /**
3923 Display Physical Memory Array (Type 16) Location.
3924
3925 @param[in] Location The key of the structure.
3926 @param[in] Option The optional information.
3927 **/
3928 VOID
3929 DisplayPMALocation (
3930 IN UINT8 Location,
3931 IN UINT8 Option
3932 )
3933 {
3934 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_LOCATION), gShellDebug1HiiHandle);
3935 PRINT_INFO_OPTION (Location, Option);
3936 PRINT_TABLE_ITEM (PMALocationTable, Location);
3937 }
3938
3939 /**
3940 Display Physical Memory Array (Type 16) Use.
3941
3942 @param[in] Use The key of the structure.
3943 @param[in] Option The optional information.
3944 **/
3945 VOID
3946 DisplayPMAUse (
3947 IN UINT8 Use,
3948 IN UINT8 Option
3949 )
3950 {
3951 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_USE), gShellDebug1HiiHandle);
3952 PRINT_INFO_OPTION (Use, Option);
3953 PRINT_TABLE_ITEM (PMAUseTable, Use);
3954 }
3955
3956 /**
3957 Display Physical Memory Array (Type 16) Types.
3958
3959 @param[in] Type The key of the structure.
3960 @param[in] Option The optional information.
3961 **/
3962 VOID
3963 DisplayPMAErrorCorrectionTypes (
3964 IN UINT8 Type,
3965 IN UINT8 Option
3966 )
3967 {
3968 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_ERROR), gShellDebug1HiiHandle);
3969 PRINT_INFO_OPTION (Type, Option);
3970 PRINT_TABLE_ITEM (PMAErrorCorrectionTypesTable, Type);
3971 }
3972
3973 /**
3974 Display Memory Device (Type 17) form factor.
3975
3976 @param[in] FormFactor The key of the structure.
3977 @param[in] Option The optional information.
3978 **/
3979 VOID
3980 DisplayMemoryDeviceFormFactor (
3981 IN UINT8 FormFactor,
3982 IN UINT8 Option
3983 )
3984 {
3985 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_FORM_FACTOR), gShellDebug1HiiHandle);
3986 PRINT_INFO_OPTION (FormFactor, Option);
3987 PRINT_TABLE_ITEM (MemoryDeviceFormFactorTable, FormFactor);
3988 }
3989
3990 /**
3991 Display Memory Device (Type 17) type.
3992
3993 @param[in] Type The key of the structure.
3994 @param[in] Option The optional information.
3995 **/
3996 VOID
3997 DisplayMemoryDeviceType (
3998 IN UINT8 Type,
3999 IN UINT8 Option
4000 )
4001 {
4002 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_TYPE), gShellDebug1HiiHandle);
4003 PRINT_INFO_OPTION (Type, Option);
4004 PRINT_TABLE_ITEM (MemoryDeviceTypeTable, Type);
4005 }
4006
4007 /**
4008 Display Memory Device (Type 17) details.
4009
4010 @param[in] Para The key of the structure.
4011 @param[in] Option The optional information.
4012 **/
4013 VOID
4014 DisplayMemoryDeviceTypeDetail (
4015 IN UINT16 Para,
4016 IN UINT8 Option
4017 )
4018 {
4019 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_TYPE_DETAIL), gShellDebug1HiiHandle);
4020 PRINT_INFO_OPTION (Para, Option);
4021 PRINT_BITS_INFO (MemoryDeviceTypeDetailTable, Para);
4022 }
4023
4024 /**
4025 Display 32-bit Memory Error Information (Type 18) type.
4026
4027 @param[in] ErrorType The key of the structure.
4028 @param[in] Option The optional information.
4029 **/
4030 VOID
4031 DisplayMemoryErrorType (
4032 IN UINT8 ErrorType,
4033 IN UINT8 Option
4034 )
4035 {
4036 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_INFO), gShellDebug1HiiHandle);
4037 PRINT_INFO_OPTION (ErrorType, Option);
4038 PRINT_TABLE_ITEM (MemoryErrorTypeTable, ErrorType);
4039 }
4040
4041 /**
4042 Display 32-bit Memory Error Information (Type 18) error granularity.
4043
4044 @param[in] Granularity The key of the structure.
4045 @param[in] Option The optional information.
4046 **/
4047 VOID
4048 DisplayMemoryErrorGranularity (
4049 IN UINT8 Granularity,
4050 IN UINT8 Option
4051 )
4052 {
4053 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_GRANULARITY), gShellDebug1HiiHandle);
4054 PRINT_INFO_OPTION (Granularity, Option);
4055 PRINT_TABLE_ITEM (MemoryErrorGranularityTable, Granularity);
4056 }
4057
4058 /**
4059 Display 32-bit Memory Error Information (Type 18) error information.
4060
4061 @param[in] Operation The key of the structure.
4062 @param[in] Option The optional information.
4063 **/
4064 VOID
4065 DisplayMemoryErrorOperation (
4066 IN UINT8 Operation,
4067 IN UINT8 Option
4068 )
4069 {
4070 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_OP), gShellDebug1HiiHandle);
4071 PRINT_INFO_OPTION (Operation, Option);
4072 PRINT_TABLE_ITEM (MemoryErrorOperationTable, Operation);
4073 }
4074
4075 /**
4076 Display Built-in Pointing Device (Type 21) type information.
4077
4078 @param[in] Type The key of the structure.
4079 @param[in] Option The optional information.
4080 **/
4081 VOID
4082 DisplayPointingDeviceType (
4083 IN UINT8 Type,
4084 IN UINT8 Option
4085 )
4086 {
4087 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_POINTING_DEVICE_TYPE), gShellDebug1HiiHandle);
4088 PRINT_INFO_OPTION (Type, Option);
4089 PRINT_TABLE_ITEM (PointingDeviceTypeTable, Type);
4090 }
4091
4092 /**
4093 Display Built-in Pointing Device (Type 21) information.
4094
4095 @param[in] Interface The key of the structure.
4096 @param[in] Option The optional information.
4097 **/
4098 VOID
4099 DisplayPointingDeviceInterface (
4100 IN UINT8 Interface,
4101 IN UINT8 Option
4102 )
4103 {
4104 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_POINTING_DEVICE_INTERFACE), gShellDebug1HiiHandle);
4105 PRINT_INFO_OPTION (Interface, Option);
4106 PRINT_TABLE_ITEM (PointingDeviceInterfaceTable, Interface);
4107 }
4108
4109 /**
4110 Display Portable Battery (Type 22) information.
4111
4112 @param[in] Key The key of the structure.
4113 @param[in] Option The optional information.
4114 **/
4115 VOID
4116 DisplayPBDeviceChemistry (
4117 IN UINT8 Key,
4118 IN UINT8 Option
4119 )
4120 {
4121 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PORTABLE_BATT_DEV_CHEM), gShellDebug1HiiHandle);
4122 PRINT_INFO_OPTION (Key, Option);
4123 PRINT_TABLE_ITEM (PBDeviceChemistryTable, Key);
4124 }
4125
4126 /**
4127 Display Voltage Probe (Type 26) location information.
4128
4129 @param[in] Key The key of the structure.
4130 @param[in] Option The optional information.
4131 **/
4132 VOID
4133 DisplayVPLocation (
4134 IN UINT8 Key,
4135 IN UINT8 Option
4136 )
4137 {
4138 UINT8 Loc;
4139
4140 Loc = (UINT8) ((Key & 0xE0) >> 5);
4141 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_VOLTAGE_PROBE_LOC), gShellDebug1HiiHandle);
4142 PRINT_INFO_OPTION (Loc, Option);
4143 PRINT_TABLE_ITEM (VPLocationTable, Loc);
4144 }
4145
4146 /**
4147 Display Voltage Probe (Type 26) status ype information.
4148
4149 @param[in] Key The key of the structure.
4150 @param[in] Option The optional information.
4151 **/
4152 VOID
4153 DisplayVPStatus (
4154 IN UINT8 Key,
4155 IN UINT8 Option
4156 )
4157 {
4158 UINT8 Status;
4159
4160 Status = (UINT8) (Key & 0x1F);
4161 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_VOLTAGE_PROBE_STATUS), gShellDebug1HiiHandle);
4162 PRINT_INFO_OPTION (Status, Option);
4163 PRINT_TABLE_ITEM (VPStatusTable, Status);
4164 }
4165
4166 /**
4167 Display Cooling (Type 27) status information.
4168
4169 @param[in] Key The key of the structure.
4170 @param[in] Option The optional information.
4171 **/
4172 VOID
4173 DisplayCoolingDeviceStatus (
4174 IN UINT8 Key,
4175 IN UINT8 Option
4176 )
4177 {
4178 UINT8 Status;
4179
4180 Status = (UINT8) ((Key & 0xE0) >> 5);
4181 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_COOLING_DEV_STATUS), gShellDebug1HiiHandle);
4182 PRINT_INFO_OPTION (Status, Option);
4183 PRINT_TABLE_ITEM (CoolingDeviceStatusTable, Status);
4184 }
4185
4186 /**
4187 Display Cooling (Type 27) type information.
4188
4189 @param[in] Key The key of the structure.
4190 @param[in] Option The optional information.
4191 **/
4192 VOID
4193 DisplayCoolingDeviceType (
4194 IN UINT8 Key,
4195 IN UINT8 Option
4196 )
4197 {
4198 UINT8 Type;
4199
4200 Type = (UINT8) (Key & 0x1F);
4201 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_COOLING_DEV_TYPE), gShellDebug1HiiHandle);
4202 PRINT_INFO_OPTION (Type, Option);
4203 PRINT_TABLE_ITEM (CoolingDeviceTypeTable, Type);
4204 }
4205
4206 /**
4207 Display Temperature Probe (Type 28) status information.
4208
4209 @param[in] Key The key of the structure.
4210 @param[in] Option The optional information.
4211 **/
4212 VOID
4213 DisplayTemperatureProbeStatus (
4214 IN UINT8 Key,
4215 IN UINT8 Option
4216 )
4217 {
4218 UINT8 Status;
4219
4220 Status = (UINT8) ((Key & 0xE0) >> 5);
4221 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_TEMP_PROBE), gShellDebug1HiiHandle);
4222 PRINT_INFO_OPTION (Status, Option);
4223 PRINT_TABLE_ITEM (TemperatureProbeStatusTable, Status);
4224 }
4225
4226 /**
4227 Display Temperature Probe (Type 28) location information.
4228
4229 @param[in] Key The key of the structure.
4230 @param[in] Option The optional information.
4231 **/
4232 VOID
4233 DisplayTemperatureProbeLoc (
4234 IN UINT8 Key,
4235 IN UINT8 Option
4236 )
4237 {
4238 UINT8 Loc;
4239
4240 Loc = (UINT8) (Key & 0x1F);
4241 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_VOLTAGE_PROBE_LOC), gShellDebug1HiiHandle);
4242 PRINT_INFO_OPTION (Loc, Option);
4243 PRINT_TABLE_ITEM (TemperatureProbeLocTable, Loc);
4244 }
4245
4246 /**
4247 Display Electrical Current Probe (Type 29) status information.
4248
4249 @param[in] Key The key of the structure.
4250 @param[in] Option The optional information.
4251 **/
4252 VOID
4253 DisplayECPStatus (
4254 IN UINT8 Key,
4255 IN UINT8 Option
4256 )
4257 {
4258 UINT8 Status;
4259
4260 Status = (UINT8) ((Key & 0xE0) >> 5);
4261 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_ELEC_PROBE_STATUS), gShellDebug1HiiHandle);
4262 PRINT_INFO_OPTION (Status, Option);
4263 PRINT_TABLE_ITEM (ECPStatusTable, Status);
4264 }
4265
4266 /**
4267 Display Type 29 information.
4268
4269 @param[in] Key The key of the structure.
4270 @param[in] Option The optional information.
4271 **/
4272 VOID
4273 DisplayECPLoc (
4274 IN UINT8 Key,
4275 IN UINT8 Option
4276 )
4277 {
4278 UINT8 Loc;
4279
4280 Loc = (UINT8) (Key & 0x1F);
4281 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_ELEC_PROBE_LOC), gShellDebug1HiiHandle);
4282 PRINT_INFO_OPTION (Loc, Option);
4283 PRINT_TABLE_ITEM (ECPLocTable, Loc);
4284 }
4285
4286 /**
4287 Display Management Device (Type 34) Type.
4288
4289 @param[in] Key The key of the structure.
4290 @param[in] Option The optional information.
4291 **/
4292 VOID
4293 DisplayMDType (
4294 IN UINT8 Key,
4295 IN UINT8 Option
4296 )
4297 {
4298 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MANAGEMENT_DEV_TYPE), gShellDebug1HiiHandle);
4299 PRINT_INFO_OPTION (Key, Option);
4300 PRINT_TABLE_ITEM (MDTypeTable, Key);
4301 }
4302
4303 /**
4304 Display Management Device (Type 34) Address Type.
4305
4306 @param[in] Key The key of the structure.
4307 @param[in] Option The optional information.
4308 **/
4309 VOID
4310 DisplayMDAddressType (
4311 IN UINT8 Key,
4312 IN UINT8 Option
4313 )
4314 {
4315 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MANAGEMENT_DEV_ADDR_TYPE), gShellDebug1HiiHandle);
4316 PRINT_INFO_OPTION (Key, Option);
4317 PRINT_TABLE_ITEM (MDAddressTypeTable, Key);
4318 }
4319
4320 /**
4321 Display Memory Channel (Type 37) information.
4322
4323 @param[in] Key The key of the structure.
4324 @param[in] Option The optional information.
4325 **/
4326 VOID
4327 DisplayMemoryChannelType (
4328 IN UINT8 Key,
4329 IN UINT8 Option
4330 )
4331 {
4332 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_CHANNEL_TYPE), gShellDebug1HiiHandle);
4333 PRINT_INFO_OPTION (Key, Option);
4334 PRINT_TABLE_ITEM (MemoryChannelTypeTable, Key);
4335 }
4336
4337 /**
4338 Display IPMI Device Information (Type 38) information.
4339
4340 @param[in] Key The key of the structure.
4341 @param[in] Option The optional information.
4342 **/
4343 VOID
4344 DisplayIPMIDIBMCInterfaceType (
4345 IN UINT8 Key,
4346 IN UINT8 Option
4347 )
4348 {
4349 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_BMC_INTERFACE_TYPE), gShellDebug1HiiHandle);
4350 PRINT_INFO_OPTION (Key, Option);
4351 PRINT_TABLE_ITEM (IPMIDIBMCInterfaceTypeTable, Key);
4352 }
4353
4354 /**
4355 Display the structure type information.
4356
4357 @param[in] Key The key of the structure.
4358 @param[in] Option The optional information.
4359 **/
4360 VOID
4361 DisplayStructureTypeInfo (
4362 IN UINT8 Key,
4363 IN UINT8 Option
4364 )
4365 {
4366 //
4367 // display
4368 //
4369 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_STRUCT_TYPE), gShellDebug1HiiHandle);
4370 PRINT_INFO_OPTION (Key, Option);
4371 PRINT_TABLE_ITEM (StructureTypeInfoTable, Key);
4372 }