+++ /dev/null
-/*++\r
- \r
-Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.<BR>\r
-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
-Module Name:\r
-\r
- DataHubSubClassMisc.h\r
- \r
-Abstract:\r
-\r
- Definitions for Misc sub class data records\r
-\r
-Revision History\r
-\r
---*/\r
-\r
-#ifndef _DATAHUB_SUBCLASS_MISC_H_\r
-#define _DATAHUB_SUBCLASS_MISC_H_\r
-\r
-#include EFI_GUID_DEFINITION(DataHubRecords)\r
-\r
-#define EFI_MISC_SUBCLASS_GUID \\r
-{ 0x772484B2, 0x7482, 0x4b91, {0x9F, 0x9A, 0xAD, 0x43, 0xF8, 0x1C, 0x58, 0x81} }\r
-\r
-#define EFI_MISC_SUBCLASS_VERSION 0x0100\r
-\r
-#pragma pack(1)\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Last PCI Bus Number\r
-//\r
-#define EFI_MISC_LAST_PCI_BUS_RECORD_NUMBER 0x00000001\r
-\r
-typedef struct {\r
- UINT8 LastPciBus;\r
-} EFI_MISC_LAST_PCI_BUS;\r
-\r
-typedef struct {\r
- UINT8 FunctionNum :3;\r
- UINT8 DeviceNum :5;\r
-} EFI_MISC_DEV_FUNC_NUM;\r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. BIOS Vendor - SMBIOS Type 0\r
-//\r
-#define EFI_MISC_BIOS_VENDOR_RECORD_NUMBER 0x00000002\r
-\r
-typedef struct {\r
- UINT32 Reserved1 :2;\r
- UINT32 Unknown :1;\r
- UINT32 BiosCharacteristicsNotSupported :1;\r
- UINT32 IsaIsSupported :1;\r
- UINT32 McaIsSupported :1;\r
- UINT32 EisaIsSupported :1;\r
- UINT32 PciIsSupported :1;\r
- UINT32 PcmciaIsSupported :1;\r
- UINT32 PlugAndPlayIsSupported :1;\r
- UINT32 ApmIsSupported :1;\r
- UINT32 BiosIsUpgradable :1;\r
- UINT32 BiosShadowingAllowed :1;\r
- UINT32 VlVesaIsSupported :1;\r
- UINT32 EscdSupportIsAvailable :1;\r
- UINT32 BootFromCdIsSupported :1;\r
- UINT32 SelectableBootIsSupported :1;\r
- UINT32 RomBiosIsSocketed :1;\r
- UINT32 BootFromPcmciaIsSupported :1;\r
- UINT32 EDDSpecificationIsSupported :1;\r
- UINT32 JapaneseNecFloppyIsSupported :1;\r
- UINT32 JapaneseToshibaFloppyIsSupported :1;\r
- UINT32 Floppy525_360IsSupported :1;\r
- UINT32 Floppy525_12IsSupported :1;\r
- UINT32 Floppy35_720IsSupported :1;\r
- UINT32 Floppy35_288IsSupported :1;\r
- UINT32 PrintScreenIsSupported :1;\r
- UINT32 Keyboard8042IsSupported :1;\r
- UINT32 SerialIsSupported :1;\r
- UINT32 PrinterIsSupported :1;\r
- UINT32 CgaMonoIsSupported :1;\r
- UINT32 NecPc98 :1;\r
- UINT32 AcpiIsSupported :1;\r
- UINT32 UsbLegacyIsSupported :1;\r
- UINT32 AgpIsSupported :1;\r
- UINT32 I20BootIsSupported :1;\r
- UINT32 Ls120BootIsSupported :1;\r
- UINT32 AtapiZipDriveBootIsSupported :1;\r
- UINT32 Boot1394IsSupported :1;\r
- UINT32 SmartBatteryIsSupported :1;\r
- UINT32 BiosBootSpecIsSupported :1;\r
- UINT32 FunctionKeyNetworkBootIsSupported :1;\r
- UINT32 TargetContentDistributionEnabled :1; \r
- UINT32 Reserved :21;\r
-} EFI_MISC_BIOS_CHARACTERISTICS;\r
-\r
-typedef struct {\r
- UINT32 BiosReserved :16;\r
- UINT32 SystemReserved :16;\r
- UINT32 Reserved :32;\r
-} EFI_MISC_BIOS_CHARACTERISTICS_EXTENSION;\r
-\r
-typedef struct {\r
- STRING_REF BiosVendor;\r
- STRING_REF BiosVersion;\r
- STRING_REF BiosReleaseDate;\r
- EFI_PHYSICAL_ADDRESS BiosStartingAddress;\r
- EFI_EXP_BASE2_DATA BiosPhysicalDeviceSize;\r
- EFI_MISC_BIOS_CHARACTERISTICS BiosCharacteristics1;\r
- EFI_MISC_BIOS_CHARACTERISTICS_EXTENSION BiosCharacteristics2;\r
- UINT8 BiosMajorRelease;\r
- UINT8 BiosMinorRelease;\r
- UINT8 BiosEmbeddedFirmwareMajorRelease;\r
- UINT8 BiosEmbeddedFirmwareMinorRelease;\r
-} EFI_MISC_BIOS_VENDOR; \r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. System Manufacturer - SMBIOS Type 1\r
-//\r
-#define EFI_MISC_SYSTEM_MANUFACTURER_RECORD_NUMBER 0x00000003\r
-\r
-typedef enum { \r
- EfiSystemWakeupTypeReserved = 0,\r
- EfiSystemWakeupTypeOther = 1,\r
- EfiSystemWakeupTypeUnknown = 2,\r
- EfiSystemWakeupTypeApmTimer = 3,\r
- EfiSystemWakeupTypeModemRing = 4,\r
- EfiSystemWakeupTypeLanRemote = 5,\r
- EfiSystemWakeupTypePowerSwitch = 6,\r
- EfiSystemWakeupTypePciPme = 7,\r
- EfiSystemWakeupTypeAcPowerRestored = 8\r
-} EFI_MISC_SYSTEM_WAKEUP_TYPE;\r
-\r
-typedef struct {\r
- STRING_REF SystemManufacturer;\r
- STRING_REF SystemProductName;\r
- STRING_REF SystemVersion;\r
- STRING_REF SystemSerialNumber;\r
- EFI_GUID SystemUuid;\r
- EFI_MISC_SYSTEM_WAKEUP_TYPE SystemWakeupType;\r
- STRING_REF SystemSKUNumber;\r
- STRING_REF SystemFamily;\r
-} EFI_MISC_SYSTEM_MANUFACTURER; \r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. Base Board Manufacturer - SMBIOS Type 2\r
-//\r
-#define EFI_MISC_BASE_BOARD_MANUFACTURER_RECORD_NUMBER 0x00000004\r
-\r
-typedef struct {\r
- UINT32 Motherboard :1;\r
- UINT32 RequiresDaughterCard :1;\r
- UINT32 Removable :1;\r
- UINT32 Replaceable :1;\r
- UINT32 HotSwappable :1;\r
- UINT32 Reserved :27;\r
-} EFI_BASE_BOARD_FEATURE_FLAGS;\r
-\r
-typedef enum { \r
- EfiBaseBoardTypeUnknown = 1,\r
- EfiBaseBoardTypeOther = 2,\r
- EfiBaseBoardTypeServerBlade = 3,\r
- EfiBaseBoardTypeConnectivitySwitch = 4,\r
- EfiBaseBoardTypeSystemManagementModule = 5,\r
- EfiBaseBoardTypeProcessorModule = 6,\r
- EfiBaseBoardTypeIOModule = 7,\r
- EfiBaseBoardTypeMemoryModule = 8,\r
- EfiBaseBoardTypeDaughterBoard = 9,\r
- EfiBaseBoardTypeMotherBoard = 0xA,\r
- EfiBaseBoardTypeProcessorMemoryModule = 0xB,\r
- EfiBaseBoardTypeProcessorIOModule = 0xC,\r
- EfiBaseBoardTypeInterconnectBoard = 0xD\r
-} EFI_BASE_BOARD_TYPE;\r
-\r
-typedef struct {\r
- STRING_REF BaseBoardManufacturer;\r
- STRING_REF BaseBoardProductName;\r
- STRING_REF BaseBoardVersion;\r
- STRING_REF BaseBoardSerialNumber;\r
- STRING_REF BaseBoardAssetTag;\r
- STRING_REF BaseBoardChassisLocation;\r
- EFI_BASE_BOARD_FEATURE_FLAGS BaseBoardFeatureFlags;\r
- EFI_BASE_BOARD_TYPE BaseBoardType;\r
- EFI_INTER_LINK_DATA BaseBoardChassisLink;\r
- UINT32 BaseBoardNumberLinks;\r
- EFI_INTER_LINK_DATA LinkN;\r
-} EFI_MISC_BASE_BOARD_MANUFACTURER; \r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. System/Chassis Enclosure - SMBIOS Type 3\r
-//\r
-#define EFI_MISC_CHASSIS_MANUFACTURER_RECORD_NUMBER 0x00000005\r
-\r
-typedef enum { \r
- EfiMiscChassisTypeOther = 0x1,\r
- EfiMiscChassisTypeUnknown = 0x2,\r
- EfiMiscChassisTypeDeskTop = 0x3,\r
- EfiMiscChassisTypeLowProfileDesktop = 0x4,\r
- EfiMiscChassisTypePizzaBox = 0x5,\r
- EfiMiscChassisTypeMiniTower = 0x6,\r
- EfiMiscChassisTypeTower = 0x7,\r
- EfiMiscChassisTypePortable = 0x8,\r
- EfiMiscChassisTypeLapTop = 0x9,\r
- EfiMiscChassisTypeNotebook = 0xA,\r
- EfiMiscChassisTypeHandHeld = 0xB,\r
- EfiMiscChassisTypeDockingStation = 0xC,\r
- EfiMiscChassisTypeAllInOne = 0xD,\r
- EfiMiscChassisTypeSubNotebook = 0xE,\r
- EfiMiscChassisTypeSpaceSaving = 0xF,\r
- EfiMiscChassisTypeLunchBox = 0x10,\r
- EfiMiscChassisTypeMainServerChassis = 0x11,\r
- EfiMiscChassisTypeExpansionChassis = 0x12,\r
- EfiMiscChassisTypeSubChassis = 0x13,\r
- EfiMiscChassisTypeBusExpansionChassis = 0x14,\r
- EfiMiscChassisTypePeripheralChassis = 0x15,\r
- EfiMiscChassisTypeRaidChassis = 0x16,\r
- EfiMiscChassisTypeRackMountChassis = 0x17,\r
- EfiMiscChassisTypeSealedCasePc = 0x18,\r
- EfiMiscChassisMultiSystemChassis = 0x19,\r
- EfiMiscChassisCompactPCI = 0x1A,\r
- EfiMiscChassisAdvancedTCA = 0x1B,\r
- EfiMiscChassisBlade = 0x1C,\r
- EfiMiscChassisBladeEnclosure = 0x1D\r
-} EFI_MISC_CHASSIS_TYPE;\r
-\r
-typedef struct {\r
- UINT32 ChassisType :16;\r
- UINT32 ChassisLockPresent:1;\r
- UINT32 Reserved :15;\r
-} EFI_MISC_CHASSIS_STATUS;\r
-\r
-typedef enum { \r
- EfiChassisStateOther = 1,\r
- EfiChassisStateUnknown = 2,\r
- EfiChassisStateSafe = 3,\r
- EfiChassisStateWarning = 4,\r
- EfiChassisStateCritical = 5,\r
- EfiChassisStateNonRecoverable = 6\r
-} EFI_MISC_CHASSIS_STATE;\r
-\r
-typedef enum { \r
- EfiChassisSecurityStatusOther = 1,\r
- EfiChassisSecurityStatusUnknown = 2,\r
- EfiChassisSecurityStatusNone = 3,\r
- EfiChassisSecurityStatusExternalInterfaceLockedOut = 4,\r
- EfiChassisSecurityStatusExternalInterfaceLockedEnabled = 5\r
-} EFI_MISC_CHASSIS_SECURITY_STATE;\r
-\r
-typedef struct {\r
- UINT32 RecordType :1;\r
- UINT32 Type :7;\r
- UINT32 Reserved :24;\r
-} EFI_MISC_ELEMENT_TYPE;\r
-\r
-typedef struct {\r
- EFI_MISC_ELEMENT_TYPE ChassisElementType;\r
- EFI_INTER_LINK_DATA ChassisElementStructure;\r
- EFI_BASE_BOARD_TYPE ChassisBaseBoard;\r
- UINT32 ChassisElementMinimum;\r
- UINT32 ChassisElementMaximum;\r
-} EFI_MISC_ELEMENTS; \r
-\r
-typedef struct {\r
- STRING_REF ChassisManufacturer;\r
- STRING_REF ChassisVersion;\r
- STRING_REF ChassisSerialNumber;\r
- STRING_REF ChassisAssetTag;\r
- EFI_MISC_CHASSIS_STATUS ChassisType;\r
- EFI_MISC_CHASSIS_STATE ChassisBootupState;\r
- EFI_MISC_CHASSIS_STATE ChassisPowerSupplyState;\r
- EFI_MISC_CHASSIS_STATE ChassisThermalState;\r
- EFI_MISC_CHASSIS_SECURITY_STATE ChassisSecurityState;\r
- UINT32 ChassisOemDefined;\r
- UINT32 ChassisHeight;\r
- UINT32 ChassisNumberPowerCords;\r
- UINT32 ChassisElementCount;\r
- UINT32 ChassisElementRecordLength;//\r
- EFI_MISC_ELEMENTS ChassisElements;\r
-} EFI_MISC_CHASSIS_MANUFACTURER;\r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. Port Connector Information - SMBIOS Type 8\r
-//\r
-#define EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_RECORD_NUMBER 0x00000006\r
-\r
-typedef enum { \r
- EfiPortConnectorTypeNone = 0x0,\r
- EfiPortConnectorTypeCentronics = 0x1,\r
- EfiPortConnectorTypeMiniCentronics = 0x2,\r
- EfiPortConnectorTypeProprietary = 0x3,\r
- EfiPortConnectorTypeDB25Male = 0x4,\r
- EfiPortConnectorTypeDB25Female = 0x5,\r
- EfiPortConnectorTypeDB15Male = 0x6,\r
- EfiPortConnectorTypeDB15Female = 0x7,\r
- EfiPortConnectorTypeDB9Male = 0x8,\r
- EfiPortConnectorTypeDB9Female = 0x9,\r
- EfiPortConnectorTypeRJ11 = 0xA,\r
- EfiPortConnectorTypeRJ45 = 0xB,\r
- EfiPortConnectorType50PinMiniScsi = 0xC,\r
- EfiPortConnectorTypeMiniDin = 0xD,\r
- EfiPortConnectorTypeMicriDin = 0xE,\r
- EfiPortConnectorTypePS2 = 0xF,\r
- EfiPortConnectorTypeInfrared = 0x10,\r
- EfiPortConnectorTypeHpHil = 0x11,\r
- EfiPortConnectorTypeUsb = 0x12,\r
- EfiPortConnectorTypeSsaScsi = 0x13,\r
- EfiPortConnectorTypeCircularDin8Male = 0x14,\r
- EfiPortConnectorTypeCircularDin8Female = 0x15,\r
- EfiPortConnectorTypeOnboardIde = 0x16,\r
- EfiPortConnectorTypeOnboardFloppy = 0x17,\r
- EfiPortConnectorType9PinDualInline = 0x18,\r
- EfiPortConnectorType25PinDualInline = 0x19,\r
- EfiPortConnectorType50PinDualInline = 0x1A,\r
- EfiPortConnectorType68PinDualInline = 0x1B,\r
- EfiPortConnectorTypeOnboardSoundInput = 0x1C,\r
- EfiPortConnectorTypeMiniCentronicsType14 = 0x1D,\r
- EfiPortConnectorTypeMiniCentronicsType26 = 0x1E,\r
- EfiPortConnectorTypeHeadPhoneMiniJack = 0x1F,\r
- EfiPortConnectorTypeBNC = 0x20,\r
- EfiPortConnectorType1394 = 0x21,\r
- EfiPortConnectorTypeSasSata = 0x22,\r
- EfiPortConnectorTypePC98 = 0xA0,\r
- EfiPortConnectorTypePC98Hireso = 0xA1,\r
- EfiPortConnectorTypePCH98 = 0xA2,\r
- EfiPortConnectorTypePC98Note = 0xA3,\r
- EfiPortConnectorTypePC98Full = 0xA4,\r
- EfiPortConnectorTypeOther = 0xFF\r
-} EFI_MISC_PORT_CONNECTOR_TYPE;\r
-\r
-typedef enum { \r
- EfiPortTypeNone = 0x0,\r
- EfiPortTypeParallelXtAtCompatible = 0x1,\r
- EfiPortTypeParallelPortPs2 = 0x2,\r
- EfiPortTypeParallelPortEcp = 0x3,\r
- EfiPortTypeParallelPortEpp = 0x4,\r
- EfiPortTypeParallelPortEcpEpp = 0x5,\r
- EfiPortTypeSerialXtAtCompatible = 0x6,\r
- EfiPortTypeSerial16450Compatible = 0x7,\r
- EfiPortTypeSerial16550Compatible = 0x8,\r
- EfiPortTypeSerial16550ACompatible = 0x9,\r
- EfiPortTypeScsi = 0xA,\r
- EfiPortTypeMidi = 0xB,\r
- EfiPortTypeJoyStick = 0xC,\r
- EfiPortTypeKeyboard = 0xD,\r
- EfiPortTypeMouse = 0xE,\r
- EfiPortTypeSsaScsi = 0xF,\r
- EfiPortTypeUsb = 0x10,\r
- EfiPortTypeFireWire = 0x11,\r
- EfiPortTypePcmciaTypeI = 0x12,\r
- EfiPortTypePcmciaTypeII = 0x13,\r
- EfiPortTypePcmciaTypeIII = 0x14,\r
- EfiPortTypeCardBus = 0x15,\r
- EfiPortTypeAccessBusPort = 0x16,\r
- EfiPortTypeScsiII = 0x17,\r
- EfiPortTypeScsiWide = 0x18,\r
- EfiPortTypePC98 = 0x19,\r
- EfiPortTypePC98Hireso = 0x1A,\r
- EfiPortTypePCH98 = 0x1B,\r
- EfiPortTypeVideoPort = 0x1C,\r
- EfiPortTypeAudioPort = 0x1D,\r
- EfiPortTypeModemPort = 0x1E,\r
- EfiPortTypeNetworkPort = 0x1F,\r
- EfiPortTypeSata = 0x20,\r
- EfiPortTypeSas = 0x21,\r
- EfiPortType8251Compatible = 0xA0,\r
- EfiPortType8251FifoCompatible = 0xA1,\r
- EfiPortTypeOther = 0xFF\r
-} EFI_MISC_PORT_TYPE;\r
-\r
-\r
-typedef struct {\r
- EFI_STRING_TOKEN PortInternalConnectorDesignator;\r
- EFI_STRING_TOKEN PortExternalConnectorDesignator;\r
- EFI_MISC_PORT_CONNECTOR_TYPE PortInternalConnectorType;\r
- EFI_MISC_PORT_CONNECTOR_TYPE PortExternalConnectorType;\r
- EFI_MISC_PORT_TYPE PortType;\r
- EFI_MISC_PORT_DEVICE_PATH PortPath;\r
-} EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR; \r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. System Slots - SMBIOS Type 9\r
-//\r
-#define EFI_MISC_SYSTEM_SLOT_DESIGNATION_RECORD_NUMBER 0x00000007\r
-\r
-typedef enum { \r
- EfiSlotTypeOther = 0x1,\r
- EfiSlotTypeUnknown = 0x2,\r
- EfiSlotTypeIsa = 0x3,\r
- EfiSlotTypeMca = 0x4,\r
- EfiSlotTypeEisa = 0x5,\r
- EfiSlotTypePci = 0x6,\r
- EfiSlotTypePcmcia = 0x7,\r
- EfiSlotTypeVlVesa = 0x8,\r
- EfiSlotTypeProprietary = 0x9,\r
- EfiSlotTypeProcessorCardSlot = 0xA,\r
- EfiSlotTypeProprietaryMemoryCardSlot = 0xB,\r
- EfiSlotTypeIORiserCardSlot = 0xC,\r
- EfiSlotTypeNuBus = 0xD,\r
- EfiSlotTypePci66MhzCapable = 0xE,\r
- EfiSlotTypeAgp = 0xF,\r
- EfiSlotTypeApg2X = 0x10,\r
- EfiSlotTypeAgp4X = 0x11,\r
- EfiSlotTypePciX = 0x12,\r
- EfiSlotTypeAgp8X = 0x13,\r
- EfiSlotTypePC98C20 = 0xA0,\r
- EfiSlotTypePC98C24 = 0xA1,\r
- EfiSlotTypePC98E = 0xA2,\r
- EfiSlotTypePC98LocalBus = 0xA3,\r
- EfiSlotTypePC98Card = 0xA4,\r
- EfiSlotTypePciExpress = 0xA5,\r
- EfiSlotTypePciExpressX1 = 0xA6,\r
- EfiSlotTypePciExpressX2 = 0xA7,\r
- EfiSlotTypePciExpressX4 = 0xA8,\r
- EfiSlotTypePciExpressX8 = 0xA9,\r
- EfiSlotTypePciExpressX16 = 0xAA,\r
- EfiSlotTypePciExpressGen2 = 0xAB,\r
- EfiSlotTypePciExpressGen2X1 = 0xAC,\r
- EfiSlotTypePciExpressGen2X2 = 0xAD,\r
- EfiSlotTypePciExpressGen2X4 = 0xAE,\r
- EfiSlotTypePciExpressGen2X8 = 0xAF,\r
- EfiSlotTypePciExpressGen2X16 = 0xB0\r
-} EFI_MISC_SLOT_TYPE;\r
-\r
-typedef enum { \r
- EfiSlotDataBusWidthOther = 1,\r
- EfiSlotDataBusWidthUnknown = 2,\r
- EfiSlotDataBusWidth8Bit = 3,\r
- EfiSlotDataBusWidth16Bit = 4,\r
- EfiSlotDataBusWidth32Bit = 5,\r
- EfiSlotDataBusWidth64Bit = 6,\r
- EfiSlotDataBusWidth128Bit = 7,\r
- EfiSlotDataBusWidth1xOrx1 = 8,\r
- EfiSlotDataBusWidth2xOrx2 = 9,\r
- EfiSlotDataBusWidth4xOrx4 = 0xA,\r
- EfiSlotDataBusWidth8xOrx8 = 0xB,\r
- EfiSlotDataBusWidth12xOrx12 = 0xC,\r
- EfiSlotDataBusWidth16xOrx16 = 0xD,\r
- EfiSlotDataBusWidth32xOrx32 = 0xE\r
-} EFI_MISC_SLOT_DATA_BUS_WIDTH;\r
-\r
-typedef enum { \r
- EfiSlotUsageOther = 1,\r
- EfiSlotUsageUnknown = 2,\r
- EfiSlotUsageAvailable = 3,\r
- EfiSlotUsageInUse = 4\r
-} EFI_MISC_SLOT_USAGE;\r
- \r
-typedef enum { \r
- EfiSlotLengthOther = 1,\r
- EfiSlotLengthUnknown = 2,\r
- EfiSlotLengthShort = 3,\r
- EfiSlotLengthLong = 4\r
-} EFI_MISC_SLOT_LENGTH;\r
-\r
-typedef struct {\r
- UINT32 CharacteristicsUnknown :1;\r
- UINT32 Provides50Volts :1;\r
- UINT32 Provides33Volts :1;\r
- UINT32 SharedSlot :1;\r
- UINT32 PcCard16Supported :1;\r
- UINT32 CardBusSupported :1;\r
- UINT32 ZoomVideoSupported :1;\r
- UINT32 ModemRingResumeSupported:1;\r
- UINT32 PmeSignalSupported :1;\r
- UINT32 HotPlugDevicesSupported :1;\r
- UINT32 SmbusSignalSupported :1;\r
- UINT32 Reserved :21;\r
-} EFI_MISC_SLOT_CHARACTERISTICS;\r
-\r
-typedef struct {\r
- STRING_REF SlotDesignation;\r
- EFI_MISC_SLOT_TYPE SlotType;\r
- EFI_MISC_SLOT_DATA_BUS_WIDTH SlotDataBusWidth;\r
- EFI_MISC_SLOT_USAGE SlotUsage;\r
- EFI_MISC_SLOT_LENGTH SlotLength;\r
- UINT16 SlotId;\r
- EFI_MISC_SLOT_CHARACTERISTICS SlotCharacteristics;\r
- EFI_DEVICE_PATH_PROTOCOL SlotDevicePath;\r
- UINT16 SegmentGroupNum;\r
- UINT8 BusNum;\r
- EFI_MISC_DEV_FUNC_NUM DevFuncNum;\r
-} EFI_MISC_SYSTEM_SLOT_DESIGNATION; \r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. Onboard Device - SMBIOS Type 10\r
-//\r
-#define EFI_MISC_ONBOARD_DEVICE_RECORD_NUMBER 0x00000008\r
-\r
-typedef enum { \r
- EfiOnBoardDeviceTypeOther = 1,\r
- EfiOnBoardDeviceTypeUnknown = 2,\r
- EfiOnBoardDeviceTypeVideo = 3,\r
- EfiOnBoardDeviceTypeScsiController = 4,\r
- EfiOnBoardDeviceTypeEthernet = 5,\r
- EfiOnBoardDeviceTypeTokenRing = 6,\r
- EfiOnBoardDeviceTypeSound = 7,\r
- EfiOnBoardDeviceTypePataController = 8,\r
- EfiOnBoardDeviceTypeSataController = 9,\r
- EfiOnBoardDeviceTypeSasController = 10\r
-} EFI_MISC_ONBOARD_DEVICE_TYPE;\r
-\r
-typedef struct {\r
- UINT32 DeviceType :16;\r
- UINT32 DeviceEnabled :1;\r
- UINT32 Reserved :15;\r
-} EFI_MISC_ONBOARD_DEVICE_STATUS;\r
-\r
-typedef struct {\r
- STRING_REF OnBoardDeviceDescription;\r
- EFI_MISC_ONBOARD_DEVICE_STATUS OnBoardDeviceStatus;\r
- EFI_DEVICE_PATH_PROTOCOL OnBoardDevicePath;\r
-} EFI_MISC_ONBOARD_DEVICE;\r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. BIOS Language Information - SMBIOS Type 11\r
-//\r
-#define EFI_MISC_OEM_STRING_RECORD_NUMBER 0x00000009\r
-\r
-typedef struct {\r
- STRING_REF OemStringRef[1];\r
-} EFI_MISC_OEM_STRING;\r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. System Options - SMBIOS Type 12\r
-//\r
-typedef struct {\r
- STRING_REF SystemOptionStringRef[1];\r
-} EFI_MISC_SYSTEM_OPTION_STRING; \r
-\r
-#define EFI_MISC_SYSTEM_OPTION_STRING_RECORD_NUMBER 0x0000000A\r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. Number of Installable Languages - SMBIOS Type 13\r
-//\r
-#define EFI_MISC_NUMBER_OF_INSTALLABLE_LANGUAGES_RECORD_NUMBER 0x0000000B\r
-\r
-typedef struct {\r
- UINT32 AbbreviatedLanguageFormat :1;\r
- UINT32 Reserved :31;\r
-} EFI_MISC_LANGUAGE_FLAGS;\r
-\r
-typedef struct {\r
- UINT16 NumberOfInstallableLanguages;\r
- EFI_MISC_LANGUAGE_FLAGS LanguageFlags;\r
- UINT16 CurrentLanguageNumber;\r
-} EFI_MISC_NUMBER_OF_INSTALLABLE_LANGUAGES; \r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. System Language String\r
-//\r
-#define EFI_MISC_SYSTEM_LANGUAGE_STRING_RECORD_NUMBER 0x0000000C\r
-\r
-typedef struct {\r
- UINT16 LanguageId;\r
- STRING_REF SystemLanguageString;\r
-} EFI_MISC_SYSTEM_LANGUAGE_STRING; \r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. Group Associations - SMBIOS Type 14\r
-//\r
-#define EFI_MISC_GROUP_NAME_RECORD_NUMBER 0x0000000D\r
-\r
-typedef struct {\r
- STRING_REF GroupName;\r
- UINT16 NumberGroupItems;\r
- UINT16 GroupId;\r
-} EFI_MISC_GROUP_NAME_DATA;\r
-\r
-#define EFI_MISC_GROUP_ITEM_SET_RECORD_NUMBER 0x0000000E\r
-\r
-typedef struct {\r
- EFI_GUID SubClass;\r
- EFI_INTER_LINK_DATA GroupLink;\r
- UINT16 GroupId;\r
- UINT16 GroupElementId;\r
- UINT8 ItemType;\r
-} EFI_MISC_GROUP_ITEM_SET_DATA;\r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. Pointing Device Type - SMBIOS Type 21\r
-//\r
-#define EFI_MISC_POINTING_DEVICE_TYPE_RECORD_NUMBER 0x0000000F\r
-\r
-typedef enum { \r
- EfiPointingDeviceTypeOther = 1,\r
- EfiPointingDeviceTypeUnknown = 2,\r
- EfiPointingDeviceTypeMouse = 3,\r
- EfiPointingDeviceTypeTrackBall = 4,\r
- EfiPointingDeviceTypeTrackPoint = 5,\r
- EfiPointingDeviceTypeGlidePoint = 6,\r
- EfiPointingDeviceTouchPad = 7,\r
- EfiPointingDeviceTouchScreen = 8,\r
- EfiPointingDeviceOpticalSensor = 9\r
-} EFI_MISC_POINTING_DEVICE_TYPE;\r
-\r
-typedef enum { \r
- EfiPointingDeviceInterfaceOther = 1,\r
- EfiPointingDeviceInterfaceUnknown = 2,\r
- EfiPointingDeviceInterfaceSerial = 3,\r
- EfiPointingDeviceInterfacePs2 = 4,\r
- EfiPointingDeviceInterfaceInfrared = 5,\r
- EfiPointingDeviceInterfaceHpHil = 6,\r
- EfiPointingDeviceInterfaceBusMouse = 7,\r
- EfiPointingDeviceInterfaceADB = 8,\r
- EfiPointingDeviceInterfaceBusMouseDB9 = 0xA0,\r
- EfiPointingDeviceInterfaceBusMouseMicroDin = 0xA1,\r
- EfiPointingDeviceInterfaceUsb = 0xA2\r
-} EFI_MISC_POINTING_DEVICE_INTERFACE;\r
-\r
-typedef struct {\r
- EFI_MISC_POINTING_DEVICE_TYPE PointingDeviceType;\r
- EFI_MISC_POINTING_DEVICE_INTERFACE PointingDeviceInterface;\r
- UINT16 NumberPointingDeviceButtons;\r
- EFI_DEVICE_PATH_PROTOCOL PointingDevicePath;\r
-} EFI_MISC_ONBOARD_DEVICE_TYPE_DATA; \r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. Portable Battery - SMBIOS Type 22\r
-//\r
-#define EFI_MISC_PORTABLE_BATTERY_RECORD_NUMBER 0x00000010\r
-\r
-typedef enum { \r
- EfiPortableBatteryDeviceChemistryOther = 1,\r
- EfiPortableBatteryDeviceChemistryUnknown = 2,\r
- EfiPortableBatteryDeviceChemistryLeadAcid = 3,\r
- EfiPortableBatteryDeviceChemistryNickelCadmium = 4,\r
- EfiPortableBatteryDeviceChemistryNickelMetalHydride = 5,\r
- EfiPortableBatteryDeviceChemistryLithiumIon = 6,\r
- EfiPortableBatteryDeviceChemistryZincAir = 7,\r
- EfiPortableBatteryDeviceChemistryLithiumPolymer = 8\r
-} EFI_MISC_PORTABLE_BATTERY_DEVICE_CHEMISTRY;\r
-\r
-typedef struct {\r
- STRING_REF Location;\r
- STRING_REF Manufacturer;\r
- STRING_REF ManufactureDate;\r
- STRING_REF SerialNumber;\r
- STRING_REF DeviceName;\r
- EFI_MISC_PORTABLE_BATTERY_DEVICE_CHEMISTRY DeviceChemistry;\r
- UINT16 DesignCapacity;\r
- UINT16 DesignVoltage;\r
- STRING_REF SBDSVersionNumber;\r
- UINT8 MaximumError;\r
- UINT16 SBDSSerialNumber;\r
- UINT16 SBDSManufactureDate;\r
- STRING_REF SBDSDeviceChemistry;\r
- UINT8 DesignCapacityMultiplier;\r
- UINT32 OEMSpecific; \r
- UINT8 BatteryNumber; // Temporary \r
- BOOLEAN Valid; // Is entry valid - Temporary\r
-} EFI_MISC_PORTABLE_BATTERY;\r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. Reset Capabilities - SMBIOS Type 23\r
-//\r
-#define EFI_MISC_RESET_CAPABILITIES_RECORD_NUMBER 0x00000011\r
-\r
-typedef struct {\r
- UINT32 Status :1;\r
- UINT32 BootOption :2;\r
- UINT32 BootOptionOnLimit :2;\r
- UINT32 WatchdogTimerPresent:1;\r
- UINT32 Reserved :26;\r
-} EFI_MISC_RESET_CAPABILITIES_TYPE;\r
-\r
-typedef struct {\r
- EFI_MISC_RESET_CAPABILITIES_TYPE ResetCapabilities;\r
- UINT16 ResetCount;\r
- UINT16 ResetLimit;\r
- UINT16 ResetTimerInterval;\r
- UINT16 ResetTimeout;\r
-} EFI_MISC_RESET_CAPABILITIES;\r
- \r
-typedef struct {\r
- EFI_MISC_RESET_CAPABILITIES ResetCapabilities;\r
- UINT16 ResetCount;\r
- UINT16 ResetLimit;\r
- UINT16 ResetTimerInterval;\r
- UINT16 ResetTimeout;\r
-} EFI_MISC_RESET_CAPABILITIES_DATA; \r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. Hardware Security - SMBIOS Type 24\r
-//\r
-#define EFI_MISC_HARDWARE_SECURITY_RECORD_NUMBER 0x00000012\r
-\r
-//\r
-// Backward Compatibility\r
-//\r
-#define EFI_MISC_HARDWARE_SECURITY_SETTINGS_DATA_RECORD_NUMBER EFI_MISC_HARDWARE_SECURITY_RECORD_NUMBER\r
-\r
-typedef enum {\r
- EfiHardwareSecurityStatusDisabled = 0,\r
- EfiHardwareSecurityStatusEnabled = 1,\r
- EfiHardwareSecurityStatusNotImplemented = 2,\r
- EfiHardwareSecurityStatusUnknown = 3\r
-} EFI_MISC_HARDWARE_SECURITY_STATUS; \r
-\r
-typedef struct {\r
- EFI_MISC_HARDWARE_SECURITY_STATUS FrontPanelResetStatus :2; \r
- EFI_MISC_HARDWARE_SECURITY_STATUS AdministratorPasswordStatus :2; \r
- EFI_MISC_HARDWARE_SECURITY_STATUS KeyboardPasswordStatus :2; \r
- EFI_MISC_HARDWARE_SECURITY_STATUS PowerOnPasswordStatus :2; \r
- EFI_MISC_HARDWARE_SECURITY_STATUS Reserved :24; \r
-} EFI_MISC_HARDWARE_SECURITY_SETTINGS;\r
-\r
-typedef struct {\r
- EFI_MISC_HARDWARE_SECURITY_SETTINGS HardwareSecuritySettings;\r
-} EFI_MISC_HARDWARE_SECURITY_SETTINGS_DATA; \r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. System Power Controls - SMBIOS Type 25\r
-//\r
-#define EFI_MISC_SCHEDULED_POWER_ON_MONTH_RECORD_NUMBER 0x00000013\r
-\r
-typedef struct {\r
- UINT8 ScheduledPoweronMonth;\r
- UINT8 ScheduledPoweronDayOfMonth;\r
- UINT8 ScheduledPoweronHour;\r
- UINT8 ScheduledPoweronMinute;\r
- UINT8 ScheduledPoweronSecond;\r
-} EFI_MISC_SCHEDULED_POWER_ON_MONTH;\r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. Voltage Probe - SMBIOS Type 26\r
-//\r
-#define EFI_MISC_VOLTAGE_PROBE_DESCRIPTION_RECORD_NUMBER 0x00000014\r
-\r
-typedef struct {\r
- UINT32 VoltageProbeSite :5;\r
- UINT32 VoltageProbeStatus :3;\r
- UINT32 Reserved :24;\r
-} EFI_MISC_VOLTAGE_PROBE_LOCATION;\r
-\r
-typedef struct {\r
- STRING_REF VoltageProbeDescription;\r
- EFI_MISC_VOLTAGE_PROBE_LOCATION VoltageProbeLocation;\r
- UINT16 VoltageProbeMaximumValue;\r
- UINT16 VoltageProbeMinimumValue;\r
- UINT16 VoltageProbeResolution;\r
- UINT16 VoltageProbeTolerance;\r
- UINT16 VoltageProbeAccuracy;\r
- UINT16 VoltageProbeNominalValue;\r
- UINT16 MDLowerNoncriticalThreshold;\r
- UINT16 MDUpperNoncriticalThreshold;\r
- UINT16 MDLowerCriticalThreshold;\r
- UINT16 MDUpperCriticalThreshold;\r
- UINT16 MDLowerNonrecoverableThreshold;\r
- UINT16 MDUpperNonrecoverableThreshold;\r
- UINT32 VoltageProbeOemDefined;\r
-} EFI_MISC_VOLTAGE_PROBE_DESCRIPTION;\r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. Cooling Device - SMBIOS Type 27\r
-//\r
-#define EFI_MISC_COOLING_DEVICE_TEMP_LINK_RECORD_NUMBER 0x00000015\r
-\r
-typedef struct {\r
- UINT32 CoolingDevice :5;\r
- UINT32 CoolingDeviceStatus :3;\r
- UINT32 Reserved :24;\r
-} EFI_MISC_COOLING_DEVICE_TYPE;\r
-\r
-typedef struct {\r
- EFI_MISC_COOLING_DEVICE_TYPE CoolingDeviceType;\r
- EFI_INTER_LINK_DATA CoolingDeviceTemperatureLink;\r
- UINT8 CoolingDeviceUnitGroup;\r
- UINT16 CoolingDeviceNominalSpeed;\r
- UINT32 CoolingDeviceOemDefined;\r
-} EFI_MISC_COOLING_DEVICE_TEMP_LINK;\r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. Temperature Probe - SMBIOS Type 28\r
-//\r
-#define EFI_MISC_TEMPERATURE_PROBE_DESCRIPTION_RECORD_NUMBER 0x00000016\r
-\r
-typedef struct {\r
- UINT32 TemperatureProbeSite :5;\r
- UINT32 TemperatureProbeStatus :3;\r
- UINT32 Reserved :24;\r
-} EFI_MISC_TEMPERATURE_PROBE_LOCATION;\r
-\r
-typedef struct {\r
- STRING_REF TemperatureProbeDescription;\r
- EFI_MISC_TEMPERATURE_PROBE_LOCATION TemperatureProbeLocation;\r
- UINT16 TemperatureProbeMaximumValue;\r
- UINT16 TemperatureProbeMinimumValue;\r
- UINT16 TemperatureProbeResolution;\r
- UINT16 TemperatureProbeTolerance;\r
- UINT16 TemperatureProbeAccuracy;\r
- UINT16 TemperatureProbeNominalValue;\r
- UINT16 MDLowerNoncriticalThreshold;\r
- UINT16 MDUpperNoncriticalThreshold;\r
- UINT16 MDLowerCriticalThreshold;\r
- UINT16 MDUpperCriticalThreshold;\r
- UINT16 MDLowerNonrecoverableThreshold;\r
- UINT16 MDUpperNonrecoverableThreshold;\r
- UINT32 TemperatureProbeOemDefined;\r
-} EFI_MISC_TEMPERATURE_PROBE_DESCRIPTION;\r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. Electrical Current Probe - SMBIOS Type 29\r
-//\r
-#define EFI_MISC_ELECTRICAL_CURRENT_PROBE_DESCRIPTION_RECORD_NUMBER 0x00000017\r
-\r
-typedef struct {\r
- UINT32 ElectricalCurrentProbeSite :5;\r
- UINT32 ElectricalCurrentProbeStatus :3;\r
- UINT32 Reserved :24;\r
-} EFI_MISC_ELECTRICAL_CURRENT_PROBE_LOCATION;\r
-\r
-typedef struct {\r
- STRING_REF ElectricalCurrentProbeDescription;\r
- EFI_MISC_ELECTRICAL_CURRENT_PROBE_LOCATION ElectricalCurrentProbeLocation;\r
- UINT16 ElectricalCurrentProbeMaximumValue;\r
- UINT16 ElectricalCurrentProbeMinimumValue;\r
- UINT16 ElectricalCurrentProbeResolution;\r
- UINT16 ElectricalCurrentProbeTolerance;\r
- UINT16 ElectricalCurrentProbeAccuracy;\r
- UINT16 ElectricalCurrentProbeNominalValue;\r
- UINT16 MDLowerNoncriticalThreshold;\r
- UINT16 MDUpperNoncriticalThreshold;\r
- UINT16 MDLowerCriticalThreshold;\r
- UINT16 MDUpperCriticalThreshold;\r
- UINT16 MDLowerNonrecoverableThreshold;\r
- UINT16 MDUpperNonrecoverableThreshold;\r
- UINT32 ElectricalCurrentProbeOemDefined;\r
-} EFI_MISC_ELECTRICAL_CURRENT_PROBE_DESCRIPTION;\r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. Out-of-Band Remote Access - SMBIOS Type 30\r
-//\r
-#define EFI_MISC_REMOTE_ACCESS_MANUFACTURER_DESCRIPTION_RECORD_NUMBER 0x00000018\r
-\r
-typedef struct {\r
- UINT32 InboundConnectionEnabled :1;\r
- UINT32 OutboundConnectionEnabled :1;\r
- UINT32 Reserved :30;\r
-} EFI_MISC_REMOTE_ACCESS_CONNECTIONS;\r
-\r
-typedef struct {\r
- STRING_REF RemoteAccessManufacturerNameDescription;\r
- EFI_MISC_REMOTE_ACCESS_CONNECTIONS RemoteAccessConnections;\r
-} EFI_MISC_REMOTE_ACCESS_MANUFACTURER_DESCRIPTION;\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. BIS Entry Point - SMBIOS Type 31\r
-//\r
-#define EFI_MISC_BIS_ENTRY_POINT_RECORD_NUMBER 0x00000019\r
-\r
-typedef struct {\r
- EFI_PHYSICAL_ADDRESS BisEntryPoint;\r
-} EFI_MISC_BIS_ENTRY_POINT; \r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. Boot Information - SMBIOS Type 32\r
-//\r
-#define EFI_MISC_BOOT_INFORMATION_STATUS_RECORD_NUMBER 0x0000001A\r
-\r
-typedef enum { \r
- EfiBootInformationStatusNoError = 0,\r
- EfiBootInformationStatusNoBootableMedia = 1,\r
- EfiBootInformationStatusNormalOSFailedLoading = 2,\r
- EfiBootInformationStatusFirmwareDetectedFailure = 3,\r
- EfiBootInformationStatusOSDetectedFailure = 4,\r
- EfiBootInformationStatusUserRequestedBoot = 5,\r
- EfiBootInformationStatusSystemSecurityViolation = 6,\r
- EfiBootInformationStatusPreviousRequestedImage = 7,\r
- EfiBootInformationStatusWatchdogTimerExpired = 8,\r
- EfiBootInformationStatusStartReserved = 9,\r
- EfiBootInformationStatusStartOemSpecific = 128,\r
- EfiBootInformationStatusStartProductSpecific = 192\r
-} EFI_MISC_BOOT_INFORMATION_STATUS_TYPE;\r
-\r
-typedef struct {\r
- EFI_MISC_BOOT_INFORMATION_STATUS_TYPE BootInformationStatus;\r
- UINT8 BootInformationData[9];\r
-} EFI_MISC_BOOT_INFORMATION_STATUS;\r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. Management Device - SMBIOS Type 34\r
-//\r
-#define EFI_MISC_MANAGEMENT_DEVICE_DESCRIPTION_RECORD_NUMBER 0x0000001B\r
-\r
-typedef enum {\r
- EfiManagementDeviceTypeOther = 1,\r
- EfiManagementDeviceTypeUnknown = 2,\r
- EfiManagementDeviceTypeLm75 = 3,\r
- EfiManagementDeviceTypeLm78 = 4,\r
- EfiManagementDeviceTypeLm79 = 5,\r
- EfiManagementDeviceTypeLm80 = 6,\r
- EfiManagementDeviceTypeLm81 = 7,\r
- EfiManagementDeviceTypeAdm9240 = 8,\r
- EfiManagementDeviceTypeDs1780 = 9,\r
- EfiManagementDeviceTypeMaxim1617 = 0xA,\r
- EfiManagementDeviceTypeGl518Sm = 0xB,\r
- EfiManagementDeviceTypeW83781D = 0xC,\r
- EfiManagementDeviceTypeHt82H791 = 0xD\r
-} EFI_MISC_MANAGEMENT_DEVICE_TYPE;\r
-\r
-typedef enum {\r
- EfiManagementDeviceAddressTypeOther = 1,\r
- EfiManagementDeviceAddressTypeUnknown = 2,\r
- EfiManagementDeviceAddressTypeIOPort = 3,\r
- EfiManagementDeviceAddressTypeMemory = 4,\r
- EfiManagementDeviceAddressTypeSmbus = 5\r
-} EFI_MISC_MANAGEMENT_DEVICE_ADDRESS_TYPE;\r
-\r
-typedef struct {\r
- STRING_REF ManagementDeviceDescription;\r
- EFI_MISC_MANAGEMENT_DEVICE_TYPE ManagementDeviceType;\r
- UINTN ManagementDeviceAddress;\r
- EFI_MISC_MANAGEMENT_DEVICE_ADDRESS_TYPE ManagementDeviceAddressType;\r
-} EFI_MISC_MANAGEMENT_DEVICE_DESCRIPTION;\r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. Management Device Component - SMBIOS Type 35\r
-//\r
-#define EFI_MISC_MANAGEMENT_DEVICE_COMPONENT_DESCRIPTION_RECORD_NUMBER 0x0000001C\r
-\r
-typedef struct {\r
- STRING_REF ManagementDeviceComponentDescription;\r
- EFI_INTER_LINK_DATA ManagementDeviceLink;\r
- EFI_INTER_LINK_DATA ManagementDeviceComponentLink;\r
- EFI_INTER_LINK_DATA ManagementDeviceThresholdLink;\r
- UINT8 ComponentType;\r
-} EFI_MISC_MANAGEMENT_DEVICE_COMPONENT_DESCRIPTION;\r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// IPMI Data Record - SMBIOS Type 38\r
-//\r
-typedef enum { \r
- EfiIpmiOther = 0,\r
- EfiIpmiKcs = 1,\r
- EfiIpmiSmic = 2,\r
- EfiIpmiBt = 3\r
-} EFI_MISC_IPMI_INTERFACE_TYPE;\r
-\r
-typedef struct {\r
- UINT16 IpmiSpecLeastSignificantDigit:4;\r
- UINT16 IpmiSpecMostSignificantDigit:4;\r
- UINT16 Reserved:8;\r
-} EFI_MISC_IPMI_SPECIFICATION_REVISION;\r
-\r
-typedef struct {\r
- EFI_MISC_IPMI_INTERFACE_TYPE IpmiInterfaceType;\r
- EFI_MISC_IPMI_SPECIFICATION_REVISION IpmiSpecificationRevision;\r
- UINT16 IpmiI2CSlaveAddress;\r
- UINT16 IpmiNvDeviceAddress;\r
- UINT64 IpmiBaseAddress;\r
- EFI_DEVICE_PATH_PROTOCOL IpmiDevicePath;\r
-} EFI_MISC_IPMI_INTERFACE_TYPE_DATA;\r
- \r
-#define EFI_MISC_IPMI_INTERFACE_TYPE_RECORD_NUMBER 0x0000001D\r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-//System Power supply Record - SMBIOS Type 39\r
-//\r
-typedef struct {\r
- UINT16 PowerSupplyHotReplaceable :1;\r
- UINT16 PowerSupplyPresent :1;\r
- UINT16 PowerSupplyUnplugged :1;\r
- UINT16 InputVoltageRangeSwitch :4;\r
- UINT16 PowerSupplyStatus :3;\r
- UINT16 PowerSupplyType :4;\r
- UINT16 Reserved :2;\r
-} POWER_SUPPLY_CHARACTERISTICS;\r
-\r
-typedef struct {\r
- UINT16 PowerUnitGroup;\r
- STRING_REF PowerSupplyLocation;\r
- STRING_REF PowerSupplyDeviceName;\r
- STRING_REF PowerSupplyManufacturer;\r
- STRING_REF PowerSupplySerialNumber;\r
- STRING_REF PowerSupplyAssetTagNumber;\r
- STRING_REF PowerSupplyModelPartNumber;\r
- STRING_REF PowerSupplyRevisionLevel;\r
- UINT16 PowerSupplyMaxPowerCapacity;\r
- POWER_SUPPLY_CHARACTERISTICS PowerSupplyCharacteristics;\r
- EFI_INTER_LINK_DATA PowerSupplyInputVoltageProbeLink;\r
- EFI_INTER_LINK_DATA PowerSupplyCoolingDeviceLink;\r
- EFI_INTER_LINK_DATA PowerSupplyInputCurrentProbeLink;\r
-} EFI_MISC_SYSTEM_POWER_SUPPLY;\r
-\r
-#define EFI_MISC_SYSTEM_POWER_SUPPLY_RECORD_NUMBER 0x0000001E\r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-//Additional Information Record - SMBIOS Type 40\r
-//\r
-typedef struct { \r
- UINT8 EntryLength; \r
- UINT8 ReferencedSmbiosType;\r
- EFI_INTER_LINK_DATA ReferencedLink;\r
- UINT8 ReferencedOffset;\r
- STRING_REF EntryString;\r
- EFI_PHYSICAL_ADDRESS ValueAddress;\r
-} EFI_MISC_ADDITIONAL_INFORMATION_ENTRY; \r
- \r
-typedef struct {\r
- UINT8 NumberOfAdditionalInformationEntries;\r
- EFI_PHYSICAL_ADDRESS AdditionalInfoEntriesAddr;\r
-} EFI_MISC_ADDITIONAL_INFORMATION;\r
-\r
-#define EFI_MISC_ADDITIONAL_INFORMATION_RECORD_NUMBER 0x00000022\r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-//Onboard Devices Extended Infomation Record - SMBIOS Type 41\r
-//\r
-typedef struct {\r
- UINT8 TypeOfDevice:7;\r
- UINT8 DeviceStatus:1;\r
-} EFI_MISC_DEVICE_TYPE;\r
-\r
-typedef struct {\r
- STRING_REF ReferenceDesignation;\r
- EFI_MISC_DEVICE_TYPE DeviceType;\r
- UINT8 DeviceTypeInstance;\r
- UINT16 SegmentGroupNum;\r
- UINT8 BusNum;\r
- EFI_MISC_DEV_FUNC_NUM DevFuncNum;\r
-} EFI_MISC_ONBOARD_DEVICES_EXTENDED_INFORMATION;\r
-\r
-#define EFI_MISC_ONBOARD_DEVICES_EXTENDED_INFORMATION_RECORD_NUMBER 0x00000023\r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Generic Data Record - All SMBIOS Type\r
-// Put smbios raw data into one datahub record directly. Smbios driver would\r
-// copy smbios raw data into smbios table but not take any translation.\r
-//\r
-typedef struct {\r
- UINT8 Type;\r
- UINT8 Length;\r
- UINT16 Handle;\r
-} SMBIOS_STRUCTURE_HDR;\r
-\r
-typedef struct {\r
- SMBIOS_STRUCTURE_HDR Header;\r
- UINT8 RawData[1];\r
-} EFI_MISC_SMBIOS_STRUCT_ENCAPSULATION; \r
-\r
-#define EFI_MISC_SMBIOS_STRUCT_ENCAP_RECORD_NUMBER 0x0000001F \r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. System Event Log - SMBIOS Type 15\r
-//\r
-#define EFI_MISC_SYSTEM_EVENT_LOG_RECORD_NUMBER 0x00000020\r
-\r
-typedef enum { \r
- EfiEventLogTypeReserved1 = 0,\r
- EfiEventLogTypeSingleBitEccMemoryError = 1,\r
- EfiEventLogTypeMultiBitEccMemoryError = 2,\r
- EfiEventLogTypeParityMemoryError = 3,\r
- EfiEventLogTypeBusTimeOut = 4,\r
- EfiEventLogTypeIoChannelCheck = 5,\r
- EfiEventLogTypeSoftwareNmi = 6,\r
- EfiEventLogTypePostMemoryResize = 7,\r
- EfiEventLogTypePostError = 8,\r
- EfiEventLogTypePciParityError = 9,\r
- EfiEventLogTypePciSystemError = 0xA,\r
- EfiEventLogTypeCpuFailure = 0xB,\r
- EfiEventLogTypeEisaFailSafeTimerTimeOut = 0xC,\r
- EfiEventLogTypeCorrectableMemoryLogDisabled = 0xD,\r
- EfiEventLogTypeLoggingDisabled = 0xE,\r
- EfiEventLogTypeReserved2 = 0xF,\r
- EfiEventLogTypeSystemLimitExceeded = 0x10,\r
- EfiEventLogTypeAsynchronousHardwareTimerExpired = 0x11,\r
- EfiEventLogTypeSystemConfigurationInformation = 0x12,\r
- EfiEventLogTypeHardDiskInformation = 0x13,\r
- EfiEventLogTypeSystemReconfigured = 0x14,\r
- EfiEventLogTypeUncorrectableCpuComplexError = 0x15,\r
- EfiEventLogTypeLogAreaResetCleared = 0x16,\r
- EfiEventLogTypeSystemBoot = 0x17,\r
- EfiEventLogTypeEndOfLog = 0xFF\r
-} EFI_MISC_LOG_TYPE;\r
-\r
-typedef enum { \r
- EfiEventLogDataFormatTypeNone = 0,\r
- EfiEventLogDataFormatTypeHandle = 1,\r
- EfiEventLogDataFormatTypeMultipleEvent = 2,\r
- EfiEventLogDataFormatTypeMultipleEventHandle = 3,\r
- EfiEventLogDataFormatTypePostResultsBitmap = 4,\r
- EfiEventLogDataFormatTypeSystemManagement = 5,\r
- EfiEventLogDataFormatTypeMultipleEventSystemManagement = 6\r
-} EFI_MISC_VARIABLE_DATA_FORMAT_TYPE;\r
-\r
-typedef struct {\r
- UINT8 LogType;\r
- UINT8 DataFormatType;\r
-} EFI_MISC_EVENT_LOG_TYPE;\r
-\r
-typedef struct {\r
- UINT16 LogAreaLength;\r
- UINT16 LogHeaderStartOffset;\r
- UINT16 LogDataStartOffset;\r
- UINT8 AccessMethod;\r
- UINT8 LogStatus;\r
- UINT32 LogChangeToken;\r
- UINT32 AccessMethodAddress;\r
- UINT8 LogHeaderFormat;\r
- UINT8 NumberOfSupportedLogType;\r
- UINT8 LengthOfLogDescriptor;\r
- EFI_PHYSICAL_ADDRESS EventLogTypeDescriptors; // Pointer to EFI_MISC_EVENT_LOG_TYPE\r
-} EFI_MISC_SYSTEM_EVENT_LOG;\r
-\r
-//\r
-// Access Method.\r
-// 0x00~0x04: as following definition\r
-// 0x05~0x7f: Available for future assignment.\r
-// 0x80~0xff: BIOS Vendor/OEM-specific.\r
-// \r
-#define ACCESS_INDEXIO_1INDEX8BIT_DATA8BIT 0x00\r
-#define ACCESS_INDEXIO_2INDEX8BIT_DATA8BIT 0X01\r
-#define ACCESS_INDEXIO_1INDEX16BIT_DATA8BIT 0X02\r
-#define ACCESS_MEMORY_MAPPED 0x03\r
-#define ACCESS_GPNV 0x04\r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-//Management Device Threshold Data Record - SMBIOS Type 36\r
-//\r
-#define EFI_MISC_MANAGEMENT_DEVICE_THRESHOLD_RECORD_NUMBER 0x00000021\r
-\r
-typedef struct {\r
- UINT16 LowerThresNonCritical;\r
- UINT16 UpperThresNonCritical;\r
- UINT16 LowerThresCritical;\r
- UINT16 UpperThresCritical;\r
- UINT16 LowerThresNonRecover;\r
- UINT16 UpperThresNonRecover;\r
-} EFI_MISC_MANAGEMENT_DEVICE_THRESHOLD;\r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-//\r
-//\r
-typedef union {\r
- EFI_MISC_LAST_PCI_BUS LastPciBus;\r
- EFI_MISC_BIOS_VENDOR MiscBiosVendor;\r
- EFI_MISC_SYSTEM_MANUFACTURER MiscSystemManufacturer;\r
- EFI_MISC_BASE_BOARD_MANUFACTURER MiscBaseBoardManufacturer;\r
- EFI_MISC_CHASSIS_MANUFACTURER MiscChassisManufacturer; \r
- EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR MiscPortInternalConnectorDesignator;\r
- EFI_MISC_SYSTEM_SLOT_DESIGNATION MiscSystemSlotDesignation;\r
- EFI_MISC_ONBOARD_DEVICE MiscOnboardDevice;\r
- EFI_MISC_OEM_STRING MiscOemString;\r
- EFI_MISC_SYSTEM_OPTION_STRING MiscOptionString;\r
- EFI_MISC_NUMBER_OF_INSTALLABLE_LANGUAGES NumberOfInstallableLanguages;\r
- EFI_MISC_SYSTEM_LANGUAGE_STRING MiscSystemLanguageString;\r
- EFI_MISC_GROUP_NAME_DATA MiscGroupNameData;\r
- EFI_MISC_GROUP_ITEM_SET_DATA MiscGroupItemSetData;\r
- EFI_MISC_SYSTEM_EVENT_LOG MiscSystemEventLog;\r
- EFI_MISC_ONBOARD_DEVICE_TYPE_DATA MiscOnboardDeviceTypeData;\r
- EFI_MISC_PORTABLE_BATTERY MiscPortableBattery;\r
- EFI_MISC_RESET_CAPABILITIES_DATA MiscResetCapablilitiesData;\r
- EFI_MISC_HARDWARE_SECURITY_SETTINGS_DATA MiscHardwareSecuritySettingsData;\r
- EFI_MISC_SCHEDULED_POWER_ON_MONTH MiscScheduledPowerOnMonth;\r
- EFI_MISC_VOLTAGE_PROBE_DESCRIPTION MiscVoltageProbeDescription;\r
- EFI_MISC_COOLING_DEVICE_TEMP_LINK MiscCoolingDeviceTempLink;\r
- EFI_MISC_TEMPERATURE_PROBE_DESCRIPTION MiscTemperatureProbeDescription;\r
- EFI_MISC_ELECTRICAL_CURRENT_PROBE_DESCRIPTION MiscElectricalCurrentProbeDescription;\r
- EFI_MISC_REMOTE_ACCESS_MANUFACTURER_DESCRIPTION MiscRemoteAccessManufacturerDescription; \r
- EFI_MISC_BIS_ENTRY_POINT MiscBisEntryPoint;\r
- EFI_MISC_BOOT_INFORMATION_STATUS MiscBootInformationStatus;\r
- EFI_MISC_MANAGEMENT_DEVICE_DESCRIPTION MiscManagementDeviceDescription;\r
- EFI_MISC_MANAGEMENT_DEVICE_COMPONENT_DESCRIPTION MiscManagementDeviceComponentDescription;\r
- EFI_MISC_IPMI_INTERFACE_TYPE_DATA MiscIpmiInterfaceTypeData;\r
- EFI_MISC_SYSTEM_POWER_SUPPLY MiscPowerSupplyInfo;\r
- EFI_MISC_SMBIOS_STRUCT_ENCAPSULATION MiscSmbiosStructEncapsulation; \r
- EFI_MISC_MANAGEMENT_DEVICE_THRESHOLD MiscManagementDeviceThreshold;\r
- EFI_MISC_ADDITIONAL_INFORMATION MiscAdditionalInformation;\r
- EFI_MISC_ONBOARD_DEVICES_EXTENDED_INFORMATION MiscOnBoardDevicesExtendedInformation;\r
-} EFI_MISC_SUBCLASS_RECORDS;\r
-\r
-//\r
-//\r
-//\r
-typedef struct {\r
- EFI_SUBCLASS_TYPE1_HEADER Header;\r
- EFI_MISC_SUBCLASS_RECORDS Record;\r
-} EFI_MISC_SUBCLASS_DRIVER_DATA;\r
-\r
-#pragma pack()\r
-\r
-#endif /* _DATAHUB_SUBCLASS_MISC_H_ */\r
-/* eof - DataHubSubClassMisc.h */\r