update IndustryStandards

Signed-off-by: SergeySlice <sergey.slice@gmail.com>
This commit is contained in:
SergeySlice 2021-04-26 21:04:07 +03:00
parent 5bc175a753
commit f28e98fb33
2 changed files with 167 additions and 73 deletions

View File

@ -92,6 +92,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
#define SMBIOS_TYPE_ONBOARD_DEVICES_EXTENDED_INFORMATION 41
#define SMBIOS_TYPE_MANAGEMENT_CONTROLLER_HOST_INTERFACE 42
#define SMBIOS_TYPE_TPM_DEVICE 43
#define SMBIOS_TYPE_PROCESSOR_ADDITIONAL_INFORMATION 44
///
/// Inactive type is added from SMBIOS 2.2. Reference SMBIOS 2.6, chapter 3.3.43.
@ -727,7 +728,10 @@ typedef enum {
ProcessorFamilyMII = 0x012E,
ProcessorFamilyWinChip = 0x0140,
ProcessorFamilyDSP = 0x015E,
ProcessorFamilyVideoProcessor = 0x01F4
ProcessorFamilyVideoProcessor = 0x01F4,
ProcessorFamilyRiscvRV32 = 0x0200,
ProcessorFamilyRiscVRV64 = 0x0201,
ProcessorFamilyRiscVRV128 = 0x0202
} PROCESSOR_FAMILY2_DATA;
///
@ -856,6 +860,33 @@ typedef struct {
UINT32 ProcessorReserved4 :2;
} PROCESSOR_FEATURE_FLAGS;
typedef struct {
UINT16 ProcessorReserved1 :1;
UINT16 ProcessorUnknown :1;
UINT16 Processor64BitCapable :1;
UINT16 ProcessorMultiCore :1;
UINT16 ProcessorHardwareThread :1;
UINT16 ProcessorExecuteProtection :1;
UINT16 ProcessorEnhancedVirtualization :1;
UINT16 ProcessorPowerPerformanceCtrl :1;
UINT16 Processor128BitCapable :1;
UINT16 ProcessorArm64SocId :1;
UINT16 ProcessorReserved2 :6;
} PROCESSOR_CHARACTERISTIC_FLAGS;
///
/// Processor Information - Status
///
typedef union {
struct {
UINT8 CpuStatus :3; ///< Indicates the status of the processor.
UINT8 Reserved1 :3; ///< Reserved for future use. Must be set to zero.
UINT8 SocketPopulated :1; ///< Indicates if the processor socket is populated or not.
UINT8 Reserved2 :1; ///< Reserved for future use. Must be set to zero.
} Bits;
UINT8 Data;
} PROCESSOR_STATUS_DATA;
typedef struct {
PROCESSOR_SIGNATURE Signature;
PROCESSOR_FEATURE_FLAGS FeatureFlags;
@ -1289,7 +1320,13 @@ typedef enum {
SlotTypePciExpressGen3X2 = 0xB3,
SlotTypePciExpressGen3X4 = 0xB4,
SlotTypePciExpressGen3X8 = 0xB5,
SlotTypePciExpressGen3X16 = 0xB6
SlotTypePciExpressGen3X16 = 0xB6,
SlotTypePciExpressGen4 = 0xB8,
SlotTypePciExpressGen4X1 = 0xB9,
SlotTypePciExpressGen4X2 = 0xBA,
SlotTypePciExpressGen4X4 = 0xBB,
SlotTypePciExpressGen4X8 = 0xBC,
SlotTypePciExpressGen4X16 = 0xBD
} MISC_SLOT_TYPE;
///
@ -1689,7 +1726,11 @@ typedef enum {
MemoryTypeLpddr2 = 0x1C,
MemoryTypeLpddr3 = 0x1D,
MemoryTypeLpddr4 = 0x1E,
MemoryTypeLogicalNonVolatileDevice = 0x1F
MemoryTypeLogicalNonVolatileDevice = 0x1F,
MemoryTypeHBM = 0x20,
MemoryTypeHBM2 = 0x21,
MemoryTypeDdr5 = 0x22,
MemoryTypeLpddr5 = 0x23
} MEMORY_DEVICE_TYPE;
///
@ -2508,6 +2549,34 @@ typedef struct {
UINT8 InterfaceTypeSpecificData[4]; ///< This field has a minimum of four bytes
} SMBIOS_TABLE_TYPE42;
///
/// Processor Specific Block - Processor Architecture Type
///
typedef enum{
ProcessorSpecificBlockArchTypeReserved = 0x00,
ProcessorSpecificBlockArchTypeIa32 = 0x01,
ProcessorSpecificBlockArchTypeX64 = 0x02,
ProcessorSpecificBlockArchTypeItanium = 0x03,
ProcessorSpecificBlockArchTypeAarch32 = 0x04,
ProcessorSpecificBlockArchTypeAarch64 = 0x05,
ProcessorSpecificBlockArchTypeRiscVRV32 = 0x06,
ProcessorSpecificBlockArchTypeRiscVRV64 = 0x07,
ProcessorSpecificBlockArchTypeRiscVRV128 = 0x08
} PROCESSOR_SPECIFIC_BLOCK_ARCH_TYPE;
///
/// Processor Specific Block is the standard container of processor-specific data.
///
typedef struct {
UINT8 Length;
UINT8 ProcessorArchType;
///
/// Below followed by Processor-specific data
///
///
} PROCESSOR_SPECIFIC_BLOCK;
///
/// TPM Device (Type 43).
///
@ -2523,6 +2592,30 @@ typedef struct {
UINT32 OemDefined;
} SMBIOS_TABLE_TYPE43;
///
/// Processor Additional Information(Type 44).
///
/// The information in this structure defines the processor additional information in case
/// SMBIOS type 4 is not sufficient to describe processor characteristics.
/// The SMBIOS type 44 structure has a reference handle field to link back to the related
/// SMBIOS type 4 structure. There may be multiple SMBIOS type 44 structures linked to the
/// same SMBIOS type 4 structure. For example, when cores are not identical in a processor,
/// SMBIOS type 44 structures describe different core-specific information.
///
/// SMBIOS type 44 defines the standard header for the processor-specific block, while the
/// contents of processor-specific data are maintained by processor
/// architecture workgroups or vendors in separate documents.
///
typedef struct {
SMBIOS_STRUCTURE Hdr;
SMBIOS_HANDLE RefHandle; ///< This field refer to associated SMBIOS type 4
///
/// Below followed by Processor-specific block
///
PROCESSOR_SPECIFIC_BLOCK ProcessorSpecificBlock;
} SMBIOS_TABLE_TYPE44;
///
/// Inactive (Type 126)
///
@ -2586,6 +2679,7 @@ typedef union {
SMBIOS_TABLE_TYPE41 *Type41;
SMBIOS_TABLE_TYPE42 *Type42;
SMBIOS_TABLE_TYPE43 *Type43;
SMBIOS_TABLE_TYPE44 *Type44;
SMBIOS_TABLE_TYPE126 *Type126;
SMBIOS_TABLE_TYPE127 *Type127;
UINT8 *Raw;

View File

@ -13843,86 +13843,86 @@
A5814B6E2538171000CF4451 /* IndustryStandard */ = {
isa = PBXGroup;
children = (
A5814B6F2538171000CF4451 /* IpmiNetFnFirmware.h */,
A5814B702538171000CF4451 /* SdramSpdLpDdr.h */,
A5814B712538171000CF4451 /* ElTorito.h */,
A5814B722538171000CF4451 /* SdramSpdDdr3.h */,
A5814B732538171000CF4451 /* Acpi62.h */,
A5814B742538171000CF4451 /* WindowsSmmSecurityMitigationTable.h */,
A5814B752538171000CF4451 /* Nvme.h */,
A5814B762538171000CF4451 /* IoRemappingTable.h */,
A5814B772538171000CF4451 /* LowPowerIdleTable.h */,
A5814B782538171000CF4451 /* Emmc.h */,
A5814B792538171000CF4451 /* WatchdogActionTable.h */,
A5814B7A2538171000CF4451 /* DmaRemappingReportingTable.h */,
A5814B7B2538171000CF4451 /* AlertStandardFormatTable.h */,
A5814B7C2538171000CF4451 /* Acpi40.h */,
A5814B7D2538171000CF4451 /* Bmp.h */,
A5814B7E2538171000CF4451 /* UefiTcgPlatform.h */,
A5814B7F2538171000CF4451 /* SerialPortConsoleRedirectionTable.h */,
A5814B802538171000CF4451 /* Pci22.h */,
A5814B812538171000CF4451 /* Mbr.h */,
A5814B822538171000CF4451 /* Acpi61.h */,
A5814B832538171000CF4451 /* SdramSpdDdr4.h */,
A5814B842538171000CF4451 /* TcgStorageOpal.h */,
A5814B852538171000CF4451 /* IpmiNetFnChassis.h */,
A5814B862538171000CF4451 /* Acpi.h */,
A5814B872538171000CF4451 /* Tpm2Acpi.h */,
A5814B882538171000CF4451 /* PeImage.h */,
A5814B892538171000CF4451 /* PciExpress30.h */,
A5814B8A2538171000CF4451 /* SdramSpd.h */,
A5814B8B2538171000CF4451 /* Acpi10.h */,
A5814B8C2538171000CF4451 /* MemoryMappedConfigurationSpaceAccessTable.h */,
A5814B8D2538171000CF4451 /* IpmiFruInformationStorage.h */,
A5814B8E2538171000CF4451 /* IpmiNetFnStorage.h */,
A5814B8F2538171000CF4451 /* IScsiBootFirmwareTable.h */,
A5814B902538171000CF4451 /* Bluetooth.h */,
A5814B912538171000CF4451 /* AcpiAml.h */,
A5814B922538171000CF4451 /* Acpi50.h */,
A5814B932538171000CF4451 /* Tpm20.h */,
A5814B942538171000CF4451 /* PciCodeId.h */,
A5814B952538171000CF4451 /* IpmiNetFnTransport.h */,
A5814B962538171000CF4451 /* Dhcp.h */,
A5814B972538171000CF4451 /* TpmPtp.h */,
A5814B982538171000CF4451 /* Acpi20.h */,
A5814B992538171000CF4451 /* Pci23.h */,
A5814B9A2538171000CF4451 /* IpmiNetFnApp.h */,
A5814B9B2538171000CF4451 /* PciExpress40.h */,
A5814B9C2538171000CF4451 /* IpmiNetFnSensorEvent.h */,
A5814B9D2538171000CF4451 /* Acpi60.h */,
A5814B9E2538171000CF4451 /* PciExpress21.h */,
A5814B9F2538171000CF4451 /* PciExpress31.h */,
A5814BA02538171000CF4451 /* TcgStorageCore.h */,
A5814BA12538171000CF4451 /* HighPrecisionEventTimerTable.h */,
A5814BA22538171000CF4451 /* Usb.h */,
A5814BA32538171000CF4451 /* Acpi51.h */,
A5814BA42538171000CF4451 /* Sd.h */,
A5814BA52538171000CF4451 /* WatchdogResourceTable.h */,
A5814BA62538171000CF4451 /* Acpi30.h */,
A5814BA72538171000CF4451 /* Udf.h */,
A5814BA82538171000CF4451 /* DebugPortTable.h */,
A5814BA92538171000CF4451 /* SmBios.h */,
A5814BAA2538171000CF4451 /* MemoryOverwriteRequestControlLock.h */,
A5814BAB2538171000CF4451 /* Atapi.h */,
A5814BAC2538171000CF4451 /* TcpaAcpi.h */,
A5814BAD2538171000CF4451 /* LegacyBiosMpTable.h */,
A5814BAE2538171000CF4451 /* TpmTis.h */,
A5814B7C2538171000CF4451 /* Acpi40.h */,
A5814B922538171000CF4451 /* Acpi50.h */,
A5814BA32538171000CF4451 /* Acpi51.h */,
A5814B9D2538171000CF4451 /* Acpi60.h */,
A5814B822538171000CF4451 /* Acpi61.h */,
A5814B732538171000CF4451 /* Acpi62.h */,
A5814BAF2538171000CF4451 /* Acpi63.h */,
A5814BB02538171000CF4451 /* SmBus.h */,
A5814BB12538171000CF4451 /* Http11.h */,
A5814BB22538171000CF4451 /* TcgPhysicalPresence.h */,
A5814BB32538171000CF4451 /* IpmiNetFnGroupExtension.h */,
A5814BB42538171000CF4451 /* Tls1.h */,
A5814BB52538171000CF4451 /* Pci.h */,
A5814B912538171000CF4451 /* AcpiAml.h */,
A5814B7B2538171000CF4451 /* AlertStandardFormatTable.h */,
A5814BAB2538171000CF4451 /* Atapi.h */,
A5814B902538171000CF4451 /* Bluetooth.h */,
A5814B7D2538171000CF4451 /* Bmp.h */,
A5814BB62538171000CF4451 /* DebugPort2Table.h */,
A5814BB72538171000CF4451 /* Scsi.h */,
A5814BB82538171000CF4451 /* Pci30.h */,
A5814BA82538171000CF4451 /* DebugPortTable.h */,
A5814B962538171000CF4451 /* Dhcp.h */,
A5814B7A2538171000CF4451 /* DmaRemappingReportingTable.h */,
A5814B712538171000CF4451 /* ElTorito.h */,
A5814B782538171000CF4451 /* Emmc.h */,
A5814BA12538171000CF4451 /* HighPrecisionEventTimerTable.h */,
A5814BB92538171000CF4451 /* Hsti.h */,
A5814BBA2538171000CF4451 /* WindowsUxCapsule.h */,
A5814BBB2538171000CF4451 /* Tpm12.h */,
A5814BB12538171000CF4451 /* Http11.h */,
A5814B762538171000CF4451 /* IoRemappingTable.h */,
A5814BBC2538171000CF4451 /* Ipmi.h */,
A5814B8D2538171000CF4451 /* IpmiFruInformationStorage.h */,
A5814B9A2538171000CF4451 /* IpmiNetFnApp.h */,
A5814BBD2538171000CF4451 /* IpmiNetFnBridge.h */,
A5814B852538171000CF4451 /* IpmiNetFnChassis.h */,
A5814B6F2538171000CF4451 /* IpmiNetFnFirmware.h */,
A5814BB32538171000CF4451 /* IpmiNetFnGroupExtension.h */,
A5814B9C2538171000CF4451 /* IpmiNetFnSensorEvent.h */,
A5814B8E2538171000CF4451 /* IpmiNetFnStorage.h */,
A5814B952538171000CF4451 /* IpmiNetFnTransport.h */,
A5814B8F2538171000CF4451 /* IScsiBootFirmwareTable.h */,
A5814BAD2538171000CF4451 /* LegacyBiosMpTable.h */,
A5814B772538171000CF4451 /* LowPowerIdleTable.h */,
A5814B812538171000CF4451 /* Mbr.h */,
A5814B8C2538171000CF4451 /* MemoryMappedConfigurationSpaceAccessTable.h */,
A5814BAA2538171000CF4451 /* MemoryOverwriteRequestControlLock.h */,
A5814B752538171000CF4451 /* Nvme.h */,
A5814BB52538171000CF4451 /* Pci.h */,
A5814B802538171000CF4451 /* Pci22.h */,
A5814B992538171000CF4451 /* Pci23.h */,
A5814BB82538171000CF4451 /* Pci30.h */,
A5814B942538171000CF4451 /* PciCodeId.h */,
A5814B9E2538171000CF4451 /* PciExpress21.h */,
A5814B892538171000CF4451 /* PciExpress30.h */,
A5814B9F2538171000CF4451 /* PciExpress31.h */,
A5814B9B2538171000CF4451 /* PciExpress40.h */,
A5814B882538171000CF4451 /* PeImage.h */,
A5814BB72538171000CF4451 /* Scsi.h */,
A5814BA42538171000CF4451 /* Sd.h */,
A5814B8A2538171000CF4451 /* SdramSpd.h */,
A5814B722538171000CF4451 /* SdramSpdDdr3.h */,
A5814B832538171000CF4451 /* SdramSpdDdr4.h */,
A5814B702538171000CF4451 /* SdramSpdLpDdr.h */,
A5814B7F2538171000CF4451 /* SerialPortConsoleRedirectionTable.h */,
A5814BBE2538171000CF4451 /* ServiceProcessorManagementInterfaceTable.h */,
A5814BA92538171000CF4451 /* SmBios.h */,
A5814BB02538171000CF4451 /* SmBus.h */,
A5814BB22538171000CF4451 /* TcgPhysicalPresence.h */,
A5814BA02538171000CF4451 /* TcgStorageCore.h */,
A5814B842538171000CF4451 /* TcgStorageOpal.h */,
A5814BAC2538171000CF4451 /* TcpaAcpi.h */,
A5814BB42538171000CF4451 /* Tls1.h */,
A5814B872538171000CF4451 /* Tpm2Acpi.h */,
A5814BBB2538171000CF4451 /* Tpm12.h */,
A5814B932538171000CF4451 /* Tpm20.h */,
A5814B972538171000CF4451 /* TpmPtp.h */,
A5814BAE2538171000CF4451 /* TpmTis.h */,
A5814BA72538171000CF4451 /* Udf.h */,
A5814B7E2538171000CF4451 /* UefiTcgPlatform.h */,
A5814BA22538171000CF4451 /* Usb.h */,
A5814B792538171000CF4451 /* WatchdogActionTable.h */,
A5814BA52538171000CF4451 /* WatchdogResourceTable.h */,
A5814B742538171000CF4451 /* WindowsSmmSecurityMitigationTable.h */,
A5814BBA2538171000CF4451 /* WindowsUxCapsule.h */,
);
path = IndustryStandard;
sourceTree = "<group>";