PpmApplyIdlePolicy

VOID __stdcall PpmApplyIdlePolicy(_PROCESSOR_POWER_STATE *PpmState){
  __int64 v1; 
  _PPM_IDLE_STATES *IdleStates; 
  __int64 v3; 
  unsigned __int8 v4; 
  unsigned __int8 v5; 

  v1 = *(&stru_140C00F40 + 365);
  IdleStates = PpmState->IdleStates;
  v3 = 2736i64 * *(&stru_140C23628 + 441);
  PpmState->IdlePolicy.AllowScaling = *(_BYTE *)(v3 + *(&stru_140C00F40 + 365) + 188);
  v4 = *(_BYTE *)(v3 + v1 + 196);
  PpmState->IdlePolicy.DemotePercentBase = v4;
  v5 = *(_BYTE *)(v3 + v1 + 197);
  PpmState->IdlePolicy.DemotePercent = v4;
  PpmState->IdlePolicy.PromotePercentBase = v5;
  PpmState->IdlePolicy.PromotePercent = v5;
  IdleStates->PrepareInfo.Constraints.TimeCheck = PpmConvertTime(
                                                    *(unsigned int *)(v3 + v1 + 192),
                                                    0xF4240ui64,
                                                    PopQpcFrequency);
}

Referenced by:

PpmResetIdlePolicy