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