]> git.proxmox.com Git - mirror_edk2.git/blob - EdkCompatibilityPkg/Compatibility/PiSmbiosRecordOnDataHubSmbiosRecordThunk/ConvTable.c
Rename DataHubSmBiosRecordsOnPiSmBiosThunk to PiSmbiosRecordOnDataHubSmbiosRecordThun...
[mirror_edk2.git] / EdkCompatibilityPkg / Compatibility / PiSmbiosRecordOnDataHubSmbiosRecordThunk / ConvTable.c
1 /** @file
2 The conversion table that guides the generation of the Smbios struture list.
3
4 Copyright (c) 2009, Intel Corporation
5 All rights reserved. This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
9
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13 **/
14
15 #include "Thunk.h"
16
17 ///
18 /// The minimal length includes last two zero bytes.
19 ///
20 SMBIOS_TYPE_INFO_TABLE_ENTRY mTypeInfoTable[] = {
21 //
22 // Type 0: Bios Information
23 //
24 {
25 0,
26 0x1a,
27 TRUE,
28 FALSE
29 }, // size includes wo extension bytes
30 //
31 // Type 1: System Information
32 //
33 {
34 1,
35 0x1d,
36 TRUE,
37 FALSE
38 },
39 //
40 // Type 2: Base Board Information
41 //
42 {
43 2,
44 0x12,
45 FALSE,
46 FALSE
47 },
48 //
49 // Type 3: System Enclosure or Chassis
50 //
51 {
52 3,
53 0x17, // 0x13 covers till OEM-defined, not right
54 TRUE,
55 FALSE
56 },
57 //
58 // Type 4: Processor
59 //
60 {
61 4,
62 0x25,
63 TRUE,
64 FALSE
65 },
66 //
67 // Type 5: Memory Controller
68 //
69 {
70 5,
71 0x12,
72 FALSE,
73 FALSE
74 },
75 //
76 // Type 6: Memory
77 //
78 {
79 6,
80 0x0E,
81 FALSE,
82 FALSE
83 },
84 //
85 // Type 7: Cache
86 //
87 {
88 7,
89 0x15,
90 TRUE,
91 FALSE
92 },
93 //
94 // Type 8: Port Connector Information
95 //
96 {
97 8,
98 0x0B,
99 FALSE,
100 FALSE
101 },
102 //
103 // Type 9: System Slots
104 //
105 {
106 9,
107 0x0f,
108 TRUE,
109 FALSE
110 },
111 //
112 // Type 10: On Board Device Information
113 //
114 {
115 10,
116 0x8,
117 FALSE,
118 FALSE
119 },
120 //
121 // Type 11: OEM Strings
122 //
123 {
124 11,
125 0x7,
126 FALSE,
127 FALSE
128 },
129 //
130 // Type 12: System Configuration Options
131 //
132 {
133 12,
134 0x7,
135 FALSE,
136 FALSE
137 },
138 //
139 // Type 13: BIOS Language Information
140 //
141 {
142 13,
143 0x18,
144 FALSE,
145 FALSE
146 },
147 //
148 // Type 15: System Event Log
149 //
150 {
151 15,
152 0x19,
153 FALSE,
154 FALSE
155 },
156 //
157 // Type 16: Physical Memory Array
158 //
159 {
160 16,
161 0x11,
162 TRUE,
163 FALSE
164 },
165 //
166 // Type 17: Memory Device
167 //
168 {
169 17,
170 0x1d,
171 TRUE,
172 FALSE
173 },
174 //
175 // Type 18: 32 bit Memory Error Information
176 //
177 {
178 18,
179 0x19,
180 FALSE,
181 FALSE
182 },
183 //
184 // Type 19: Memory Array Mapped Address
185 //
186 {
187 19,
188 0x11,
189 TRUE,
190 FALSE
191 },
192 //
193 // Type 20: Memory Device Mapped Address
194 //
195 {
196 20,
197 0x15,
198 TRUE,
199 FALSE
200 },
201 //
202 // Type 21: Pointing Device
203 //
204 {
205 21,
206 0x9,
207 FALSE,
208 FALSE
209 },
210 //
211 // Type 22: Portable Battery
212 //
213 {
214 22,
215 0x1c,
216 FALSE,
217 FALSE
218 },
219 //
220 // Type 23: System Reset
221 //
222 {
223 23,
224 0x0f,
225 FALSE,
226 FALSE
227 },
228 //
229 // Type 24: Hardware Security
230 //
231 {
232 24,
233 0x07,
234 FALSE,
235 FALSE
236 },
237 //
238 // Type 25: System Power Controls
239 //
240 {
241 25,
242 0x0b,
243 FALSE,
244 FALSE
245 },
246 //
247 // Type 26: Voltage Probe
248 //
249 {
250 26,
251 0x18,
252 FALSE,
253 FALSE
254 },
255 //
256 // Type 27: Cooling Device
257 //
258 {
259 27,
260 0x10,
261 FALSE,
262 FALSE
263 },
264 //
265 // Type 28: Temperature Probe
266 //
267 {
268 28,
269 0x18,
270 FALSE,
271 FALSE
272 },
273 //
274 // Type 29: Electrical Current Probe
275 //
276 {
277 29,
278 0x18,
279 FALSE,
280 FALSE
281 },
282 //
283 // Type 30: Out-of-Band Remote Access
284 //
285 {
286 30,
287 0x08,
288 FALSE,
289 FALSE
290 },
291 //
292 // Type 31: BIS Entry Point
293 //
294 {
295 31,
296 0x1c,
297 FALSE,
298 FALSE
299 },
300 //
301 // Type 32: System Boot Information
302 //
303 {
304 32,
305 0x16,
306 TRUE,
307 FALSE
308 },
309 //
310 // Type 33: 64 bit Memory Error Information
311 //
312 {
313 33,
314 0x21,
315 FALSE,
316 FALSE
317 },
318 //
319 // Type 34: Management Device
320 //
321 {
322 34,
323 0x0d,
324 FALSE,
325 FALSE
326 },
327 //
328 // Type 36: Management Device Threshold
329 //
330 {
331 36,
332 0x12,
333 FALSE,
334 FALSE
335 },
336 //
337 // Type 37: Memory Channel
338 //
339 {
340 37,
341 0x0c,
342 FALSE,
343 FALSE
344 },
345 //
346 // Type 38: IPMI device info
347 //
348 {
349 38,
350 0x12,
351 TRUE,
352 FALSE
353 },
354 //
355 // Type 39: Power supply
356 //
357 {
358 39,
359 0x18,
360 FALSE,
361 FALSE
362 },
363 //
364 // Type 0x80-0xFF: OEM type
365 //
366 {
367 0x80,
368 0x6,
369 FALSE,
370 FALSE
371 },
372 //
373 // Type 127: End of Table
374 //
375 {
376 127,
377 0x6,
378 FALSE,
379 FALSE
380 },
381 //
382 // Terminator
383 //
384 {
385 0,
386 0
387 }
388 };
389
390 SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {
391
392 {
393 //
394 // Processor Sub Class -- Record Type 1: Frequency
395 //
396 EFI_PROCESSOR_SUBCLASS_GUID,
397 ProcessorCoreFrequencyRecordType,
398 4,
399 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
400 BY_FUNCTION_WITH_OFFSET_SPECIFIED,
401 0x16,
402 SmbiosFldBase10ToWordWithMega
403 },
404
405 {
406 //
407 // Processor SubClass -- Record Type 2: Bus Frequency
408 //
409 EFI_PROCESSOR_SUBCLASS_GUID,
410 ProcessorFsbFrequencyRecordType,
411 4,
412 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
413 BY_FUNCTION_WITH_OFFSET_SPECIFIED,
414 0x12,
415 SmbiosFldBase10ToWordWithMega
416 },
417
418 {
419 //
420 // Processor SubClass -- Record Type 3: Version
421 //
422 EFI_PROCESSOR_SUBCLASS_GUID,
423 ProcessorVersionRecordType,
424 4,
425 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
426 BY_FUNCTION_WITH_OFFSET_SPECIFIED,
427 0x10,
428 SmbiosFldString
429 },
430
431 {
432 //
433 // Processor SubClass -- Record Type 4: Manufacturor
434 //
435 EFI_PROCESSOR_SUBCLASS_GUID,
436 ProcessorManufacturerRecordType,
437 4,
438 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
439 BY_FUNCTION_WITH_OFFSET_SPECIFIED,
440 0x7,
441 SmbiosFldString
442 },
443
444 {
445 //
446 // Processor SubClass -- Record Type 5: Serial Number
447 //
448 EFI_PROCESSOR_SUBCLASS_GUID,
449 ProcessorSerialNumberRecordType,
450 4,
451 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
452 BY_FUNCTION_WITH_OFFSET_SPECIFIED,
453 0x20,
454 SmbiosFldString
455 },
456
457 {
458 //
459 // Processor SubClass -- Record Type 6: ID
460 //
461 EFI_PROCESSOR_SUBCLASS_GUID,
462 ProcessorIdRecordType,
463 4,
464 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
465 BY_FUNCTION_WITH_OFFSET_SPECIFIED,
466 0x08,
467 SmbiosFldProcessorType6
468 },
469
470 {
471 //
472 // Processor SubClass -- Record Type 7: Type
473 //
474 EFI_PROCESSOR_SUBCLASS_GUID,
475 ProcessorTypeRecordType,
476 4,
477 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
478 BY_FUNCTION_WITH_OFFSET_SPECIFIED,
479 0x05,
480 SmbiosFldTruncateToByte
481 },
482
483 {
484 //
485 // Processor SubClass -- Record Type 8: Family
486 //
487 EFI_PROCESSOR_SUBCLASS_GUID,
488 ProcessorFamilyRecordType,
489 4,
490 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
491 BY_FUNCTION_WITH_OFFSET_SPECIFIED,
492 0x06,
493 SmbiosFldTruncateToByte
494 },
495
496 {
497 //
498 // Processor SubClass -- Record Type 9: Voltage
499 //
500 EFI_PROCESSOR_SUBCLASS_GUID,
501 ProcessorVoltageRecordType,
502 4,
503 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
504 BY_FUNCTION_WITH_OFFSET_SPECIFIED,
505 0x11,
506 SmbiosFldProcessorType9
507 },
508
509 {
510 //
511 // Processor SubClass -- Record Type 14: Status
512 //
513 EFI_PROCESSOR_SUBCLASS_GUID,
514 ProcessorStatusRecordType,
515 4,
516 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
517 BY_FUNCTION_WITH_OFFSET_SPECIFIED,
518 0x18,
519 SmbiosFldTruncateToByte
520 },
521
522 {
523 //
524 // Processor SubClass -- Record Type 15: Socket Type
525 //
526 EFI_PROCESSOR_SUBCLASS_GUID,
527 ProcessorSocketTypeRecordType,
528 4,
529 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
530 BY_FUNCTION_WITH_OFFSET_SPECIFIED,
531 0x19,
532 SmbiosFldTruncateToByte
533 },
534
535 {
536 //
537 // Processor SubClass -- Record Type 16: Socket Name
538 //
539 EFI_PROCESSOR_SUBCLASS_GUID,
540 ProcessorSocketNameRecordType,
541 4,
542 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
543 BY_FUNCTION_WITH_OFFSET_SPECIFIED,
544 0x04,
545 SmbiosFldString
546 },
547
548 {
549 //
550 // Processor SubClass -- Record Type 17: Cache Associtation
551 //
552 EFI_PROCESSOR_SUBCLASS_GUID,
553 CacheAssociationRecordType,
554 4,
555 BY_SUBCLASS_INSTANCE_PRODUCER,
556 BY_FUNCTION_WITH_WHOLE_DATA_RECORD,
557 0,
558 SmbiosFldProcessorType17
559 },
560
561 {
562 //
563 // Processor Sub Class -- Record Type 18: MaxFrequency
564 //
565 EFI_PROCESSOR_SUBCLASS_GUID,
566 ProcessorMaxCoreFrequencyRecordType,
567 4,
568 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
569 BY_FUNCTION_WITH_OFFSET_SPECIFIED,
570 0x14,
571 SmbiosFldBase10ToWordWithMega
572 },
573
574 {
575 //
576 // Processor SubClass -- Record Type 19: Asset Tag
577 //
578 EFI_PROCESSOR_SUBCLASS_GUID,
579 ProcessorAssetTagRecordType,
580 4,
581 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
582 BY_FUNCTION_WITH_OFFSET_SPECIFIED,
583 0x21,
584 SmbiosFldString
585 },
586
587 {
588 //
589 // Cache SubClass -- Record Type 1: Size
590 //
591 EFI_CACHE_SUBCLASS_GUID,
592 CacheSizeRecordType,
593 7,
594 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
595 BY_FUNCTION_WITH_OFFSET_SPECIFIED,
596 0x09,
597 SmbiosFldBase2ToWordWithKilo
598 },
599
600 {
601 //
602 // Cache SubClass -- Record Type 2: Max Size
603 //
604 EFI_CACHE_SUBCLASS_GUID,
605 MaximumSizeCacheRecordType,
606 7,
607 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
608 BY_FUNCTION_WITH_OFFSET_SPECIFIED,
609 0x07,
610 SmbiosFldBase2ToWordWithKilo
611 },
612
613 {
614 //
615 // Cache SubClass -- Record Type 3: Speed
616 //
617 EFI_CACHE_SUBCLASS_GUID,
618 CacheSpeedRecordType,
619 7,
620 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
621 BY_FUNCTION_WITH_OFFSET_SPECIFIED,
622 0x0f,
623 SmbiosFldBase10ToByteWithNano
624 },
625
626 {
627 //
628 // Cache SubClass -- Record Type 4: Socket
629 //
630 EFI_CACHE_SUBCLASS_GUID,
631 CacheSocketRecordType,
632 7,
633 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
634 BY_FUNCTION_WITH_OFFSET_SPECIFIED,
635 0x04,
636 SmbiosFldString
637 },
638
639 {
640 //
641 // Cache SubClass -- Record Type 5: Supported SRAM type
642 //
643 EFI_CACHE_SUBCLASS_GUID,
644 CacheSramTypeRecordType,
645 7,
646 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
647 BY_FUNCTION_WITH_OFFSET_SPECIFIED,
648 0x0b,
649 SmbiosFldCacheType5 // Asynchronous and Synchronous are reversed
650 },
651
652 {
653 //
654 // Cache SubClass -- Record Type 6: Installed SRAM type
655 //
656 EFI_CACHE_SUBCLASS_GUID,
657 CacheInstalledSramTypeRecordType,
658 7,
659 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
660 BY_FUNCTION_WITH_OFFSET_SPECIFIED,
661 0x0d,
662 SmbiosFldCacheType5
663 },
664
665 {
666 //
667 // Cache SubClass -- Record Type 7: error correction type
668 //
669 EFI_CACHE_SUBCLASS_GUID,
670 CacheErrorTypeRecordType,
671 7,
672 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
673 BY_FUNCTION_WITH_OFFSET_SPECIFIED,
674 0x10,
675 SmbiosFldTruncateToByte
676 },
677
678 {
679 //
680 // Cache SubClass -- Record Type 8: cache type
681 //
682 EFI_CACHE_SUBCLASS_GUID,
683 CacheTypeRecordType,
684 7,
685 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
686 BY_FUNCTION_WITH_OFFSET_SPECIFIED,
687 0x11,
688 SmbiosFldTruncateToByte
689 },
690
691 {
692 //
693 // Cache SubClass -- Record Type 9: Associativity
694 //
695 EFI_CACHE_SUBCLASS_GUID,
696 CacheAssociativityRecordType,
697 7,
698 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
699 BY_FUNCTION_WITH_OFFSET_SPECIFIED,
700 0x12,
701 SmbiosFldTruncateToByte
702 },
703
704 {
705 //
706 // Cache SubClass -- Record Type 10: Cache configuration
707 //
708 EFI_CACHE_SUBCLASS_GUID,
709 CacheConfigRecordType,
710 7,
711 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
712 BY_FUNCTION_WITH_OFFSET_SPECIFIED,
713 0x05,
714 SmbiosFldCacheType10
715 },
716
717 {
718 //
719 // Memory SubClass -- Record Type 2: Physical Memory Array
720 //
721 EFI_MEMORY_SUBCLASS_GUID,
722 EFI_MEMORY_ARRAY_LOCATION_RECORD_NUMBER,
723 16,
724 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
725 BY_FUNCTION,
726 0,
727 SmbiosFldMemoryType2
728 },
729
730 {
731 //
732 // Memory SubClass -- Record Type 3: Memory Device to SMBIOS type 6
733 //
734 EFI_MEMORY_SUBCLASS_GUID,
735 EFI_MEMORY_ARRAY_LINK_RECORD_NUMBER,
736 6,
737 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
738 BY_FUNCTION,
739 0,
740 SmbiosFldSMBIOSType6
741 },
742
743 {
744 //
745 // Memory SubClass -- Record Type 3: Memory Device to SMBIOS type 17
746 //
747 EFI_MEMORY_SUBCLASS_GUID,
748 EFI_MEMORY_ARRAY_LINK_RECORD_NUMBER,
749 17,
750 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
751 BY_FUNCTION,
752 0,
753 SmbiosFldMemoryType3
754 },
755
756 {
757 //
758 // Memory SubClass -- Record Type 4: Memory Array Mapped Address
759 //
760 EFI_MEMORY_SUBCLASS_GUID,
761 EFI_MEMORY_ARRAY_START_ADDRESS_RECORD_NUMBER,
762 19,
763 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
764 BY_FUNCTION,
765 0,
766 SmbiosFldMemoryType4
767 },
768
769 {
770 //
771 // Memory SubClass -- Record Type 5: Memory Device Mapped Address
772 //
773 EFI_MEMORY_SUBCLASS_GUID,
774 EFI_MEMORY_DEVICE_START_ADDRESS_RECORD_NUMBER,
775 20,
776 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
777 BY_FUNCTION,
778 0,
779 SmbiosFldMemoryType5
780 },
781
782 {
783 //
784 // Memory SubClass -- Record Type 6: Memory Channel Type
785 //
786 EFI_MEMORY_SUBCLASS_GUID,
787 EFI_MEMORY_CHANNEL_TYPE_RECORD_NUMBER,
788 37,
789 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
790 BY_FUNCTION,
791 0,
792 SmbiosFldMemoryType6
793 },
794
795 {
796 //
797 // Memory SubClass -- Record Type 7: Memory Channel Device
798 //
799 EFI_MEMORY_SUBCLASS_GUID,
800 EFI_MEMORY_CHANNEL_DEVICE_RECORD_NUMBER,
801 37,
802 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
803 BY_FUNCTION,
804 0,
805 SmbiosFldMemoryType7
806 },
807
808 {
809 //
810 // Memory SubClass -- Record Type 8: Memory Controller information
811 //
812 EFI_MEMORY_SUBCLASS_GUID,
813 EFI_MEMORY_CONTROLLER_INFORMATION_RECORD_NUMBER,
814 5,
815 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
816 BY_FUNCTION,
817 0,
818 SmbiosFldMemoryType8
819 },
820
821 {
822 //
823 // Memory SubClass -- Record Type 9: Memory 32 Bit Error Information
824 //
825 EFI_MEMORY_SUBCLASS_GUID,
826 EFI_MEMORY_32BIT_ERROR_INFORMATION_RECORD_NUMBER,
827 18,
828 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
829 BY_FUNCTION,
830 0,
831 SmbiosFldMemoryType9
832 },
833
834 {
835 //
836 // Memory SubClass -- Record Type 10: Memory 64 Bit Error Information
837 //
838 EFI_MEMORY_SUBCLASS_GUID,
839 EFI_MEMORY_64BIT_ERROR_INFORMATION_RECORD_NUMBER,
840 33,
841 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
842 BY_FUNCTION,
843 0,
844 SmbiosFldMemoryType10
845 },
846
847 {
848 //
849 // Misc SubClass -- Record Type 2: Bios Information (SMBIOS Type 0)
850 //
851 EFI_MISC_SUBCLASS_GUID,
852 EFI_MISC_BIOS_VENDOR_RECORD_NUMBER, // 0,
853 0, // smbios Type 0
854 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
855 BY_FUNCTION,
856 0,
857 SmbiosFldMiscType0
858 },
859
860 {
861 //
862 // Misc SubClass -- Record Type 3: System Information (SMBIOS Type 1)
863 //
864 EFI_MISC_SUBCLASS_GUID,
865 EFI_MISC_SYSTEM_MANUFACTURER_RECORD_NUMBER, // 1,
866 1,
867 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
868 BY_FUNCTION,
869 0,
870 SmbiosFldMiscType1
871 },
872
873 {
874 //
875 // Misc SubClass -- Record Type 4: Base Board Manufacturer (SMBIOS Type 2)
876 //
877 EFI_MISC_SUBCLASS_GUID,
878 EFI_MISC_BASE_BOARD_MANUFACTURER_RECORD_NUMBER, // 2,
879 2, // SMBIOS Type 2
880 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
881 BY_FUNCTION,
882 0,
883 SmbiosFldMiscType2
884 },
885
886 {
887 //
888 // Misc SubClass -- Record Type 5: System Enclosure or Chassis (SMBIOS Type 3)
889 //
890 EFI_MISC_SUBCLASS_GUID,
891 EFI_MISC_CHASSIS_MANUFACTURER_RECORD_NUMBER, // 3,
892 3,
893 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
894 BY_FUNCTION,
895 0,
896 SmbiosFldMiscType3
897 },
898
899 {
900 //
901 // Misc SubClass -- Record Type 6: Port Connector (SMBIOS Type 8)
902 //
903 EFI_MISC_SUBCLASS_GUID,
904 EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_RECORD_NUMBER, // 8,
905 8,
906 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
907 BY_FUNCTION,
908 0,
909 SmbiosFldMiscType8
910 },
911
912 {
913 //
914 // Misc SubClass -- Record Type 7: System Slots (SMBIOS Type 9)
915 //
916 EFI_MISC_SUBCLASS_GUID,
917 EFI_MISC_SYSTEM_SLOT_DESIGNATION_RECORD_NUMBER, // 9,
918 9,
919 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
920 BY_FUNCTION,
921 0,
922 SmbiosFldMiscType9
923 },
924
925 {
926 //
927 // Misc SubClass -- Record Type 8: Onboard Device (SMBIOS Type 10)
928 //
929 EFI_MISC_SUBCLASS_GUID,
930 EFI_MISC_ONBOARD_DEVICE_RECORD_NUMBER, // 10,
931 10,
932 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
933 BY_FUNCTION,
934 0,
935 SmbiosFldMiscType10
936 },
937
938 {
939 //
940 // Misc Subclass -- Record Type 9: OEM strings (SMBIOS Type 11)
941 //
942 EFI_MISC_SUBCLASS_GUID,
943 EFI_MISC_OEM_STRING_RECORD_NUMBER, // 11,
944 11,
945 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
946 BY_FUNCTION,
947 0,
948 SmbiosFldMiscType11
949 },
950
951 {
952 //
953 // Misc SubClass -- Record Type 0A: System Options (SMBIOS Type 12)
954 //
955 EFI_MISC_SUBCLASS_GUID,
956 EFI_MISC_SYSTEM_OPTION_STRING_RECORD_NUMBER, // 12,
957 12,
958 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
959 BY_FUNCTION,
960 0,
961 SmbiosFldMiscType12
962 },
963
964 {
965 //
966 // Misc SubClass -- Record Type 0B: Number of Installable Languages (SMBIOS Type 13)
967 //
968 EFI_MISC_SUBCLASS_GUID,
969 EFI_MISC_NUMBER_OF_INSTALLABLE_LANGUAGES_RECORD_NUMBER, // 13,
970 13,
971 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
972 BY_FUNCTION,
973 0,
974 SmbiosFldMiscType13
975 },
976
977 {
978 //
979 // Misc SubClass -- Record Type 0C: Installable Languages (SMBIOS Type 13)
980 //
981 EFI_MISC_SUBCLASS_GUID,
982 EFI_MISC_SYSTEM_LANGUAGE_STRING_RECORD_NUMBER, // 13,
983 13,
984 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
985 BY_FUNCTION,
986 0,
987 SmbiosFldMiscType14
988 },
989
990 {
991 //
992 // Misc SubClass -- Record Type 20: System Event Log (SMBIOS Type 15)
993 //
994 EFI_MISC_SUBCLASS_GUID,
995 EFI_MISC_SYSTEM_EVENT_LOG_RECORD_NUMBER, // 15,
996 15,
997 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
998 BY_FUNCTION,
999 0,
1000 SmbiosFldMiscType15
1001 },
1002
1003 {
1004 //
1005 // Misc SubClass -- Record Type 0F: Pointing Device (SMBIOS Type 21)
1006 //
1007 EFI_MISC_SUBCLASS_GUID,
1008 EFI_MISC_POINTING_DEVICE_TYPE_RECORD_NUMBER, // 21,
1009 21,
1010 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
1011 BY_FUNCTION,
1012 0,
1013 SmbiosFldMiscType21
1014 },
1015
1016 {
1017 //
1018 // Misc SubClass -- Record Type 10: Portable Battery (SMBIOS Type 22)
1019 //
1020 EFI_MISC_SUBCLASS_GUID,
1021 EFI_MISC_PORTABLE_BATTERY_RECORD_NUMBER, // 22,
1022 22,
1023 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
1024 BY_FUNCTION,
1025 0,
1026 SmbiosFldMiscType22
1027 },
1028
1029 {
1030 //
1031 // Misc SubClass -- Record Type 0x11: Reset Capabilities (SMBIOS Type 23)
1032 //
1033 EFI_MISC_SUBCLASS_GUID,
1034 EFI_MISC_RESET_CAPABILITIES_RECORD_NUMBER, // 23,
1035 23,
1036 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
1037 BY_FUNCTION,
1038 0,
1039 SmbiosFldMiscType23
1040 },
1041
1042 {
1043 //
1044 // Misc SubClass -- Record Type 0x12: Hardware Security (SMBIOS Type 24)
1045 //
1046 EFI_MISC_SUBCLASS_GUID,
1047 EFI_MISC_HARDWARE_SECURITY_SETTINGS_DATA_RECORD_NUMBER, // 24,
1048 24,
1049 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
1050 BY_FUNCTION,
1051 0,
1052 SmbiosFldMiscType24
1053 },
1054
1055 {
1056 //
1057 // Misc SubClass -- Record Type 0x13: System Power Controls (SMBIOS Type 25)
1058 //
1059 EFI_MISC_SUBCLASS_GUID,
1060 EFI_MISC_SCHEDULED_POWER_ON_MONTH_RECORD_NUMBER, // 25,
1061 25,
1062 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
1063 BY_FUNCTION,
1064 0,
1065 SmbiosFldMiscType25
1066 },
1067
1068 {
1069 //
1070 // Misc SubClass -- Record Type 0x14: System Power Controls (SMBIOS Type 26)
1071 //
1072 EFI_MISC_SUBCLASS_GUID,
1073 EFI_MISC_VOLTAGE_PROBE_DESCRIPTION_RECORD_NUMBER, // 26,
1074 26,
1075 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
1076 BY_FUNCTION,
1077 0,
1078 SmbiosFldMiscType26
1079 },
1080
1081 {
1082 //
1083 // Misc SubClass -- Record Type 0x15: Cooling Device (SMBIOS Type 27)
1084 //
1085 EFI_MISC_SUBCLASS_GUID,
1086 EFI_MISC_COOLING_DEVICE_TEMP_LINK_RECORD_NUMBER, // 27,
1087 27,
1088 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
1089 BY_FUNCTION,
1090 0,
1091 SmbiosFldMiscType27
1092 },
1093
1094 {
1095 //
1096 // Misc SubClass -- Record Type 0x16: Temperature Probe (SMBIOS Type 28)
1097 //
1098 EFI_MISC_SUBCLASS_GUID,
1099 EFI_MISC_TEMPERATURE_PROBE_DESCRIPTION_RECORD_NUMBER, // 28,
1100 28,
1101 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
1102 BY_FUNCTION,
1103 0,
1104 SmbiosFldMiscType28
1105 },
1106
1107 {
1108 //
1109 // Misc SubClass -- Record Type 0x17: Electrical Current Probe (SMBIOS Type 29)
1110 //
1111 EFI_MISC_SUBCLASS_GUID,
1112 EFI_MISC_ELECTRICAL_CURRENT_PROBE_DESCRIPTION_RECORD_NUMBER, // 29,
1113 29,
1114 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
1115 BY_FUNCTION,
1116 0,
1117 SmbiosFldMiscType29
1118 },
1119
1120 {
1121 //
1122 // Misc SubClass -- Record Type 0x18: Temperature Probe (SMBIOS Type 30)
1123 //
1124 EFI_MISC_SUBCLASS_GUID,
1125 EFI_MISC_REMOTE_ACCESS_MANUFACTURER_DESCRIPTION_RECORD_NUMBER, // 30,
1126 30,
1127 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
1128 BY_FUNCTION,
1129 0,
1130 SmbiosFldMiscType30
1131 },
1132
1133 {
1134 //
1135 // Misc SubClass -- Record Type 0x1A: Boot Information (SMBIOS Type 32)
1136 //
1137 EFI_MISC_SUBCLASS_GUID,
1138 EFI_MISC_BOOT_INFORMATION_STATUS_RECORD_NUMBER, // 32,
1139 32,
1140 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
1141 BY_FUNCTION,
1142 0,
1143 SmbiosFldMiscType32
1144 },
1145
1146 {
1147 //
1148 // Misc SubClass -- Record Type 0x1B: Management Device (SMBIOS Type 34)
1149 //
1150 EFI_MISC_SUBCLASS_GUID,
1151 EFI_MISC_MANAGEMENT_DEVICE_DESCRIPTION_RECORD_NUMBER, // 34,
1152 34,
1153 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
1154 BY_FUNCTION,
1155 0,
1156 SmbiosFldMiscType34
1157 },
1158
1159 {
1160 //
1161 // Misc SubClass -- Record Type 0x21: Management Device Threshold (SMBIOS Type 36)
1162 //
1163 EFI_MISC_SUBCLASS_GUID,
1164 EFI_MISC_MANAGEMENT_DEVICE_THRESHOLD_RECORD_NUMBER, // 36,
1165 36,
1166 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
1167 BY_FUNCTION,
1168 0,
1169 SmbiosFldMiscType36
1170 },
1171
1172 {
1173 //
1174 // Misc SubClass -- Record Type 0x1D: Boot Information (SMBIOS Type 38)
1175 //
1176 EFI_MISC_SUBCLASS_GUID,
1177 EFI_MISC_IPMI_INTERFACE_TYPE_RECORD_NUMBER, // 38,
1178 38,
1179 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
1180 BY_FUNCTION,
1181 0,
1182 SmbiosFldMiscType38
1183 },
1184
1185 {
1186 //
1187 // Misc SubClass -- Record Type 0x1E: Power supply (SMBIOS Type 39)
1188 //
1189 EFI_MISC_SUBCLASS_GUID,
1190 EFI_MISC_SYSTEM_POWER_SUPPLY_RECORD_NUMBER, // 39,
1191 39,
1192 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
1193 BY_FUNCTION,
1194 0,
1195 SmbiosFldMiscType39
1196 },
1197
1198 {
1199 //
1200 // Misc SubClass -- Record Type 0x80-0xFF: OEM type
1201 //
1202 EFI_MISC_SUBCLASS_GUID,
1203 EFI_MISC_SMBIOS_STRUCT_ENCAP_RECORD_NUMBER, // 0x80,
1204 0x80,
1205 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
1206 BY_FUNCTION,
1207 0,
1208 SmbiosFldMiscTypeOEM
1209 },
1210
1211 {
1212 //
1213 // End-of-Table -- Record Type 127
1214 //
1215 EFI_MISC_SUBCLASS_GUID,
1216 127,
1217 127,
1218 BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,
1219 BY_FUNCTION,
1220 0,
1221 SmbiosFldMiscType127
1222 },
1223 //
1224 // Table Terminator
1225 //
1226 {
1227 {0, 0, 0, {0, 0, 0, 0, 0, 0, 0, 0}},
1228 0,
1229 0,
1230 (SMBIOS_STRUCTURE_LOCATING_METHOD) 0,
1231 (SMBIOS_FIELD_FILLING_METHOD) 0,
1232 0,
1233 0
1234 }
1235 };