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