34 ASSERT (ConfigData !=
NULL);
59 IN VOID *ConfigData OPTIONAL
64 if (CpuInfo->CpuIdVersionInfoEdx.Bits.ACPI == 1) {
66 ASSERT (CmConfigData !=
NULL);
69 &CmConfigData[ProcessorNumber].ThermalPowerManagementEax.Uint32,
103 IN VOID *ConfigData OPTIONAL,
111 ASSERT (CmConfigData !=
NULL);
112 ClockModulation = &CmConfigData[ProcessorNumber].ClockModulation;
117 if (CmConfigData[ProcessorNumber].ThermalPowerManagementEax.Bits.ECMD == 1) {
RETURN_STATUS EFIAPI ClockModulationInitialize(IN UINTN ProcessorNumber, IN REGISTER_CPU_FEATURE_INFORMATION *CpuInfo, IN VOID *ConfigData OPTIONAL, IN BOOLEAN State)
VOID *EFIAPI ClockModulationGetConfigData(IN UINTN NumberOfProcessors)
BOOLEAN EFIAPI ClockModulationSupport(IN UINTN ProcessorNumber, IN REGISTER_CPU_FEATURE_INFORMATION *CpuInfo, IN VOID *ConfigData OPTIONAL)
VOID *EFIAPI AllocateZeroPool(IN UINTN AllocationSize)
UINT64 EFIAPI AsmReadMsr64(IN UINT32 Index)
#define MSR_IA32_CLOCK_MODULATION
#define CPUID_THERMAL_POWER_MANAGEMENT
UINT32 EFIAPI AsmCpuid(IN UINT32 Index, OUT UINT32 *RegisterEax OPTIONAL, OUT UINT32 *RegisterEbx OPTIONAL, OUT UINT32 *RegisterEcx OPTIONAL, OUT UINT32 *RegisterEdx OPTIONAL)
#define PcdGet8(TokenName)
#define CPU_REGISTER_TABLE_WRITE64(ProcessorNumber, RegisterType, Index, Value)
UINT32 OnDemandClockModulationDutyCycle
UINT32 ExtendedOnDemandClockModulationDutyCycle
struct MSR_IA32_CLOCK_MODULATION_REGISTER::@638 Bits
UINT32 OnDemandClockModulationEnable