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