ProcessorPackageNumberRecordType = 21,\r
ProcessorCoreFrequencyListRecordType = 22,\r
ProcessorFsbFrequencyListRecordType = 23,\r
- ProcessorHealthStatusRecordType = 24\r
+ ProcessorHealthStatusRecordType = 24,\r
+ ProcessorCoreCountRecordType = 25,\r
+ ProcessorEnabledCoreCountRecordType = 26,\r
+ ProcessorThreadCountRecordType = 27,\r
+ ProcessorCharacteristicsRecordType = 28,\r
+ ProcessorFamily2RecordType = 29,\r
+ ProcessorPartNumberRecordType = 30,\r
} EFI_CPU_VARIABLE_RECORD_TYPE;\r
\r
- The data structure and all enumeration fields are *NOT* defined in ProcSubclass specification 0.9, which only\r
- defines the following macros to specify the record number of the data record:\r
+ The enumeration fields from ProcessorCoreFrequencyRecordType to ProcessorHealthStatusRecordType are *NOT* defined \r
+ in ProcSubclass specification 0.9, which only defines the following macros to specify the record number of the data record:\r
#define EFI_PROCESSOR_FREQUENCY_RECORD_NUMBER 0x00000001\r
#define EFI_PROCESSOR_BUS_FREQUENCY_RECORD_NUMBER 0x00000002\r
#define EFI_PROCESSOR_VERSION_RECORD_NUMBER 0x00000003\r
#define EFI_PROCESSOR_HEALTH_STATUS_RECORD_NUMBER 0x00000018\r
Keeping this inconsistency for backward compatibility.\r
\r
+ The enumeration fields from ProcessorCoreCountRecordType to ProcessorPartNumberRecordType are *NOT* defined \r
+ in ProcSubclass specification 0.9. \r
+ They are introduced to support new fields for type 4 defined in SmBios 2.6 specification.\r
+ Keeping this inconsistency to reflect the latest industry standard.\r
+\r
8. Guid/DataHubRecords.h\r
typedef union {\r
EFI_PROCESSOR_CORE_FREQUENCY_LIST_DATA ProcessorCoreFrequencyList;\r
...\r
- EFI_PROCESSOR_PACKAGE_NUMBER_DATA ProcessorPackageNumber;\r
+ EFI_PROCESSOR_FAMILY2_DATA ProcessorFamily2;\r
} EFI_CPU_VARIABLE_RECORD;\r
\r
typedef struct {\r
code logic. Therefore developer doesn't need to allocate memory dynamically to construct variable length data record.\r
Keeping this inconsistency for backward compatibility.\r
\r
+ 9. Guid/DataHubRecords.h\r
+ typedef STRING_REF EFI_PROCESSOR_PART_NUMBER_DATA;\r
+\r
+ typedef enum {\r
+ EfiProcessorFamilySh3 = 0x104,\r
+ EfiProcessorFamilySh4 = 0x105,\r
+ EfiProcessorFamilyArm = 0x118,\r
+ EfiProcessorFamilyStrongArm = 0x119,\r
+ EfiProcessorFamily6x86 = 0x12C,\r
+ EfiProcessorFamilyMediaGx = 0x12D,\r
+ EfiProcessorFamilyMii = 0x12E,\r
+ EfiProcessorFamilyWinChip = 0x140,\r
+ EfiProcessorFamilyDsp = 0x15E,\r
+ EfiProcessorFamilyVideo = 0x1F4\r
+ } EFI_PROCESSOR_FAMILY2_DATA;\r
+\r
+ typedef UINT8 EFI_PROCESSOR_CORE_COUNT_DATA;\r
+\r
+ typedef UINT8 EFI_PROCESSOR_ENABLED_CORE_COUNT_DATA;\r
+\r
+ typedef UINT8 EFI_PROCESSOR_THREAD_COUNT_DATA;\r
+\r
+ typedef struct {\r
+ UINT16 Reserved :1;\r
+ UINT16 Unknown :1;\r
+ UINT16 Capable64Bit :1;\r
+ UINT16 Reserved2 :13;\r
+ } EFI_PROCESSOR_CHARACTERISTICS_DATA;\r
+\r
+ The fields listed here are *NOT* defined in ProcSubclass specification 0.9. They are introduced to support\r
+ new fields for type 4 defined in SmBios 2.6 specification. \r
+ Keeping this inconsistency to reflect the latest industry standard.\r
+\r
##\r
# Mismatch with Intel Platform Innovation Framework for MemSubclass Specification (Version 0.90)\r
##\r
The enumeration fields listed above are *NOT* defined in Framework SmmCis specification 0.91. EdkII introduces\r
these fields to support new SMI types.\r
\r
+ 3. Include/Framework/SmmCis.h\r
+ typedef union {\r
+ ///\r
+ /// The processor save-state information for IA-32 processors. \r
+ ///\r
+ EFI_SMI_CPU_SAVE_STATE Ia32SaveState;\r
+ ///\r
+ /// Note: Inconsistency with the Framework SMM CIS spec - Itanium save state not included.\r
+ ///\r
+ /// The processor save-state information for Itanium processors.\r
+ ///\r
+ /// EFI_PMI_SYSTEM_CONTEXT ItaniumSaveState;\r
+ } EFI_SMM_CPU_SAVE_STATE;\r
+\r
##\r
# Mismatch with Intel Platform Innovation Framework for EFI S3 Resume Boot Path Specification (Version 0.9)\r
##\r