--- /dev/null
+/** @file\r
+ The conversion table that guides the generation of the Smbios struture list.\r
+ \r
+Copyright (c) 2009, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+**/\r
+\r
+#include "Thunk.h"\r
+\r
+///\r
+/// The minimal length includes last two zero bytes.\r
+///\r
+SMBIOS_TYPE_INFO_TABLE_ENTRY mTypeInfoTable[] = {\r
+ //\r
+ // Type 0: Bios Information\r
+ //\r
+ {\r
+ 0,\r
+ 0x1a,\r
+ TRUE,\r
+ FALSE\r
+ }, // size includes wo extension bytes\r
+ //\r
+ // Type 1: System Information\r
+ //\r
+ {\r
+ 1,\r
+ 0x1d,\r
+ TRUE,\r
+ FALSE\r
+ },\r
+ //\r
+ // Type 2: Base Board Information\r
+ //\r
+ {\r
+ 2,\r
+ 0x12,\r
+ FALSE,\r
+ FALSE\r
+ },\r
+ //\r
+ // Type 3: System Enclosure or Chassis\r
+ //\r
+ {\r
+ 3,\r
+ 0x17, // 0x13 covers till OEM-defined, not right\r
+ TRUE,\r
+ FALSE\r
+ },\r
+ //\r
+ // Type 4: Processor\r
+ //\r
+ {\r
+ 4,\r
+ 0x25,\r
+ TRUE,\r
+ FALSE\r
+ },\r
+ //\r
+ // Type 5: Memory Controller\r
+ //\r
+ {\r
+ 5,\r
+ 0x12,\r
+ FALSE,\r
+ FALSE\r
+ }, \r
+ //\r
+ // Type 6: Memory\r
+ //\r
+ {\r
+ 6,\r
+ 0x0E,\r
+ FALSE,\r
+ FALSE\r
+ },\r
+ //\r
+ // Type 7: Cache\r
+ //\r
+ {\r
+ 7,\r
+ 0x15,\r
+ TRUE,\r
+ FALSE\r
+ },\r
+ //\r
+ // Type 8: Port Connector Information\r
+ //\r
+ {\r
+ 8,\r
+ 0x0B,\r
+ FALSE,\r
+ FALSE\r
+ },\r
+ //\r
+ // Type 9: System Slots\r
+ //\r
+ {\r
+ 9,\r
+ 0x0f,\r
+ TRUE,\r
+ FALSE\r
+ },\r
+ //\r
+ // Type 10: On Board Device Information\r
+ //\r
+ {\r
+ 10,\r
+ 0x8,\r
+ FALSE,\r
+ FALSE\r
+ },\r
+ //\r
+ // Type 11: OEM Strings\r
+ //\r
+ {\r
+ 11, \r
+ 0x7, \r
+ FALSE, \r
+ FALSE\r
+ },\r
+ //\r
+ // Type 12: System Configuration Options\r
+ //\r
+ {\r
+ 12,\r
+ 0x7,\r
+ FALSE,\r
+ FALSE\r
+ },\r
+ //\r
+ // Type 13: BIOS Language Information\r
+ //\r
+ {\r
+ 13,\r
+ 0x18,\r
+ FALSE,\r
+ FALSE\r
+ },\r
+ //\r
+ // Type 15: System Event Log\r
+ //\r
+ {\r
+ 15,\r
+ 0x19,\r
+ FALSE,\r
+ FALSE\r
+ }, \r
+ //\r
+ // Type 16: Physical Memory Array\r
+ //\r
+ {\r
+ 16,\r
+ 0x11,\r
+ TRUE,\r
+ FALSE\r
+ },\r
+ //\r
+ // Type 17: Memory Device\r
+ //\r
+ {\r
+ 17,\r
+ 0x1d,\r
+ TRUE,\r
+ FALSE\r
+ },\r
+ //\r
+ // Type 18: 32 bit Memory Error Information\r
+ //\r
+ {\r
+ 18,\r
+ 0x19,\r
+ FALSE,\r
+ FALSE\r
+ }, \r
+ //\r
+ // Type 19: Memory Array Mapped Address\r
+ //\r
+ {\r
+ 19,\r
+ 0x11,\r
+ TRUE,\r
+ FALSE\r
+ },\r
+ //\r
+ // Type 20: Memory Device Mapped Address\r
+ //\r
+ {\r
+ 20,\r
+ 0x15,\r
+ TRUE,\r
+ FALSE\r
+ },\r
+ //\r
+ // Type 21: Pointing Device\r
+ //\r
+ {\r
+ 21,\r
+ 0x9,\r
+ FALSE,\r
+ FALSE\r
+ },\r
+ //\r
+ // Type 22: Portable Battery\r
+ //\r
+ {\r
+ 22,\r
+ 0x1c,\r
+ FALSE,\r
+ FALSE\r
+ }, \r
+ //\r
+ // Type 23: System Reset\r
+ //\r
+ {\r
+ 23,\r
+ 0x0f,\r
+ FALSE,\r
+ FALSE\r
+ },\r
+ //\r
+ // Type 24: Hardware Security\r
+ //\r
+ {\r
+ 24,\r
+ 0x07,\r
+ FALSE,\r
+ FALSE\r
+ },\r
+ //\r
+ // Type 25: System Power Controls\r
+ //\r
+ {\r
+ 25,\r
+ 0x0b,\r
+ FALSE,\r
+ FALSE\r
+ },\r
+ //\r
+ // Type 26: Voltage Probe\r
+ //\r
+ {\r
+ 26,\r
+ 0x18,\r
+ FALSE,\r
+ FALSE\r
+ },\r
+ //\r
+ // Type 27: Cooling Device\r
+ //\r
+ {\r
+ 27,\r
+ 0x10,\r
+ FALSE,\r
+ FALSE\r
+ },\r
+ //\r
+ // Type 28: Temperature Probe\r
+ //\r
+ {\r
+ 28,\r
+ 0x18,\r
+ FALSE,\r
+ FALSE\r
+ },\r
+ //\r
+ // Type 29: Electrical Current Probe\r
+ //\r
+ {\r
+ 29,\r
+ 0x18,\r
+ FALSE,\r
+ FALSE\r
+ },\r
+ //\r
+ // Type 30: Out-of-Band Remote Access\r
+ //\r
+ {\r
+ 30,\r
+ 0x08,\r
+ FALSE,\r
+ FALSE\r
+ }, \r
+ //\r
+ // Type 31: BIS Entry Point\r
+ //\r
+ {\r
+ 31,\r
+ 0x1c,\r
+ FALSE,\r
+ FALSE\r
+ }, \r
+ //\r
+ // Type 32: System Boot Information\r
+ //\r
+ {\r
+ 32,\r
+ 0x16,\r
+ TRUE,\r
+ FALSE\r
+ },\r
+ //\r
+ // Type 33: 64 bit Memory Error Information\r
+ //\r
+ {\r
+ 33,\r
+ 0x21,\r
+ FALSE,\r
+ FALSE\r
+ }, \r
+ //\r
+ // Type 34: Management Device\r
+ //\r
+ {\r
+ 34,\r
+ 0x0d,\r
+ FALSE,\r
+ FALSE\r
+ },\r
+ //\r
+ // Type 36: Management Device Threshold\r
+ //\r
+ {\r
+ 36,\r
+ 0x12,\r
+ FALSE,\r
+ FALSE\r
+ }, \r
+ //\r
+ // Type 37: Memory Channel\r
+ //\r
+ {\r
+ 37,\r
+ 0x0c,\r
+ FALSE,\r
+ FALSE\r
+ },\r
+ //\r
+ // Type 38: IPMI device info\r
+ //\r
+ {\r
+ 38,\r
+ 0x12,\r
+ TRUE,\r
+ FALSE\r
+ },\r
+ //\r
+ // Type 39: Power supply\r
+ //\r
+ {\r
+ 39,\r
+ 0x18,\r
+ FALSE,\r
+ FALSE\r
+ }, \r
+ //\r
+ // Type 0x80-0xFF: OEM type\r
+ //\r
+ {\r
+ 0x80,\r
+ 0x6,\r
+ FALSE,\r
+ FALSE\r
+ },\r
+ //\r
+ // Type 127: End of Table\r
+ //\r
+ {\r
+ 127,\r
+ 0x6,\r
+ FALSE,\r
+ FALSE\r
+ },\r
+ //\r
+ // Terminator\r
+ //\r
+ {\r
+ 0,\r
+ 0\r
+ }\r
+};\r
+\r
+SMBIOS_CONVERSION_TABLE_ENTRY mConversionTable[] = {\r
+\r
+ {\r
+ //\r
+ // Processor Sub Class -- Record Type 1: Frequency\r
+ //\r
+ EFI_PROCESSOR_SUBCLASS_GUID,\r
+ ProcessorCoreFrequencyRecordType,\r
+ 4,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION_WITH_OFFSET_SPECIFIED,\r
+ 0x16,\r
+ SmbiosFldBase10ToWordWithMega\r
+ },\r
+\r
+ {\r
+ //\r
+ // Processor SubClass -- Record Type 2: Bus Frequency\r
+ //\r
+ EFI_PROCESSOR_SUBCLASS_GUID,\r
+ ProcessorFsbFrequencyRecordType,\r
+ 4,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION_WITH_OFFSET_SPECIFIED,\r
+ 0x12,\r
+ SmbiosFldBase10ToWordWithMega\r
+ },\r
+\r
+ {\r
+ //\r
+ // Processor SubClass -- Record Type 3: Version\r
+ //\r
+ EFI_PROCESSOR_SUBCLASS_GUID,\r
+ ProcessorVersionRecordType,\r
+ 4,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION_WITH_OFFSET_SPECIFIED,\r
+ 0x10,\r
+ SmbiosFldString\r
+ },\r
+\r
+ {\r
+ //\r
+ // Processor SubClass -- Record Type 4: Manufacturor\r
+ //\r
+ EFI_PROCESSOR_SUBCLASS_GUID,\r
+ ProcessorManufacturerRecordType,\r
+ 4,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION_WITH_OFFSET_SPECIFIED,\r
+ 0x7,\r
+ SmbiosFldString\r
+ },\r
+\r
+ {\r
+ //\r
+ // Processor SubClass -- Record Type 5: Serial Number\r
+ //\r
+ EFI_PROCESSOR_SUBCLASS_GUID,\r
+ ProcessorSerialNumberRecordType,\r
+ 4,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION_WITH_OFFSET_SPECIFIED,\r
+ 0x20,\r
+ SmbiosFldString\r
+ },\r
+\r
+ {\r
+ //\r
+ // Processor SubClass -- Record Type 6: ID\r
+ //\r
+ EFI_PROCESSOR_SUBCLASS_GUID,\r
+ ProcessorIdRecordType,\r
+ 4,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION_WITH_OFFSET_SPECIFIED,\r
+ 0x08,\r
+ SmbiosFldProcessorType6\r
+ },\r
+\r
+ {\r
+ //\r
+ // Processor SubClass -- Record Type 7: Type\r
+ //\r
+ EFI_PROCESSOR_SUBCLASS_GUID,\r
+ ProcessorTypeRecordType,\r
+ 4,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION_WITH_OFFSET_SPECIFIED,\r
+ 0x05,\r
+ SmbiosFldTruncateToByte\r
+ },\r
+\r
+ {\r
+ //\r
+ // Processor SubClass -- Record Type 8: Family\r
+ //\r
+ EFI_PROCESSOR_SUBCLASS_GUID,\r
+ ProcessorFamilyRecordType,\r
+ 4,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION_WITH_OFFSET_SPECIFIED,\r
+ 0x06,\r
+ SmbiosFldTruncateToByte\r
+ },\r
+\r
+ {\r
+ //\r
+ // Processor SubClass -- Record Type 9: Voltage\r
+ //\r
+ EFI_PROCESSOR_SUBCLASS_GUID,\r
+ ProcessorVoltageRecordType,\r
+ 4,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION_WITH_OFFSET_SPECIFIED,\r
+ 0x11,\r
+ SmbiosFldProcessorType9\r
+ },\r
+\r
+ {\r
+ //\r
+ // Processor SubClass -- Record Type 14: Status\r
+ //\r
+ EFI_PROCESSOR_SUBCLASS_GUID,\r
+ ProcessorStatusRecordType,\r
+ 4,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION_WITH_OFFSET_SPECIFIED,\r
+ 0x18,\r
+ SmbiosFldTruncateToByte\r
+ },\r
+\r
+ {\r
+ //\r
+ // Processor SubClass -- Record Type 15: Socket Type\r
+ //\r
+ EFI_PROCESSOR_SUBCLASS_GUID,\r
+ ProcessorSocketTypeRecordType,\r
+ 4,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION_WITH_OFFSET_SPECIFIED,\r
+ 0x19,\r
+ SmbiosFldTruncateToByte\r
+ },\r
+\r
+ {\r
+ //\r
+ // Processor SubClass -- Record Type 16: Socket Name\r
+ //\r
+ EFI_PROCESSOR_SUBCLASS_GUID,\r
+ ProcessorSocketNameRecordType,\r
+ 4,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION_WITH_OFFSET_SPECIFIED,\r
+ 0x04,\r
+ SmbiosFldString\r
+ },\r
+\r
+ {\r
+ //\r
+ // Processor SubClass -- Record Type 17: Cache Associtation\r
+ //\r
+ EFI_PROCESSOR_SUBCLASS_GUID,\r
+ CacheAssociationRecordType,\r
+ 4,\r
+ BY_SUBCLASS_INSTANCE_PRODUCER,\r
+ BY_FUNCTION_WITH_WHOLE_DATA_RECORD,\r
+ 0,\r
+ SmbiosFldProcessorType17\r
+ },\r
+\r
+ {\r
+ //\r
+ // Processor Sub Class -- Record Type 18: MaxFrequency\r
+ //\r
+ EFI_PROCESSOR_SUBCLASS_GUID,\r
+ ProcessorMaxCoreFrequencyRecordType,\r
+ 4,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION_WITH_OFFSET_SPECIFIED,\r
+ 0x14,\r
+ SmbiosFldBase10ToWordWithMega\r
+ },\r
+\r
+ {\r
+ //\r
+ // Processor SubClass -- Record Type 19: Asset Tag\r
+ //\r
+ EFI_PROCESSOR_SUBCLASS_GUID,\r
+ ProcessorAssetTagRecordType,\r
+ 4,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION_WITH_OFFSET_SPECIFIED,\r
+ 0x21,\r
+ SmbiosFldString\r
+ },\r
+\r
+ {\r
+ //\r
+ // Cache SubClass -- Record Type 1: Size\r
+ //\r
+ EFI_CACHE_SUBCLASS_GUID,\r
+ CacheSizeRecordType,\r
+ 7,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION_WITH_OFFSET_SPECIFIED,\r
+ 0x09,\r
+ SmbiosFldBase2ToWordWithKilo\r
+ },\r
+\r
+ {\r
+ //\r
+ // Cache SubClass -- Record Type 2: Max Size\r
+ //\r
+ EFI_CACHE_SUBCLASS_GUID,\r
+ MaximumSizeCacheRecordType,\r
+ 7,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION_WITH_OFFSET_SPECIFIED,\r
+ 0x07,\r
+ SmbiosFldBase2ToWordWithKilo\r
+ },\r
+\r
+ {\r
+ //\r
+ // Cache SubClass -- Record Type 3: Speed\r
+ //\r
+ EFI_CACHE_SUBCLASS_GUID,\r
+ CacheSpeedRecordType,\r
+ 7,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION_WITH_OFFSET_SPECIFIED,\r
+ 0x0f,\r
+ SmbiosFldBase10ToByteWithNano\r
+ },\r
+\r
+ {\r
+ //\r
+ // Cache SubClass -- Record Type 4: Socket\r
+ //\r
+ EFI_CACHE_SUBCLASS_GUID,\r
+ CacheSocketRecordType,\r
+ 7,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION_WITH_OFFSET_SPECIFIED,\r
+ 0x04,\r
+ SmbiosFldString\r
+ },\r
+\r
+ {\r
+ //\r
+ // Cache SubClass -- Record Type 5: Supported SRAM type\r
+ //\r
+ EFI_CACHE_SUBCLASS_GUID,\r
+ CacheSramTypeRecordType,\r
+ 7,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION_WITH_OFFSET_SPECIFIED,\r
+ 0x0b,\r
+ SmbiosFldCacheType5 // Asynchronous and Synchronous are reversed\r
+ },\r
+\r
+ {\r
+ //\r
+ // Cache SubClass -- Record Type 6: Installed SRAM type\r
+ //\r
+ EFI_CACHE_SUBCLASS_GUID,\r
+ CacheInstalledSramTypeRecordType,\r
+ 7,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION_WITH_OFFSET_SPECIFIED,\r
+ 0x0d,\r
+ SmbiosFldCacheType5\r
+ },\r
+\r
+ {\r
+ //\r
+ // Cache SubClass -- Record Type 7: error correction type\r
+ //\r
+ EFI_CACHE_SUBCLASS_GUID,\r
+ CacheErrorTypeRecordType,\r
+ 7,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION_WITH_OFFSET_SPECIFIED,\r
+ 0x10,\r
+ SmbiosFldTruncateToByte\r
+ },\r
+\r
+ {\r
+ //\r
+ // Cache SubClass -- Record Type 8: cache type\r
+ //\r
+ EFI_CACHE_SUBCLASS_GUID,\r
+ CacheTypeRecordType,\r
+ 7,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION_WITH_OFFSET_SPECIFIED,\r
+ 0x11,\r
+ SmbiosFldTruncateToByte\r
+ },\r
+\r
+ {\r
+ //\r
+ // Cache SubClass -- Record Type 9: Associativity\r
+ //\r
+ EFI_CACHE_SUBCLASS_GUID,\r
+ CacheAssociativityRecordType,\r
+ 7,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION_WITH_OFFSET_SPECIFIED,\r
+ 0x12,\r
+ SmbiosFldTruncateToByte\r
+ },\r
+\r
+ {\r
+ //\r
+ // Cache SubClass -- Record Type 10: Cache configuration\r
+ //\r
+ EFI_CACHE_SUBCLASS_GUID,\r
+ CacheConfigRecordType,\r
+ 7,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION_WITH_OFFSET_SPECIFIED,\r
+ 0x05,\r
+ SmbiosFldCacheType10\r
+ },\r
+\r
+ {\r
+ //\r
+ // Memory SubClass -- Record Type 2: Physical Memory Array\r
+ //\r
+ EFI_MEMORY_SUBCLASS_GUID,\r
+ EFI_MEMORY_ARRAY_LOCATION_RECORD_NUMBER,\r
+ 16,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION,\r
+ 0,\r
+ SmbiosFldMemoryType2\r
+ },\r
+\r
+ {\r
+ //\r
+ // Memory SubClass -- Record Type 3: Memory Device to SMBIOS type 6\r
+ //\r
+ EFI_MEMORY_SUBCLASS_GUID,\r
+ EFI_MEMORY_ARRAY_LINK_RECORD_NUMBER,\r
+ 6,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION,\r
+ 0,\r
+ SmbiosFldSMBIOSType6\r
+ },\r
+\r
+ {\r
+ //\r
+ // Memory SubClass -- Record Type 3: Memory Device to SMBIOS type 17\r
+ //\r
+ EFI_MEMORY_SUBCLASS_GUID,\r
+ EFI_MEMORY_ARRAY_LINK_RECORD_NUMBER,\r
+ 17,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION,\r
+ 0,\r
+ SmbiosFldMemoryType3\r
+ },\r
+\r
+ {\r
+ //\r
+ // Memory SubClass -- Record Type 4: Memory Array Mapped Address\r
+ //\r
+ EFI_MEMORY_SUBCLASS_GUID,\r
+ EFI_MEMORY_ARRAY_START_ADDRESS_RECORD_NUMBER,\r
+ 19,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION,\r
+ 0,\r
+ SmbiosFldMemoryType4\r
+ },\r
+\r
+ {\r
+ //\r
+ // Memory SubClass -- Record Type 5: Memory Device Mapped Address\r
+ //\r
+ EFI_MEMORY_SUBCLASS_GUID,\r
+ EFI_MEMORY_DEVICE_START_ADDRESS_RECORD_NUMBER,\r
+ 20,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION,\r
+ 0,\r
+ SmbiosFldMemoryType5\r
+ },\r
+\r
+ {\r
+ //\r
+ // Memory SubClass -- Record Type 6: Memory Channel Type\r
+ //\r
+ EFI_MEMORY_SUBCLASS_GUID,\r
+ EFI_MEMORY_CHANNEL_TYPE_RECORD_NUMBER,\r
+ 37,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION,\r
+ 0,\r
+ SmbiosFldMemoryType6\r
+ },\r
+\r
+ {\r
+ //\r
+ // Memory SubClass -- Record Type 7: Memory Channel Device\r
+ //\r
+ EFI_MEMORY_SUBCLASS_GUID,\r
+ EFI_MEMORY_CHANNEL_DEVICE_RECORD_NUMBER,\r
+ 37,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION,\r
+ 0,\r
+ SmbiosFldMemoryType7\r
+ },\r
+\r
+ {\r
+ //\r
+ // Memory SubClass -- Record Type 8: Memory Controller information\r
+ //\r
+ EFI_MEMORY_SUBCLASS_GUID,\r
+ EFI_MEMORY_CONTROLLER_INFORMATION_RECORD_NUMBER,\r
+ 5,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION,\r
+ 0,\r
+ SmbiosFldMemoryType8\r
+ },\r
+\r
+ {\r
+ //\r
+ // Memory SubClass -- Record Type 9: Memory 32 Bit Error Information\r
+ //\r
+ EFI_MEMORY_SUBCLASS_GUID,\r
+ EFI_MEMORY_32BIT_ERROR_INFORMATION_RECORD_NUMBER,\r
+ 18,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION,\r
+ 0,\r
+ SmbiosFldMemoryType9\r
+ },\r
+\r
+ {\r
+ //\r
+ // Memory SubClass -- Record Type 10: Memory 64 Bit Error Information\r
+ //\r
+ EFI_MEMORY_SUBCLASS_GUID,\r
+ EFI_MEMORY_64BIT_ERROR_INFORMATION_RECORD_NUMBER,\r
+ 33,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION,\r
+ 0,\r
+ SmbiosFldMemoryType10\r
+ },\r
+\r
+ {\r
+ //\r
+ // Misc SubClass -- Record Type 2: Bios Information (SMBIOS Type 0)\r
+ //\r
+ EFI_MISC_SUBCLASS_GUID,\r
+ EFI_MISC_BIOS_VENDOR_RECORD_NUMBER, // 0,\r
+ 0, // smbios Type 0\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION,\r
+ 0,\r
+ SmbiosFldMiscType0\r
+ },\r
+\r
+ {\r
+ //\r
+ // Misc SubClass -- Record Type 3: System Information (SMBIOS Type 1)\r
+ //\r
+ EFI_MISC_SUBCLASS_GUID,\r
+ EFI_MISC_SYSTEM_MANUFACTURER_RECORD_NUMBER, // 1,\r
+ 1,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION,\r
+ 0,\r
+ SmbiosFldMiscType1\r
+ },\r
+\r
+ {\r
+ //\r
+ // Misc SubClass -- Record Type 4: Base Board Manufacturer (SMBIOS Type 2)\r
+ //\r
+ EFI_MISC_SUBCLASS_GUID,\r
+ EFI_MISC_BASE_BOARD_MANUFACTURER_RECORD_NUMBER, // 2,\r
+ 2, // SMBIOS Type 2\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION,\r
+ 0,\r
+ SmbiosFldMiscType2\r
+ },\r
+\r
+ {\r
+ //\r
+ // Misc SubClass -- Record Type 5: System Enclosure or Chassis (SMBIOS Type 3)\r
+ //\r
+ EFI_MISC_SUBCLASS_GUID,\r
+ EFI_MISC_CHASSIS_MANUFACTURER_RECORD_NUMBER, // 3,\r
+ 3,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION,\r
+ 0,\r
+ SmbiosFldMiscType3\r
+ },\r
+\r
+ {\r
+ //\r
+ // Misc SubClass -- Record Type 6: Port Connector (SMBIOS Type 8)\r
+ //\r
+ EFI_MISC_SUBCLASS_GUID,\r
+ EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_RECORD_NUMBER, // 8,\r
+ 8,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION,\r
+ 0,\r
+ SmbiosFldMiscType8\r
+ },\r
+\r
+ {\r
+ //\r
+ // Misc SubClass -- Record Type 7: System Slots (SMBIOS Type 9)\r
+ //\r
+ EFI_MISC_SUBCLASS_GUID,\r
+ EFI_MISC_SYSTEM_SLOT_DESIGNATION_RECORD_NUMBER, // 9,\r
+ 9,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION,\r
+ 0,\r
+ SmbiosFldMiscType9\r
+ },\r
+\r
+ {\r
+ //\r
+ // Misc SubClass -- Record Type 8: Onboard Device (SMBIOS Type 10)\r
+ //\r
+ EFI_MISC_SUBCLASS_GUID,\r
+ EFI_MISC_ONBOARD_DEVICE_RECORD_NUMBER, // 10,\r
+ 10,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION,\r
+ 0,\r
+ SmbiosFldMiscType10\r
+ },\r
+\r
+ {\r
+ //\r
+ // Misc Subclass -- Record Type 9: OEM strings (SMBIOS Type 11)\r
+ //\r
+ EFI_MISC_SUBCLASS_GUID,\r
+ EFI_MISC_OEM_STRING_RECORD_NUMBER, // 11,\r
+ 11,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION,\r
+ 0,\r
+ SmbiosFldMiscType11\r
+ },\r
+\r
+ {\r
+ //\r
+ // Misc SubClass -- Record Type 0A: System Options (SMBIOS Type 12)\r
+ //\r
+ EFI_MISC_SUBCLASS_GUID,\r
+ EFI_MISC_SYSTEM_OPTION_STRING_RECORD_NUMBER, // 12,\r
+ 12,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION,\r
+ 0,\r
+ SmbiosFldMiscType12\r
+ },\r
+\r
+ {\r
+ //\r
+ // Misc SubClass -- Record Type 0B: Number of Installable Languages (SMBIOS Type 13)\r
+ //\r
+ EFI_MISC_SUBCLASS_GUID,\r
+ EFI_MISC_NUMBER_OF_INSTALLABLE_LANGUAGES_RECORD_NUMBER, // 13,\r
+ 13,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION,\r
+ 0,\r
+ SmbiosFldMiscType13\r
+ },\r
+\r
+ {\r
+ //\r
+ // Misc SubClass -- Record Type 0C: Installable Languages (SMBIOS Type 13)\r
+ //\r
+ EFI_MISC_SUBCLASS_GUID,\r
+ EFI_MISC_SYSTEM_LANGUAGE_STRING_RECORD_NUMBER, // 13,\r
+ 13,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION,\r
+ 0,\r
+ SmbiosFldMiscType14\r
+ },\r
+\r
+ {\r
+ //\r
+ // Misc SubClass -- Record Type 20: System Event Log (SMBIOS Type 15)\r
+ //\r
+ EFI_MISC_SUBCLASS_GUID,\r
+ EFI_MISC_SYSTEM_EVENT_LOG_RECORD_NUMBER, // 15,\r
+ 15,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION,\r
+ 0,\r
+ SmbiosFldMiscType15\r
+ }, \r
+ \r
+ {\r
+ //\r
+ // Misc SubClass -- Record Type 0F: Pointing Device (SMBIOS Type 21)\r
+ //\r
+ EFI_MISC_SUBCLASS_GUID,\r
+ EFI_MISC_POINTING_DEVICE_TYPE_RECORD_NUMBER, // 21,\r
+ 21,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION,\r
+ 0,\r
+ SmbiosFldMiscType21\r
+ },\r
+\r
+ {\r
+ //\r
+ // Misc SubClass -- Record Type 10: Portable Battery (SMBIOS Type 22)\r
+ //\r
+ EFI_MISC_SUBCLASS_GUID,\r
+ EFI_MISC_PORTABLE_BATTERY_RECORD_NUMBER, // 22,\r
+ 22,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION,\r
+ 0,\r
+ SmbiosFldMiscType22\r
+ }, \r
+\r
+ {\r
+ //\r
+ // Misc SubClass -- Record Type 0x11: Reset Capabilities (SMBIOS Type 23)\r
+ //\r
+ EFI_MISC_SUBCLASS_GUID,\r
+ EFI_MISC_RESET_CAPABILITIES_RECORD_NUMBER, // 23,\r
+ 23,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION,\r
+ 0,\r
+ SmbiosFldMiscType23\r
+ },\r
+\r
+ {\r
+ //\r
+ // Misc SubClass -- Record Type 0x12: Hardware Security (SMBIOS Type 24)\r
+ //\r
+ EFI_MISC_SUBCLASS_GUID,\r
+ EFI_MISC_HARDWARE_SECURITY_SETTINGS_DATA_RECORD_NUMBER, // 24,\r
+ 24,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION,\r
+ 0,\r
+ SmbiosFldMiscType24\r
+ },\r
+\r
+ {\r
+ //\r
+ // Misc SubClass -- Record Type 0x13: System Power Controls (SMBIOS Type 25)\r
+ //\r
+ EFI_MISC_SUBCLASS_GUID,\r
+ EFI_MISC_SCHEDULED_POWER_ON_MONTH_RECORD_NUMBER, // 25,\r
+ 25,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION,\r
+ 0,\r
+ SmbiosFldMiscType25\r
+ },\r
+\r
+ {\r
+ //\r
+ // Misc SubClass -- Record Type 0x14: System Power Controls (SMBIOS Type 26)\r
+ //\r
+ EFI_MISC_SUBCLASS_GUID,\r
+ EFI_MISC_VOLTAGE_PROBE_DESCRIPTION_RECORD_NUMBER, // 26,\r
+ 26,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION,\r
+ 0,\r
+ SmbiosFldMiscType26\r
+ },\r
+\r
+ {\r
+ //\r
+ // Misc SubClass -- Record Type 0x15: Cooling Device (SMBIOS Type 27)\r
+ //\r
+ EFI_MISC_SUBCLASS_GUID,\r
+ EFI_MISC_COOLING_DEVICE_TEMP_LINK_RECORD_NUMBER, // 27,\r
+ 27,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION,\r
+ 0,\r
+ SmbiosFldMiscType27\r
+ },\r
+\r
+ {\r
+ //\r
+ // Misc SubClass -- Record Type 0x16: Temperature Probe (SMBIOS Type 28)\r
+ //\r
+ EFI_MISC_SUBCLASS_GUID,\r
+ EFI_MISC_TEMPERATURE_PROBE_DESCRIPTION_RECORD_NUMBER, // 28,\r
+ 28,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION,\r
+ 0,\r
+ SmbiosFldMiscType28\r
+ },\r
+\r
+ {\r
+ //\r
+ // Misc SubClass -- Record Type 0x17: Electrical Current Probe (SMBIOS Type 29)\r
+ //\r
+ EFI_MISC_SUBCLASS_GUID,\r
+ EFI_MISC_ELECTRICAL_CURRENT_PROBE_DESCRIPTION_RECORD_NUMBER, // 29,\r
+ 29,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION,\r
+ 0,\r
+ SmbiosFldMiscType29\r
+ },\r
+\r
+ {\r
+ //\r
+ // Misc SubClass -- Record Type 0x18: Temperature Probe (SMBIOS Type 30)\r
+ //\r
+ EFI_MISC_SUBCLASS_GUID,\r
+ EFI_MISC_REMOTE_ACCESS_MANUFACTURER_DESCRIPTION_RECORD_NUMBER, // 30,\r
+ 30,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION,\r
+ 0,\r
+ SmbiosFldMiscType30\r
+ },\r
+\r
+ {\r
+ //\r
+ // Misc SubClass -- Record Type 0x1A: Boot Information (SMBIOS Type 32)\r
+ //\r
+ EFI_MISC_SUBCLASS_GUID,\r
+ EFI_MISC_BOOT_INFORMATION_STATUS_RECORD_NUMBER, // 32,\r
+ 32,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION,\r
+ 0,\r
+ SmbiosFldMiscType32\r
+ },\r
+\r
+ {\r
+ //\r
+ // Misc SubClass -- Record Type 0x1B: Management Device (SMBIOS Type 34)\r
+ //\r
+ EFI_MISC_SUBCLASS_GUID,\r
+ EFI_MISC_MANAGEMENT_DEVICE_DESCRIPTION_RECORD_NUMBER, // 34,\r
+ 34,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION,\r
+ 0,\r
+ SmbiosFldMiscType34\r
+ },\r
+\r
+ {\r
+ //\r
+ // Misc SubClass -- Record Type 0x21: Management Device Threshold (SMBIOS Type 36)\r
+ //\r
+ EFI_MISC_SUBCLASS_GUID,\r
+ EFI_MISC_MANAGEMENT_DEVICE_THRESHOLD_RECORD_NUMBER, // 36,\r
+ 36,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION,\r
+ 0,\r
+ SmbiosFldMiscType36\r
+ },\r
+\r
+ {\r
+ //\r
+ // Misc SubClass -- Record Type 0x1D: Boot Information (SMBIOS Type 38)\r
+ //\r
+ EFI_MISC_SUBCLASS_GUID,\r
+ EFI_MISC_IPMI_INTERFACE_TYPE_RECORD_NUMBER, // 38,\r
+ 38,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION,\r
+ 0,\r
+ SmbiosFldMiscType38\r
+ },\r
+\r
+ {\r
+ //\r
+ // Misc SubClass -- Record Type 0x1E: Power supply (SMBIOS Type 39)\r
+ //\r
+ EFI_MISC_SUBCLASS_GUID,\r
+ EFI_MISC_SYSTEM_POWER_SUPPLY_RECORD_NUMBER, // 39,\r
+ 39,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION,\r
+ 0,\r
+ SmbiosFldMiscType39\r
+ },\r
+\r
+ {\r
+ //\r
+ // Misc SubClass -- Record Type 0x80-0xFF: OEM type\r
+ //\r
+ EFI_MISC_SUBCLASS_GUID,\r
+ EFI_MISC_SMBIOS_STRUCT_ENCAP_RECORD_NUMBER, // 0x80,\r
+ 0x80,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION,\r
+ 0,\r
+ SmbiosFldMiscTypeOEM\r
+ },\r
+\r
+ {\r
+ //\r
+ // End-of-Table -- Record Type 127\r
+ //\r
+ EFI_MISC_SUBCLASS_GUID,\r
+ 127,\r
+ 127,\r
+ BY_SUBCLASS_INSTANCE_SUBINSTANCE_PRODUCER,\r
+ BY_FUNCTION,\r
+ 0,\r
+ SmbiosFldMiscType127\r
+ },\r
+ //\r
+ // Table Terminator\r
+ //\r
+ {\r
+ {0, 0, 0, {0, 0, 0, 0, 0, 0, 0, 0}},\r
+ 0,\r
+ 0,\r
+ (SMBIOS_STRUCTURE_LOCATING_METHOD) 0,\r
+ (SMBIOS_FIELD_FILLING_METHOD) 0,\r
+ 0,\r
+ 0\r
+ }\r
+};\r