HalpTimerSaveProcessorFrequency
ULONG_PTR *__stdcall HalpTimerSaveProcessorFrequency(){
KPCR *Pcr;
INT64 *Timer;
unsigned __int64 v2;
ULONG_PTR *result;
Pcr = KeGetPcr();
Timer = HalpFindTimer(5, 0, 0, 0, 1);
if( Timer )
{
*(_QWORD *)Pcr->HalReserved = 10000 * ((Timer[24] + 5000) / 0x2710ui64);
v2 = 1000000 * ((Timer[24] + 500000) / 0xF4240ui64);
Pcr->StallScaleFactor = v2 / 0xF4240;
KeGetCurrentPrcb()->MHz = v2 / 0xF4240;
}
result = (ULONG_PTR *)HalpFindTimer(7, 0, 0, 0, 1);
if( result )
{
result = (ULONG_PTR *)(10000 * (unsigned int)((*((_QWORD *)result + 24) + 5000i64) / 0x2710ui64));
Pcr->HalReserved[3] = (unsigned int)result;
}
return result;
}Referenced by:
No references.