1. change the value of EFI_PROCESSOR_SUBCLASS_VERSION to follow spec.

2. remove EFI_STRING_TOKEN, which doesn't be defined by any spec. replace it with STRING_REF.
3. change the fields of EFI_EXP_BASE10_DATA to INT16 to follow spec.
4. change the field name of EFI_PROCESSOR_MISC_INFO to follow spec.
5. note that field which are introduced to reflect the SMBIOS2.6
6. change name EFI_PROCESSOR_HEALTH_STATUS to EFI_PROCESSOR_HEALTH_STATUS_DATA
7. EFI_CACHE_ASSOCIATION_DATA to  EFI_PROCESSOR_CACHE_ASSOCIATION_DATA

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8793 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
eric_tian 2009-07-08 03:10:27 +00:00
parent 99caac3b19
commit b66be4ca3e
1 changed files with 103 additions and 29 deletions

View File

@ -28,7 +28,7 @@
#include <Protocol/DevicePath.h> #include <Protocol/DevicePath.h>
#include <Protocol/FrameworkHii.h> #include <Protocol/FrameworkHii.h>
#define EFI_PROCESSOR_SUBCLASS_VERSION 0x00010000 #define EFI_PROCESSOR_SUBCLASS_VERSION 0x0100
#pragma pack(1) #pragma pack(1)
@ -131,12 +131,6 @@ typedef union _EFI_MISC_PORT_DEVICE_PATH {
} EFI_MISC_PORT_DEVICE_PATH; } EFI_MISC_PORT_DEVICE_PATH;
#pragma pack() #pragma pack()
//
// String Token Definition
//
#define EFI_STRING_TOKEN UINT16
/// ///
/// Each data record that is a member of some subclass starts with a standard /// Each data record that is a member of some subclass starts with a standard
/// header of type EFI_SUBCLASS_TYPE1_HEADER. /// header of type EFI_SUBCLASS_TYPE1_HEADER.
@ -229,11 +223,11 @@ typedef struct {
/// ///
/// The INT16 number by which to multiply the base-2 representation. /// The INT16 number by which to multiply the base-2 representation.
/// ///
UINT16 Value; INT16 Value;
/// ///
/// The INT16 number by which to raise the base-2 calculation. /// The INT16 number by which to raise the base-2 calculation.
/// ///
UINT16 Exponent; INT16 Exponent;
} EFI_EXP_BASE10_DATA; } EFI_EXP_BASE10_DATA;
typedef EFI_EXP_BASE10_DATA EFI_PROCESSOR_MAX_CORE_FREQUENCY_DATA; typedef EFI_EXP_BASE10_DATA EFI_PROCESSOR_MAX_CORE_FREQUENCY_DATA;
@ -279,7 +273,7 @@ typedef struct {
typedef struct { typedef struct {
UINT32 ProcessorBrandIndex :8; UINT32 ProcessorBrandIndex :8;
UINT32 ProcessorClflush :8; UINT32 ProcessorClflush :8;
UINT32 ProcessorReserved :8; UINT32 LogicalProcessorCount :8;
UINT32 ProcessorDfltApicId :8; UINT32 ProcessorDfltApicId :8;
} EFI_PROCESSOR_MISC_INFO; } EFI_PROCESSOR_MISC_INFO;
@ -421,6 +415,10 @@ typedef enum {
EfiProcessorFamilyUltraSparcII = 0x55, EfiProcessorFamilyUltraSparcII = 0x55,
EfiProcessorFamilyUltraSparcIIi = 0x56, EfiProcessorFamilyUltraSparcIIi = 0x56,
EfiProcessorFamilyUltraSparcIII = 0x57, EfiProcessorFamilyUltraSparcIII = 0x57,
///
/// Inconsistent with specification here:
/// This field in ProcSubClass spec0.9 is defined as EfiProcessorFamilyUltraSparcIIi, it's a typo.
///
EfiProcessorFamilyUltraSparcIIIi = 0x58, EfiProcessorFamilyUltraSparcIIIi = 0x58,
EfiProcessorFamily68040 = 0x60, EfiProcessorFamily68040 = 0x60,
EfiProcessorFamily68xxx = 0x61, EfiProcessorFamily68xxx = 0x61,
@ -458,25 +456,85 @@ typedef enum {
EfiProcessorFamilyAMDAthlonXP = 0xB6, EfiProcessorFamilyAMDAthlonXP = 0xB6,
EfiProcessorFamilyAMDAthlonMP = 0xB7, EfiProcessorFamilyAMDAthlonMP = 0xB7,
EfiProcessorFamilyIntelItanium2 = 0xB8, EfiProcessorFamilyIntelItanium2 = 0xB8,
///
/// Inconsistent with specification here:
/// This field is NOT defined in ProcSubClass spec0.9. It's introduced for SMBIOS2.6 spec.
///
EfiProcessorFamilyIntelPentiumM = 0xB9, EfiProcessorFamilyIntelPentiumM = 0xB9,
///
/// Inconsistent with specification here:
/// This field is NOT defined in ProcSubClass spec0.9. It's introduced for SMBIOS2.6 spec.
///
EfiProcessorFamilyIntelCeleronD = 0xBA, EfiProcessorFamilyIntelCeleronD = 0xBA,
///
/// Inconsistent with specification here:
/// This field is NOT defined in ProcSubClass spec0.9. It's introduced for SMBIOS2.6 spec.
///
EfiProcessorFamilyIntelPentiumD = 0xBB, EfiProcessorFamilyIntelPentiumD = 0xBB,
///
/// Inconsistent with specification here:
/// This field is NOT defined in ProcSubClass spec0.9. It's introduced for SMBIOS2.6 spec.
///
EfiProcessorFamilyIntelPentiumEx = 0xBC, EfiProcessorFamilyIntelPentiumEx = 0xBC,
EfiProcessorFamilyIntelCoreSolo = 0xBD, ///< SMBIOS spec 2.6 correct this value ///
/// Inconsistent with specification here:
/// This field is NOT defined in ProcSubClass spec0.9. It's introduced for SMBIOS2.6 spec.
///
EfiProcessorFamilyIntelCoreSolo = 0xBD,
///
/// Inconsistent with specification here:
/// This field is NOT defined in ProcSubClass spec0.9. It's introduced for SMBIOS2.6 spec.
///
EfiProcessorFamilyReserved = 0xBE, EfiProcessorFamilyReserved = 0xBE,
///
/// Inconsistent with specification here:
/// This field is NOT defined in ProcSubClass spec0.9. It's introduced for SMBIOS2.6 spec.
///
EfiProcessorFamilyIntelCore2 = 0xBF, EfiProcessorFamilyIntelCore2 = 0xBF,
EfiProcessorFamilyIBM390 = 0xC8, EfiProcessorFamilyIBM390 = 0xC8,
EfiProcessorFamilyG4 = 0xC9, EfiProcessorFamilyG4 = 0xC9,
EfiProcessorFamilyG5 = 0xCA, EfiProcessorFamilyG5 = 0xCA,
///
/// Inconsistent with specification here:
/// This field is NOT defined in ProcSubClass spec0.9. It's introduced for SMBIOS2.6 spec.
///
EfiProcessorFamilyG6 = 0xCB, EfiProcessorFamilyG6 = 0xCB,
///
/// Inconsistent with specification here:
/// This field is NOT defined in ProcSubClass spec0.9. It's introduced for SMBIOS2.6 spec.
///
EfiProcessorFamilyzArchitectur = 0xCC, EfiProcessorFamilyzArchitectur = 0xCC,
///
/// Inconsistent with specification here:
/// This field is NOT defined in ProcSubClass spec0.9. It's introduced for SMBIOS2.6 spec.
///
EfiProcessorFamilyViaC7M = 0xD2, EfiProcessorFamilyViaC7M = 0xD2,
///
/// Inconsistent with specification here:
/// This field is NOT defined in ProcSubClass spec0.9. It's introduced for SMBIOS2.6 spec.
///
EfiProcessorFamilyViaC7D = 0xD3, EfiProcessorFamilyViaC7D = 0xD3,
///
/// Inconsistent with specification here:
/// This field is NOT defined in ProcSubClass spec0.9. It's introduced for SMBIOS2.6 spec.
///
EfiProcessorFamilyViaC7 = 0xD4, EfiProcessorFamilyViaC7 = 0xD4,
///
/// Inconsistent with specification here:
/// This field is NOT defined in ProcSubClass spec0.9. It's introduced for SMBIOS2.6 spec.
///
EfiProcessorFamilyViaEden = 0xD5, EfiProcessorFamilyViaEden = 0xD5,
EfiProcessorFamilyi860 = 0xFA, EfiProcessorFamilyi860 = 0xFA,
EfiProcessorFamilyi960 = 0xFB, EfiProcessorFamilyi960 = 0xFB,
///
/// Inconsistent with specification here:
/// This field is NOT defined in ProcSubClass spec0.9. It's introduced for SMBIOS2.6 spec.
///
EfiProcessorFamilyIndicatorFamily2 = 0xFE, EfiProcessorFamilyIndicatorFamily2 = 0xFE,
///
/// Inconsistent with specification here:
/// This field is NOT defined in ProcSubClass spec0.9. It's introduced for SMBIOS2.6 spec.
///
EfiProcessorFamilyReserved1 = 0xFF EfiProcessorFamilyReserved1 = 0xFF
} EFI_PROCESSOR_FAMILY_DATA; } EFI_PROCESSOR_FAMILY_DATA;
@ -565,15 +623,31 @@ typedef enum {
EfiProcessorSocket478 = 0xF, EfiProcessorSocket478 = 0xF,
EfiProcessorSocket754 = 0x10, EfiProcessorSocket754 = 0x10,
EfiProcessorSocket940 = 0x11, EfiProcessorSocket940 = 0x11,
///
/// Inconsistent with specification here:
/// This field is NOT defined in ProcSubClass spec0.9. It's introduced for SMBIOS2.6 spec.
///
EfiProcessorSocket939 = 0x12, EfiProcessorSocket939 = 0x12,
///
/// Inconsistent with specification here:
/// This field is NOT defined in ProcSubClass spec0.9. It's introduced for SMBIOS2.6 spec.
///
EfiProcessorSocketmPGA604 = 0x13, EfiProcessorSocketmPGA604 = 0x13,
///
/// Inconsistent with specification here:
/// This field is NOT defined in ProcSubClass spec0.9. It's introduced for SMBIOS2.6 spec.
///
EfiProcessorSocketLGA771 = 0x14, EfiProcessorSocketLGA771 = 0x14,
///
/// Inconsistent with specification here:
/// This field is NOT defined in ProcSubClass spec0.9. It's introduced for SMBIOS2.6 spec.
///
EfiProcessorSocketLGA775 = 0x15 EfiProcessorSocketLGA775 = 0x15
} EFI_PROCESSOR_SOCKET_TYPE_DATA; } EFI_PROCESSOR_SOCKET_TYPE_DATA;
typedef STRING_REF EFI_PROCESSOR_SOCKET_NAME_DATA; typedef STRING_REF EFI_PROCESSOR_SOCKET_NAME_DATA;
typedef EFI_INTER_LINK_DATA EFI_CACHE_ASSOCIATION_DATA; typedef EFI_INTER_LINK_DATA EFI_PROCESSOR_CACHE_ASSOCIATION_DATA;
/// ///
/// This data record refers to the health status of the processor. /// This data record refers to the health status of the processor.
@ -582,7 +656,7 @@ typedef enum {
EfiProcessorHealthy = 1, EfiProcessorHealthy = 1,
EfiProcessorPerfRestricted = 2, EfiProcessorPerfRestricted = 2,
EfiProcessorFuncRestricted = 3 EfiProcessorFuncRestricted = 3
} EFI_PROCESSOR_HEALTH_STATUS; } EFI_PROCESSOR_HEALTH_STATUS_DATA;
/// ///
/// This data record refers to the package number of this processor. Multiple logical processors can /// This data record refers to the package number of this processor. Multiple logical processors can
@ -640,7 +714,7 @@ typedef union {
EFI_PROCESSOR_SOCKET_TYPE_DATA ProcessorSocketType; EFI_PROCESSOR_SOCKET_TYPE_DATA ProcessorSocketType;
EFI_PROCESSOR_SOCKET_NAME_DATA ProcessorSocketName; EFI_PROCESSOR_SOCKET_NAME_DATA ProcessorSocketName;
EFI_PROCESSOR_ASSET_TAG_DATA ProcessorAssetTag; EFI_PROCESSOR_ASSET_TAG_DATA ProcessorAssetTag;
EFI_PROCESSOR_HEALTH_STATUS ProcessorHealthStatus; EFI_PROCESSOR_HEALTH_STATUS_DATA ProcessorHealthStatus;
EFI_PROCESSOR_PACKAGE_NUMBER_DATA ProcessorPackageNumber; EFI_PROCESSOR_PACKAGE_NUMBER_DATA ProcessorPackageNumber;
} EFI_CPU_VARIABLE_RECORD; } EFI_CPU_VARIABLE_RECORD;
@ -760,7 +834,7 @@ typedef union {
EFI_CACHE_TYPE_DATA CacheType; EFI_CACHE_TYPE_DATA CacheType;
EFI_CACHE_ASSOCIATIVITY_DATA CacheAssociativity; EFI_CACHE_ASSOCIATIVITY_DATA CacheAssociativity;
EFI_CACHE_CONFIGURATION_DATA CacheConfig; EFI_CACHE_CONFIGURATION_DATA CacheConfig;
EFI_CACHE_ASSOCIATION_DATA CacheAssociation; EFI_PROCESSOR_CACHE_ASSOCIATION_DATA CacheAssociation;
} EFI_CACHE_VARIABLE_RECORD; } EFI_CACHE_VARIABLE_RECORD;
typedef struct { typedef struct {