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