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