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