]> git.proxmox.com Git - mirror_edk2.git/blame - ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.c
Add "Debug1" profile (all but Edit and HexEdit commands)
[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
5 Copyright (c) 2005 - 2010, Intel Corporation. All rights reserved.<BR>\r
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
2924UINT8\r
2925QueryTable (\r
2926 IN TABLE_ITEM *Table,\r
2927 IN UINTN Number,\r
2928 IN UINT8 Key,\r
2929 IN OUT CHAR16 *Info\r
2930 )\r
2931/*++\r
2932Routine Description:\r
2933 Function Description\r
2934 Given a table and a Key, return the responding info.\r
2935\r
2936 Arguments:\r
2937 Table - The begin address of table\r
2938 Number - The number of table items\r
2939 Key - The query Key\r
2940 Info - Input as empty buffer; output as data buffer.\r
2941\r
2942 Returns:\r
2943 if Key found - return found Key and Info\r
2944 if Key unfound - return QUERY_TABLE_UNFOUND, Info=NULL\r
2945\r
2946 Notes:\r
2947 Table[Index].Key is change from UINT8 to UINT16,\r
2948 in order to deal with "0xaa - 0xbb".\r
2949\r
2950 For example:\r
2951 DisplaySELVariableDataFormatTypes(UINT8 Type, UINT8 Option)\r
2952 has a item:\r
2953 "0x07-0x7F, Unused"\r
2954 Now define Key = 0x7F07, that is to say: High = 0x7F, Low = 0x07.\r
2955 Then all the Key Value between Low and High gets the same string\r
2956 L"Unused".\r
2957\r
2958**/\r
2959{\r
2960 UINTN Index;\r
2961 //\r
2962 // High byte and Low byte of word\r
2963 //\r
2964 UINT8 High;\r
2965 UINT8 Low;\r
2966\r
2967 for (Index = 0; Index < Number; Index++) {\r
2968 High = (UINT8) (Table[Index].Key >> 8);\r
2969 Low = (UINT8) (Table[Index].Key & 0x00FF);\r
2970 //\r
2971 // Check if Key is in the range\r
2972 //\r
2973 if (High > Low && Key >= Low && Key <= High) {\r
2974 StrCpy (Info, Table[Index].Info);\r
2975 StrCat (Info, L"\n");\r
2976 return Key;\r
2977 }\r
2978 //\r
2979 // Check if Key == Value in the table\r
2980 //\r
2981 if (Table[Index].Key == Key) {\r
2982 StrCpy (Info, Table[Index].Info);\r
2983 StrCat (Info, L"\n");\r
2984 return Key;\r
2985 }\r
2986 }\r
2987\r
2988 StrCpy (Info, L"Undefined Value\n");\r
2989 return QUERY_TABLE_UNFOUND;\r
2990}\r
2991\r
2992VOID\r
2993PrintBitsInfo (\r
2994 IN TABLE_ITEM *Table,\r
2995 IN UINTN Number,\r
2996 IN UINT32 Bits\r
2997 )\r
2998/*++\r
2999\r
3000 Routine Description:\r
3001 Given a table of bit info and a Key,\r
3002 return the responding info to the Key.\r
3003\r
3004 Arguments:\r
3005 Table - Point to a table which maintains a map of 'bit' to 'message'\r
3006 Number - Number of table items.\r
3007 Bits - The Key of query the bit map information.\r
3008\r
3009 Returns:\r
3010 None\r
3011\r
3012**/\r
3013{\r
3014 //\r
3015 // Get certain bit of 'Value':\r
3016 //\r
3017#define BIT(Value, bit) ((Value) & ((UINT32) 1) << (bit))\r
3018 //\r
3019 // Clear certain bit of 'Value':\r
3020 //\r
3021#define CLR_BIT(Value, bit) ((Value) -= (BIT (Value, bit)))\r
3022\r
3023 UINTN Index;\r
3024 UINT32 Value;\r
3025 BOOLEAN NoInfo;\r
3026\r
3027 NoInfo = TRUE;\r
3028 Value = Bits;\r
3029 //\r
3030 // query the table and print information\r
3031 //\r
3032 for (Index = 0; Index < Number; Index++) {\r
3033 if (BIT (Value, Table[Index].Key) != 0) {\r
3034 Print (Table[Index].Info);\r
3035 Print (L" | ");\r
3036\r
3037 NoInfo = FALSE;\r
3038 //\r
3039 // clear the bit, for reserved bits test\r
3040 //\r
3041 CLR_BIT (Value, Table[Index].Key);\r
3042 }\r
3043 }\r
3044\r
3045 if (NoInfo) {\r
3046 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_NO_INFO), gShellDebug1HiiHandle);\r
3047 }\r
3048\r
3049 if (Value != 0) {\r
3050 ShellPrintHiiEx(-1,-1,NULL,\r
3051 STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_RSVD_BITS_SET),\r
3052 gShellDebug1HiiHandle,\r
3053 Value\r
3054 );\r
3055 }\r
3056\r
3057 Print (L"\n");\r
3058}\r
3059//\r
3060// //////////////////////////////////////////////////////////////////\r
3061//\r
3062// Following uses QueryTable functions to simplify the coding.\r
3063// QueryTable(), PrintBitsInfo()\r
3064//\r
3065//\r
3066#define PRINT_TABLE_ITEM(Table, Key) \\r
3067 do { \\r
3068 UINTN Num; \\r
3069 CHAR16 Info[66]; \\r
3070 Num = sizeof (Table) / sizeof (TABLE_ITEM); \\r
3071 ZeroMem (Info, sizeof (Info)); \\r
3072 QueryTable (Table, Num, Key, Info); \\r
3073 Print (Info); \\r
3074 } while (0);\r
3075\r
3076#define PRINT_BITS_INFO(Table, bits) \\r
3077 do { \\r
3078 UINTN Num; \\r
3079 Num = sizeof (Table) / sizeof (TABLE_ITEM); \\r
3080 PrintBitsInfo (Table, Num, (UINT32) bits); \\r
3081 } while (0);\r
3082\r
3083//\r
3084////////////////////////////////////////////////////////////////////\r
3085//\r
3086// System Information (Type 1)\r
3087//\r
3088VOID\r
3089DisplaySystemWakeupType (\r
3090 UINT8 Type,\r
3091 UINT8 Option\r
3092 )\r
3093{\r
3094 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_WAKEUP_TYPE), gShellDebug1HiiHandle);\r
3095 PRINT_INFO_OPTION (Type, Option);\r
3096 PRINT_TABLE_ITEM (SystemWakeupTypeTable, Type);\r
3097}\r
3098//\r
3099// System Enclosure (Type 3)\r
3100//\r
3101VOID\r
3102DisplaySystemEnclosureType (\r
3103 UINT8 Type,\r
3104 UINT8 Option\r
3105 )\r
3106{\r
3107 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_CHASSIS_TYPE), gShellDebug1HiiHandle);\r
3108 PRINT_INFO_OPTION (Type, Option);\r
3109 //\r
3110 // query table and print info\r
3111 //\r
3112 PRINT_TABLE_ITEM (SystemEnclosureTypeTable, Type);\r
3113\r
3114 if (BIT (Type, 7) != 0) {\r
3115 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CHASSIS_LOCK_PRESENT), gShellDebug1HiiHandle);\r
3116 }\r
3117}\r
3118\r
3119VOID\r
3120DisplaySystemEnclosureStatus (\r
3121 UINT8 Status,\r
3122 UINT8 Option\r
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
3130VOID\r
3131DisplaySESecurityStatus (\r
3132 UINT8 Status,\r
3133 UINT8 Option\r
3134 )\r
3135{\r
3136 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_CHASSIS_SECURITY), gShellDebug1HiiHandle);\r
3137 PRINT_INFO_OPTION (Status, Option);\r
3138 PRINT_TABLE_ITEM (SESecurityStatusTable, Status);\r
3139}\r
3140//\r
3141// Processor Information (Type 4)\r
3142//\r
3143VOID\r
3144DisplayProcessorType (\r
3145 UINT8 Type,\r
3146 UINT8 Option\r
3147 )\r
3148{\r
3149 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PROC_TYPE), gShellDebug1HiiHandle);\r
3150 PRINT_INFO_OPTION (Type, Option);\r
3151 PRINT_TABLE_ITEM (ProcessorTypeTable, Type);\r
3152}\r
3153\r
3154VOID\r
3155DisplayProcessorUpgrade (\r
3156 UINT8 Upgrade,\r
3157 UINT8 Option\r
3158 )\r
3159{\r
3160 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PROC_UPDATE), gShellDebug1HiiHandle);\r
3161 PRINT_INFO_OPTION (Upgrade, Option);\r
3162 PRINT_TABLE_ITEM (ProcessorUpgradeTable, Upgrade);\r
3163}\r
3164//\r
3165// Memory Controller Information (Type 5)\r
3166//\r
3167VOID\r
3168DisplayMcErrorDetectMethod (\r
3169 UINT8 Method,\r
3170 UINT8 Option\r
3171 )\r
3172{\r
3173 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DETECTMETHOD), gShellDebug1HiiHandle);\r
3174 PRINT_INFO_OPTION (Method, Option);\r
3175 PRINT_TABLE_ITEM (McErrorDetectMethodTable, Method);\r
3176}\r
3177\r
3178VOID\r
3179DisplayMcErrorCorrectCapability (\r
3180 UINT8 Capability,\r
3181 UINT8 Option\r
3182 )\r
3183{\r
3184 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_CORRECT_CAPABILITY), gShellDebug1HiiHandle);\r
3185 PRINT_INFO_OPTION (Capability, Option);\r
3186 PRINT_BITS_INFO (McErrorCorrectCapabilityTable, Capability);\r
3187}\r
3188\r
3189VOID\r
3190DisplayMcInterleaveSupport (\r
3191 UINT8 Support,\r
3192 UINT8 Option\r
3193 )\r
3194{\r
3195 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_INTERLEAVE_SUPPORT), gShellDebug1HiiHandle);\r
3196 PRINT_INFO_OPTION (Support, Option);\r
3197 PRINT_TABLE_ITEM (McInterleaveSupportTable, Support);\r
3198}\r
3199\r
3200VOID\r
3201DisplayMcMemorySpeeds (\r
3202 UINT16 Speed,\r
3203 UINT8 Option\r
3204 )\r
3205{\r
3206 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_MEMORY_SPEED), gShellDebug1HiiHandle);\r
3207 PRINT_INFO_OPTION (Speed, Option);\r
3208 PRINT_BITS_INFO (McMemorySpeedsTable, Speed);\r
3209}\r
3210\r
3211VOID\r
3212DisplayMemoryModuleVoltage (\r
3213 UINT8 Voltage,\r
3214 UINT8 Option\r
3215 )\r
3216{\r
3217 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_REQUIRED_VOLTAGES), gShellDebug1HiiHandle);\r
3218 PRINT_INFO_OPTION (Voltage, Option);\r
3219 PRINT_BITS_INFO (MemoryModuleVoltageTable, Voltage);\r
3220}\r
3221//\r
3222// Memory Module Information (Type 6)\r
3223//\r
3224VOID\r
3225DisplayMmMemoryType (\r
3226 UINT16 Type,\r
3227 UINT8 Option\r
3228 )\r
3229{\r
3230 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_MODULE_TYPE), gShellDebug1HiiHandle);\r
3231 PRINT_INFO_OPTION (Type, Option);\r
3232 PRINT_BITS_INFO (MmMemoryTypeTable, Type);\r
3233}\r
3234\r
3235VOID\r
3236DisplayMmErrorStatus (\r
3237 UINT8 Status,\r
3238 UINT8 Option\r
3239 )\r
3240{\r
3241 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_MODULE_ERROR_STATUS), gShellDebug1HiiHandle);\r
3242 PRINT_INFO_OPTION (Status, Option);\r
3243 PRINT_BITS_INFO (MmErrorStatusTable, Status);\r
3244}\r
3245//\r
3246// Cache Information (Type 7)\r
3247//\r
3248VOID\r
3249DisplayCacheSRAMType (\r
3250 UINT16 Type,\r
3251 UINT8 Option\r
3252 )\r
3253{\r
3254 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CACHE_SRAM_TYPE), gShellDebug1HiiHandle);\r
3255 PRINT_INFO_OPTION ((UINT8) Type, Option);\r
3256 PRINT_BITS_INFO (CacheSRAMTypeTable, (UINT8) Type);\r
3257}\r
3258\r
3259VOID\r
3260DisplayCacheErrCorrectingType (\r
3261 UINT8 Type,\r
3262 UINT8 Option\r
3263 )\r
3264{\r
3265 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CACHE_ERROR_CORRECTING), gShellDebug1HiiHandle);\r
3266 PRINT_INFO_OPTION (Type, Option);\r
3267 PRINT_TABLE_ITEM (CacheErrCorrectingTypeTable, Type);\r
3268}\r
3269\r
3270VOID\r
3271DisplayCacheSystemCacheType (\r
3272 UINT8 Type,\r
3273 UINT8 Option\r
3274 )\r
3275{\r
3276 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CACHE_SYSTEM_TYPE), gShellDebug1HiiHandle);\r
3277 PRINT_INFO_OPTION (Type, Option);\r
3278 PRINT_TABLE_ITEM (CacheSystemCacheTypeTable, Type);\r
3279}\r
3280\r
3281VOID\r
3282DisplayCacheAssociativity (\r
3283 UINT8 Associativity,\r
3284 UINT8 Option\r
3285 )\r
3286{\r
3287 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CACHE_ASSOCIATIVITY), gShellDebug1HiiHandle);\r
3288 PRINT_INFO_OPTION (Associativity, Option);\r
3289 PRINT_TABLE_ITEM (CacheAssociativityTable, Associativity);\r
3290}\r
3291//\r
3292// Port Connector Information (Type 8)\r
3293//\r
3294VOID\r
3295DisplayPortConnectorType (\r
3296 UINT8 Type,\r
3297 UINT8 Option\r
3298 )\r
3299{\r
3300 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PORT_CONNECTOR_TYPE), gShellDebug1HiiHandle);\r
3301 PRINT_INFO_OPTION (Type, Option);\r
3302 PRINT_TABLE_ITEM (PortConnectorTypeTable, Type);\r
3303}\r
3304\r
3305VOID\r
3306DisplayPortType (\r
3307 UINT8 Type,\r
3308 UINT8 Option\r
3309 )\r
3310{\r
3311 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PORT_TYPE), gShellDebug1HiiHandle);\r
3312 PRINT_INFO_OPTION (Type, Option);\r
3313 PRINT_TABLE_ITEM (PortTypeTable, Type);\r
3314}\r
3315//\r
3316// System Slots (Type 9)\r
3317//\r
3318VOID\r
3319DisplaySystemSlotType (\r
3320 UINT8 Type,\r
3321 UINT8 Option\r
3322 )\r
3323{\r
3324 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_TYPE), gShellDebug1HiiHandle);\r
3325 PRINT_INFO_OPTION (Type, Option);\r
3326 PRINT_TABLE_ITEM (SystemSlotTypeTable, Type);\r
3327}\r
3328\r
3329VOID\r
3330DisplaySystemSlotDataBusWidth (\r
3331 UINT8 Width,\r
3332 UINT8 Option\r
3333 )\r
3334{\r
3335 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_DATA), gShellDebug1HiiHandle);\r
3336 PRINT_INFO_OPTION (Width, Option);\r
3337 PRINT_TABLE_ITEM (SystemSlotDataBusWidthTable, Width);\r
3338}\r
3339\r
3340VOID\r
3341DisplaySystemSlotCurrentUsage (\r
3342 UINT8 Usage,\r
3343 UINT8 Option\r
3344 )\r
3345{\r
3346 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_CURRENT_USAGE), gShellDebug1HiiHandle);\r
3347 PRINT_INFO_OPTION (Usage, Option);\r
3348 PRINT_TABLE_ITEM (SystemSlotCurrentUsageTable, Usage);\r
3349}\r
3350\r
3351VOID\r
3352DisplaySystemSlotLength (\r
3353 UINT8 Length,\r
3354 UINT8 Option\r
3355 )\r
3356{\r
3357 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_LENGTH), gShellDebug1HiiHandle);\r
3358 PRINT_INFO_OPTION (Length, Option);\r
3359 PRINT_TABLE_ITEM (SystemSlotLengthTable, Length);\r
3360}\r
3361\r
3362VOID\r
3363DisplaySlotCharacteristics1 (\r
3364 UINT8 Chara1,\r
3365 UINT8 Option\r
3366 )\r
3367{\r
3368 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SLOT_CHARACTERISTICS), gShellDebug1HiiHandle);\r
3369 PRINT_INFO_OPTION (Chara1, Option);\r
3370 PRINT_BITS_INFO (SlotCharacteristics1Table, Chara1);\r
3371}\r
3372\r
3373VOID\r
3374DisplaySlotCharacteristics2 (\r
3375 UINT8 Chara2,\r
3376 UINT8 Option\r
3377 )\r
3378{\r
3379 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SLOT_CHARACTERISTICS_2), gShellDebug1HiiHandle);\r
3380 PRINT_INFO_OPTION (Chara2, Option);\r
3381 PRINT_BITS_INFO (SlotCharacteristics2Table, Chara2);\r
3382}\r
3383//\r
3384// On Board Devices Information (Type 10)\r
3385//\r
3386VOID\r
3387DisplayOnboardDeviceTypes (\r
3388 UINT8 Type,\r
3389 UINT8 Option\r
3390 )\r
3391{\r
3392 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_ONBOARD_DEVICE_TYPE), gShellDebug1HiiHandle);\r
3393 PRINT_INFO_OPTION (Type, Option);\r
3394 PRINT_TABLE_ITEM (OnboardDeviceTypesTable, Type);\r
3395}\r
3396//\r
3397// System Event Log (Type 15)\r
3398//\r
3399VOID\r
3400DisplaySELTypes (\r
3401 UINT8 Type,\r
3402 UINT8 Option\r
3403 )\r
3404{\r
3405 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_EVENT_LOG_TYPE), gShellDebug1HiiHandle);\r
3406 PRINT_INFO_OPTION (Type, Option);\r
3407 PRINT_TABLE_ITEM (SELTypesTable, Type);\r
3408}\r
3409\r
3410VOID\r
3411DisplaySELVarDataFormatType (\r
3412 UINT8 Type,\r
3413 UINT8 Option\r
3414 )\r
3415{\r
3416 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_EVENT_LOG_VAR_DATA_FORMAT), gShellDebug1HiiHandle);\r
3417 PRINT_INFO_OPTION (Type, Option);\r
3418 PRINT_TABLE_ITEM (SELVarDataFormatTypeTable, Type);\r
3419}\r
3420\r
3421VOID\r
3422DisplayPostResultsBitmapDw1 (\r
3423 UINT32 Key,\r
3424 UINT8 Option\r
3425 )\r
3426{\r
3427 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_POST_RESULTS_BITMAP), gShellDebug1HiiHandle);\r
3428 PRINT_INFO_OPTION (Key, Option);\r
3429 PRINT_BITS_INFO (PostResultsBitmapDw1Table, Key);\r
3430}\r
3431\r
3432VOID\r
3433DisplayPostResultsBitmapDw2 (\r
3434 UINT32 Key,\r
3435 UINT8 Option\r
3436 )\r
3437{\r
3438 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_POST_RESULTS_SECOND_DWORD), gShellDebug1HiiHandle);\r
3439 PRINT_INFO_OPTION (Key, Option);\r
3440 PRINT_BITS_INFO (PostResultsBitmapDw2Table, Key);\r
3441}\r
3442\r
3443VOID\r
3444DisplaySELSysManagementTypes (\r
3445 UINT32 SMType,\r
3446 UINT8 Option\r
3447 )\r
3448{\r
3449 UINT8 Temp;\r
3450\r
3451 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_MANAGEMENT_TYPES), gShellDebug1HiiHandle);\r
3452 PRINT_INFO_OPTION (SMType, Option);\r
3453\r
3454 //\r
3455 // Deal with wide range Value\r
3456 //\r
3457 if (SMType >= 0x80000000) {\r
3458 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_OEM_ASSIGNED), gShellDebug1HiiHandle);\r
3459 } else if (SMType >= 0x00020000) {\r
3460 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_RSVD_FOR_FUTURE_ASSIGN), gShellDebug1HiiHandle);\r
3461 } else if (SMType >= 0x00010000) {\r
3462 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_MANAGEMENT_PROBE), gShellDebug1HiiHandle);\r
3463 } else if (SMType >= 0x31) {\r
3464 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_RSVD_FOR_FUTURE_ASSIGN), gShellDebug1HiiHandle);\r
3465 } else {\r
3466 //\r
3467 // Deal with One byte data\r
3468 //\r
3469 Temp = (UINT8) (SMType & 0x3F);\r
3470 PRINT_TABLE_ITEM (SELSysManagementTypesTable, Temp);\r
3471 }\r
3472}\r
3473//\r
3474// Physical Memory Array (Type 16)\r
3475//\r
3476VOID\r
3477DisplayPMALocation (\r
3478 UINT8 Location,\r
3479 UINT8 Option\r
3480 )\r
3481{\r
3482 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_LOCATION), gShellDebug1HiiHandle);\r
3483 PRINT_INFO_OPTION (Location, Option);\r
3484 PRINT_TABLE_ITEM (PMALocationTable, Location);\r
3485}\r
3486\r
3487VOID\r
3488DisplayPMAUse (\r
3489 UINT8 Use,\r
3490 UINT8 Option\r
3491 )\r
3492{\r
3493 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_LOCATION), gShellDebug1HiiHandle);\r
3494 PRINT_INFO_OPTION (Use, Option);\r
3495 PRINT_TABLE_ITEM (PMAUseTable, Use);\r
3496}\r
3497\r
3498VOID\r
3499DisplayPMAErrorCorrectionTypes (\r
3500 UINT8 Type,\r
3501 UINT8 Option\r
3502 )\r
3503{\r
3504 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_ERROR), gShellDebug1HiiHandle);\r
3505 PRINT_INFO_OPTION (Type, Option);\r
3506 PRINT_TABLE_ITEM (PMAErrorCorrectionTypesTable, Type);\r
3507}\r
3508//\r
3509// Memory Device (Type 17)\r
3510//\r
3511VOID\r
3512DisplayMemoryDeviceFormFactor (\r
3513 UINT8 FormFactor,\r
3514 UINT8 Option\r
3515 )\r
3516{\r
3517 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_FORM_FACTOR), gShellDebug1HiiHandle);\r
3518 PRINT_INFO_OPTION (FormFactor, Option);\r
3519 PRINT_TABLE_ITEM (MemoryDeviceFormFactorTable, FormFactor);\r
3520}\r
3521\r
3522VOID\r
3523DisplayMemoryDeviceType (\r
3524 UINT8 Type,\r
3525 UINT8 Option\r
3526 )\r
3527{\r
3528 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_TYPE), gShellDebug1HiiHandle);\r
3529 PRINT_INFO_OPTION (Type, Option);\r
3530 PRINT_TABLE_ITEM (MemoryDeviceTypeTable, Type);\r
3531}\r
3532\r
3533VOID\r
3534DisplayMemoryDeviceTypeDetail (\r
3535 UINT16 para,\r
3536 UINT8 Option\r
3537 )\r
3538{\r
3539 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_TYPE_DETAIL), gShellDebug1HiiHandle);\r
3540 PRINT_INFO_OPTION (para, Option);\r
3541 PRINT_BITS_INFO (MemoryDeviceTypeDetailTable, para);\r
3542}\r
3543//\r
3544// 32-bit Memory Error Information (Type 18)\r
3545//\r
3546VOID\r
3547DisplayMemoryErrorType (\r
3548 UINT8 ErrorType,\r
3549 UINT8 Option\r
3550 )\r
3551{\r
3552 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_INFO), gShellDebug1HiiHandle);\r
3553 PRINT_INFO_OPTION (ErrorType, Option);\r
3554 PRINT_TABLE_ITEM (MemoryErrorTypeTable, ErrorType);\r
3555}\r
3556\r
3557VOID\r
3558DisplayMemoryErrorGranularity (\r
3559 UINT8 Granularity,\r
3560 UINT8 Option\r
3561 )\r
3562{\r
3563 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_GRANULARITY), gShellDebug1HiiHandle);\r
3564 PRINT_INFO_OPTION (Granularity, Option);\r
3565 PRINT_TABLE_ITEM (MemoryErrorGranularityTable, Granularity);\r
3566}\r
3567\r
3568VOID\r
3569DisplayMemoryErrorOperation (\r
3570 UINT8 Operation,\r
3571 UINT8 Option\r
3572 )\r
3573{\r
3574 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_OP), gShellDebug1HiiHandle);\r
3575 PRINT_INFO_OPTION (Operation, Option);\r
3576 PRINT_TABLE_ITEM (MemoryErrorOperationTable, Operation);\r
3577}\r
3578//\r
3579// Built-in Pointing Device (Type 21)\r
3580//\r
3581VOID\r
3582DisplayPointingDeviceType (\r
3583 UINT8 Type,\r
3584 UINT8 Option\r
3585 )\r
3586{\r
3587 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_POINTING_DEVICE_TYPE), gShellDebug1HiiHandle);\r
3588 PRINT_INFO_OPTION (Type, Option);\r
3589 PRINT_TABLE_ITEM (PointingDeviceTypeTable, Type);\r
3590}\r
3591\r
3592VOID\r
3593DisplayPointingDeviceInterface (\r
3594 UINT8 Interface,\r
3595 UINT8 Option\r
3596 )\r
3597{\r
3598 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_POINTING_DEVICE_INTERFACE), gShellDebug1HiiHandle);\r
3599 PRINT_INFO_OPTION (Interface, Option);\r
3600 PRINT_TABLE_ITEM (PointingDeviceInterfaceTable, Interface);\r
3601}\r
3602//\r
3603// Portable Battery (Type 22)\r
3604//\r
3605VOID\r
3606DisplayPBDeviceChemistry (\r
3607 UINT8 Key,\r
3608 UINT8 Option\r
3609 )\r
3610{\r
3611 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PORTABLE_BATT_DEV_CHEM), gShellDebug1HiiHandle);\r
3612 PRINT_INFO_OPTION (Key, Option);\r
3613 PRINT_TABLE_ITEM (PBDeviceChemistryTable, Key);\r
3614}\r
3615//\r
3616// Voltage Probe (Type 26)\r
3617//\r
3618VOID\r
3619DisplayVPLocation (\r
3620 UINT8 Key,\r
3621 UINT8 Option\r
3622 )\r
3623{\r
3624 UINT8 Loc;\r
3625\r
3626 Loc = (UINT8) ((Key & 0xE0) >> 5);\r
3627 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_VOLTAGE_PROBE_LOC), gShellDebug1HiiHandle);\r
3628 PRINT_INFO_OPTION (Loc, Option);\r
3629 PRINT_TABLE_ITEM (VPLocationTable, Loc);\r
3630}\r
3631\r
3632VOID\r
3633DisplayVPStatus (\r
3634 UINT8 Key,\r
3635 UINT8 Option\r
3636 )\r
3637{\r
3638 UINT8 Status;\r
3639\r
3640 Status = (UINT8) (Key & 0x1F);\r
3641 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_VOLTAGE_PROBE_STATUS), gShellDebug1HiiHandle);\r
3642 PRINT_INFO_OPTION (Status, Option);\r
3643 PRINT_TABLE_ITEM (VPStatusTable, Status);\r
3644}\r
3645//\r
3646// Voltage Probe (Type 27)\r
3647//\r
3648VOID\r
3649DisplayCoolingDeviceStatus (\r
3650 UINT8 Key,\r
3651 UINT8 Option\r
3652 )\r
3653{\r
3654 UINT8 Status;\r
3655\r
3656 Status = (UINT8) ((Key & 0xE0) >> 5);\r
3657 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_COOLING_DEV_STATUS), gShellDebug1HiiHandle);\r
3658 PRINT_INFO_OPTION (Status, Option);\r
3659 PRINT_TABLE_ITEM (CoolingDeviceStatusTable, Status);\r
3660}\r
3661\r
3662VOID\r
3663DisplayCoolingDeviceType (\r
3664 UINT8 Key,\r
3665 UINT8 Option\r
3666 )\r
3667{\r
3668 UINT8 Type;\r
3669\r
3670 Type = (UINT8) (Key & 0x1F);\r
3671 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_COOLING_DEV_TYPE), gShellDebug1HiiHandle);\r
3672 PRINT_INFO_OPTION (Type, Option);\r
3673 PRINT_TABLE_ITEM (CoolingDeviceTypeTable, Type);\r
3674}\r
3675//\r
3676// Temperature Probe (Type 28)\r
3677//\r
3678VOID\r
3679DisplayTemperatureProbeStatus (\r
3680 UINT8 Key,\r
3681 UINT8 Option\r
3682 )\r
3683{\r
3684 UINT8 Status;\r
3685\r
3686 Status = (UINT8) ((Key & 0xE0) >> 5);\r
3687 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_TEMP_PROBE), gShellDebug1HiiHandle);\r
3688 PRINT_INFO_OPTION (Status, Option);\r
3689 PRINT_TABLE_ITEM (TemperatureProbeStatusTable, Status);\r
3690}\r
3691\r
3692VOID\r
3693DisplayTemperatureProbeLoc (\r
3694 UINT8 Key,\r
3695 UINT8 Option\r
3696 )\r
3697{\r
3698 UINT8 Loc;\r
3699\r
3700 Loc = (UINT8) (Key & 0x1F);\r
3701 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_VOLTAGE_PROBE_LOC), gShellDebug1HiiHandle);\r
3702 PRINT_INFO_OPTION (Loc, Option);\r
3703 PRINT_TABLE_ITEM (TemperatureProbeLocTable, Loc);\r
3704}\r
3705//\r
3706// Electrical Current Probe (Type 29)\r
3707//\r
3708VOID\r
3709DisplayECPStatus (\r
3710 UINT8 Key,\r
3711 UINT8 Option\r
3712 )\r
3713{\r
3714 UINT8 Status;\r
3715\r
3716 Status = (UINT8) ((Key & 0xE0) >> 5);\r
3717 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_ELEC_PROBE_STATUS), gShellDebug1HiiHandle);\r
3718 PRINT_INFO_OPTION (Status, Option);\r
3719 PRINT_TABLE_ITEM (ECPStatusTable, Status);\r
3720}\r
3721\r
3722VOID\r
3723DisplayECPLoc (\r
3724 UINT8 Key,\r
3725 UINT8 Option\r
3726 )\r
3727{\r
3728 UINT8 Loc;\r
3729\r
3730 Loc = (UINT8) (Key & 0x1F);\r
3731 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_ELEC_PROBE_LOC), gShellDebug1HiiHandle);\r
3732 PRINT_INFO_OPTION (Loc, Option);\r
3733 PRINT_TABLE_ITEM (ECPLocTable, Loc);\r
3734}\r
3735//\r
3736// Management Device (Type 34)\r
3737//\r
3738VOID\r
3739DisplayMDType (\r
3740 UINT8 Key,\r
3741 UINT8 Option\r
3742 )\r
3743{\r
3744 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MANAGEMENT_DEV_TYPE), gShellDebug1HiiHandle);\r
3745 PRINT_INFO_OPTION (Key, Option);\r
3746 PRINT_TABLE_ITEM (MDTypeTable, Key);\r
3747}\r
3748\r
3749VOID\r
3750DisplayMDAddressType (\r
3751 UINT8 Key,\r
3752 UINT8 Option\r
3753 )\r
3754{\r
3755 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MANAGEMENT_DEV_ADDR_TYPE), gShellDebug1HiiHandle);\r
3756 PRINT_INFO_OPTION (Key, Option);\r
3757 PRINT_TABLE_ITEM (MDAddressTypeTable, Key);\r
3758}\r
3759//\r
3760// Memory Channel (Type 37)\r
3761//\r
3762VOID\r
3763DisplayMemoryChannelType (\r
3764 UINT8 Key,\r
3765 UINT8 Option\r
3766 )\r
3767{\r
3768 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_CHANNEL_TYPE), gShellDebug1HiiHandle);\r
3769 PRINT_INFO_OPTION (Key, Option);\r
3770 PRINT_TABLE_ITEM (MemoryChannelTypeTable, Key);\r
3771}\r
3772//\r
3773// IPMI Device Information (Type 38)\r
3774//\r
3775VOID\r
3776DisplayIPMIDIBMCInterfaceType (\r
3777 UINT8 Key,\r
3778 UINT8 Option\r
3779 )\r
3780{\r
3781 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_BMC_INTERFACE_TYPE), gShellDebug1HiiHandle);\r
3782 PRINT_INFO_OPTION (Key, Option);\r
3783 PRINT_TABLE_ITEM (IPMIDIBMCInterfaceTypeTable, Key);\r
3784}\r
3785\r
3786VOID\r
3787DisplayStructureTypeInfo (\r
3788 UINT8 Key,\r
3789 UINT8 Option\r
3790 )\r
3791{\r
3792 //\r
3793 // display\r
3794 //\r
3795 ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_STRUCT_TYPE), gShellDebug1HiiHandle);\r
3796 PRINT_INFO_OPTION (Key, Option);\r
3797 PRINT_TABLE_ITEM (StructureTypeInfoTable, Key);\r
3798}\r