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