X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=IntelFrameworkPkg%2FFrameworkSpecConformance.txt;h=5a52bf5190e54af02beb3769dbacccf969d32419;hp=f70386b728dbe357b3a03733dcfcd411dbf61cb7;hb=8e01b449de91cfcd1bdf473ae1bc766c22eb616e;hpb=b1fe77c930ab7c0c2deb2ad31d67eb58763aa7aa diff --git a/IntelFrameworkPkg/FrameworkSpecConformance.txt b/IntelFrameworkPkg/FrameworkSpecConformance.txt index f70386b728..5a52bf5190 100644 --- a/IntelFrameworkPkg/FrameworkSpecConformance.txt +++ b/IntelFrameworkPkg/FrameworkSpecConformance.txt @@ -226,11 +226,17 @@ ProcessorPackageNumberRecordType = 21, ProcessorCoreFrequencyListRecordType = 22, ProcessorFsbFrequencyListRecordType = 23, - ProcessorHealthStatusRecordType = 24 + ProcessorHealthStatusRecordType = 24, + ProcessorCoreCountRecordType = 25, + ProcessorEnabledCoreCountRecordType = 26, + ProcessorThreadCountRecordType = 27, + ProcessorCharacteristicsRecordType = 28, + ProcessorFamily2RecordType = 29, + ProcessorPartNumberRecordType = 30, } EFI_CPU_VARIABLE_RECORD_TYPE; - The data structure and all enumeration fields are *NOT* defined in ProcSubclass specification 0.9, which only - defines the following macros to specify the record number of the data record: + The enumeration fields from ProcessorCoreFrequencyRecordType to ProcessorHealthStatusRecordType are *NOT* defined + in ProcSubclass specification 0.9, which only defines the following macros to specify the record number of the data record: #define EFI_PROCESSOR_FREQUENCY_RECORD_NUMBER 0x00000001 #define EFI_PROCESSOR_BUS_FREQUENCY_RECORD_NUMBER 0x00000002 #define EFI_PROCESSOR_VERSION_RECORD_NUMBER 0x00000003 @@ -257,11 +263,16 @@ #define EFI_PROCESSOR_HEALTH_STATUS_RECORD_NUMBER 0x00000018 Keeping this inconsistency for backward compatibility. + The enumeration fields from ProcessorCoreCountRecordType to ProcessorPartNumberRecordType are *NOT* defined + in ProcSubclass specification 0.9. + They are introduced to support new fields for type 4 defined in SmBios 2.6 specification. + Keeping this inconsistency to reflect the latest industry standard. + 8. Guid/DataHubRecords.h typedef union { EFI_PROCESSOR_CORE_FREQUENCY_LIST_DATA ProcessorCoreFrequencyList; ... - EFI_PROCESSOR_PACKAGE_NUMBER_DATA ProcessorPackageNumber; + EFI_PROCESSOR_FAMILY2_DATA ProcessorFamily2; } EFI_CPU_VARIABLE_RECORD; typedef struct { @@ -273,6 +284,39 @@ code logic. Therefore developer doesn't need to allocate memory dynamically to construct variable length data record. Keeping this inconsistency for backward compatibility. + 9. Guid/DataHubRecords.h + typedef STRING_REF EFI_PROCESSOR_PART_NUMBER_DATA; + + typedef enum { + EfiProcessorFamilySh3 = 0x104, + EfiProcessorFamilySh4 = 0x105, + EfiProcessorFamilyArm = 0x118, + EfiProcessorFamilyStrongArm = 0x119, + EfiProcessorFamily6x86 = 0x12C, + EfiProcessorFamilyMediaGx = 0x12D, + EfiProcessorFamilyMii = 0x12E, + EfiProcessorFamilyWinChip = 0x140, + EfiProcessorFamilyDsp = 0x15E, + EfiProcessorFamilyVideo = 0x1F4 + } EFI_PROCESSOR_FAMILY2_DATA; + + typedef UINT8 EFI_PROCESSOR_CORE_COUNT_DATA; + + typedef UINT8 EFI_PROCESSOR_ENABLED_CORE_COUNT_DATA; + + typedef UINT8 EFI_PROCESSOR_THREAD_COUNT_DATA; + + typedef struct { + UINT16 Reserved :1; + UINT16 Unknown :1; + UINT16 Capable64Bit :1; + UINT16 Reserved2 :13; + } EFI_PROCESSOR_CHARACTERISTICS_DATA; + + The fields listed here are *NOT* defined in ProcSubclass specification 0.9. They are introduced to support + new fields for type 4 defined in SmBios 2.6 specification. + Keeping this inconsistency to reflect the latest industry standard. + ## # Mismatch with Intel Platform Innovation Framework for MemSubclass Specification (Version 0.90) ## @@ -820,6 +864,19 @@ code logic. Therefore developer doesn't need to allocate memory dynamically to construct variable length data record. Keeping this inconsistency for backward compatibility. + 21. Guid/DataHubRecords.h + typedef struct { + EFI_MISC_COOLING_DEVICE_TYPE CoolingDeviceType; + EFI_INTER_LINK_DATA CoolingDeviceTemperatureLink; + UINT8 CoolingDeviceUnitGroup; + UINT16 CoolingDeviceNominalSpeed; + UINT32 CoolingDeviceOemDefined; + } EFI_MISC_COOLING_DEVICE_TEMP_LINK_DATA; + + The "CoolingDeviceUnitGroup" field and "CoolingDeviceNominalSpeed" field are *NOT* consistent with + MiscSubclass specification 0.9. These fields are aligned with SMBIOS 2.6 specification. And user can easily + assign any value to CoolingDeviceNominalSpeed. + ## # Mismatch with Intel Platform Innovation Framework for Status Codes Specification (Version 0.92) ## @@ -1119,13 +1176,18 @@ ## 1. Include/Guid/SmramMemoryReserve.h typedef struct { + UINT32 NumberOfSmmReservedRegions; ... } EFI_SMRAM_HOB_DESCRIPTOR_BLOCK; - The name of the definition is *NOT* consistent with Framework SmmCis specification 0.91, in which it's + 1) The name of the definition is *NOT* consistent with Framework SmmCis specification 0.91, in which it's defined as "EFI_HOB_SMRAM_DESCRIPTOR_BLOCK" rather than "EFI_SMRAM_HOB_DESCRIPTOR_BLOCK". Keeping this inconsistency for backward compatibility. + 2) The definition of NumberOfSmmReservedRegions is *NOT* consistent with Framework SmmCis specification 0.91, + in which the type of this field is defined as UINTN. However, HOBs are supposed to be CPU neutral, so UINTN + is incorrect and UINT32 should be used. + 2. Include/Guid/SmramMemoryReserve.h typedef enum { ... @@ -1144,6 +1206,20 @@ The enumeration fields listed above are *NOT* defined in Framework SmmCis specification 0.91. EdkII introduces these fields to support new SMI types. + 3. Include/Framework/SmmCis.h + typedef union { + /// + /// The processor save-state information for IA-32 processors. + /// + EFI_SMI_CPU_SAVE_STATE Ia32SaveState; + /// + /// Note: Inconsistency with the Framework SMM CIS spec - Itanium save state not included. + /// + /// The processor save-state information for Itanium processors. + /// + /// EFI_PMI_SYSTEM_CONTEXT ItaniumSaveState; + } EFI_SMM_CPU_SAVE_STATE; + ## # Mismatch with Intel Platform Innovation Framework for EFI S3 Resume Boot Path Specification (Version 0.9) ##