9#ifndef _REGISTER_CPU_FEATURES_H_
10#define _REGISTER_CPU_FEATURES_H_
28#define CPU_FEATURE_ENTRY_SIGNATURE SIGNATURE_32 ('C', 'F', 'E', 'S')
30#define CPU_FEATURE_NAME_SIZE 128
34 UINT8 *FeaturesSupportedMask;
46 UINT8 *ThreadBeforeFeatureBitMask;
47 UINT8 *ThreadAfterFeatureBitMask;
48 UINT8 *CoreBeforeFeatureBitMask;
49 UINT8 *CoreAfterFeatureBitMask;
50 UINT8 *PackageBeforeFeatureBitMask;
51 UINT8 *PackageAfterFeatureBitMask;
61 volatile UINTN MemoryMappedLock;
62 volatile UINT32 *CoreSemaphoreCount;
63 volatile UINT32 *PackageSemaphoreCount;
92#define CPU_FEATURE_ENTRY_FROM_LINK(a) \
97 CPU_FEATURE_ENTRY_SIGNATURE \
165 OUT UINTN *NumberOfEnabledProcessors
187 IN UINT8 *FeatureMask,
188 IN UINT32 BitMaskSize
201 IN UINT32 BitMaskSize
213CPU_FEATURE_DEPENDENCE_TYPE
217 IN UINT8 *NextCpuFeatureMask
229CPU_FEATURE_DEPENDENCE_TYPE
VOID(EFIAPI * EFI_AP_PROCEDURE)(IN OUT VOID *Buffer)
UINTN GetProcessorIndex(IN CPU_FEATURES_DATA *CpuFeaturesData)
VOID DumpCpuFeature(IN CPU_FEATURES_ENTRY *CpuFeature, IN UINT32 BitMaskSize)
VOID DumpCpuFeatureMask(IN UINT8 *FeatureMask, IN UINT32 BitMaskSize)
CPU_FEATURES_DATA * GetCpuFeaturesData(VOID)
CPU_FEATURE_DEPENDENCE_TYPE DetectNoneNeighborhoodFeatureScope(IN CPU_FEATURES_ENTRY *CpuFeature, IN BOOLEAN Before, IN LIST_ENTRY *FeatureList)
VOID SwitchNewBsp(IN UINTN ProcessorNumber)
VOID GetNumberOfProcessor(OUT UINTN *NumberOfCpus, OUT UINTN *NumberOfEnabledProcessors)
ACPI_CPU_DATA * GetAcpiCpuData(VOID)
VOID EFIAPI SetProcessorRegister(IN OUT VOID *Buffer)
CPU_FEATURE_DEPENDENCE_TYPE DetectFeatureScope(IN CPU_FEATURES_ENTRY *CpuFeature, IN BOOLEAN Before, IN UINT8 *NextCpuFeatureMask)
EFI_STATUS GetProcessorInformation(IN UINTN ProcessorNumber, OUT EFI_PROCESSOR_INFORMATION *ProcessorInfoBuffer)
VOID StartupAllAPsWorker(IN EFI_AP_PROCEDURE Procedure, IN EFI_EVENT MpEvent)
MP_SERVICES GetMpService(VOID)
RETURN_STATUS(EFIAPI * CPU_FEATURE_INITIALIZE)(IN UINTN ProcessorNumber, IN REGISTER_CPU_FEATURE_INFORMATION *CpuInfo, IN VOID *ConfigData OPTIONAL, IN BOOLEAN State)
BOOLEAN(EFIAPI * CPU_FEATURE_SUPPORT)(IN UINTN ProcessorNumber, IN REGISTER_CPU_FEATURE_INFORMATION *CpuInfo, IN VOID *ConfigData OPTIONAL)
VOID *(EFIAPI * CPU_FEATURE_GET_CONFIG_DATA)(IN UINTN NumberOfProcessors)