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