PpmPerfApplyCapsAndFloors
UINT8 __stdcall PpmPerfApplyCapsAndFloors(
UINT64 *MaxConstraint,
UINT64 *MinConstraint,
UINT64 *GuaranteedPercent,
_PROC_PERF_DOMAIN *Domain){
__int64 ProcessorCount;
UINT8 v5;
unsigned __int8 HardPlatformCap;
unsigned int v8;
unsigned int *p_PlatformCap;
unsigned int v10;
unsigned int v11;
unsigned int v12;
unsigned int v13;
ProcessorCount = Domain->ProcessorCount;
v5 = 0;
if( (_DWORD)ProcessorCount )
{
HardPlatformCap = Domain->HardPlatformCap;
v8 = *(_DWORD *)GuaranteedPercent;
p_PlatformCap = &Domain->Processors->PlatformCap;
v10 = *(_DWORD *)MinConstraint;
do
{
v11 = p_PlatformCap[1];
v12 = v10;
if( v11 >= p_PlatformCap[6] )
v11 = p_PlatformCap[6];
if( HardPlatformCap && v11 >= *p_PlatformCap )
v11 = *p_PlatformCap;
if( v11 < 0x64 && *(_DWORD *)MaxConstraint > v11 )
{
v5 = 1;
*(_DWORD *)MaxConstraint = v11;
}
v13 = *p_PlatformCap;
if( v11 < *p_PlatformCap )
v13 = v11;
if( v8 > v13 )
v8 = v13;
v10 = p_PlatformCap[7];
if( v12 >= v10 )
v10 = v12;
p_PlatformCap += 34;
--ProcessorCount;
}
while( ProcessorCount );
*(_DWORD *)GuaranteedPercent = v8;
*(_DWORD *)MinConstraint = v10;
}
return v5;
}Referenced by:
PpmPerfApplyDomainState