HvlConfigureIdleStates
NTSTATUS __stdcall HvlConfigureIdleStates(UINT64 LpIndex, _HV_X64_PPM_IDLE_STATE_CONFIG_PROPERTY *IdleStateConfig){
char *v2;
__int64 v3;
__int128 v4;
__int128 v5;
__int128 v6;
__int128 v7;
__int128 v8;
__int128 v9;
__int128 v10;
__int128 v12;
char v13;
*((_QWORD *)&v12 + 1) = (unsigned int)LpIndex;
*(_QWORD *)&v12 = 0i64;
v2 = &v13;
v3 = 3i64;
do
{
v4 = *(_OWORD *)&IdleStateConfig->States[0].Type;
*(_OWORD *)v2 = *(_OWORD *)&IdleStateConfig->StateCount;
v5 = *(_OWORD *)&IdleStateConfig->States[1].Config.AsUINT64;
*((_OWORD *)v2 + 1) = v4;
v6 = *(_OWORD *)&IdleStateConfig->States[1].PowerConsumption;
*((_OWORD *)v2 + 2) = v5;
v7 = *(_OWORD *)&IdleStateConfig->States[2].Type;
*((_OWORD *)v2 + 3) = v6;
v8 = *(_OWORD *)&IdleStateConfig->States[3].Config.AsUINT64;
*((_OWORD *)v2 + 4) = v7;
v9 = *(_OWORD *)&IdleStateConfig->States[3].PowerConsumption;
*((_OWORD *)v2 + 5) = v8;
v10 = *(_OWORD *)&IdleStateConfig->States[4].Type;
IdleStateConfig = (_HV_X64_PPM_IDLE_STATE_CONFIG_PROPERTY *)((char *)IdleStateConfig + 128);
*((_OWORD *)v2 + 6) = v9;
v2 += 128;
*((_OWORD *)v2 - 1) = v10;
--v3;
}
while( v3 );
*(_QWORD *)v2 = *(_QWORD *)&IdleStateConfig->StateCount;
return HvlpSetPowerProperty(&v12);
}Referenced by:
No references.