HalpInitializePmcCounterSetInfo
PSTR __stdcall HalpInitializePmcCounterSetInfo(){
__int64 MaximumProcessorCount;
PSTR result;
__int64 v2;
__int64 v3;
_QWORD *v4;
MaximumProcessorCount = (unsigned int)HalQueryMaximumProcessorCount();
result = (PSTR)HalpMmAllocatePerProcessorMemory(24);
v2 = 0i64;
HalpCounterSetInfo = (__int64)result;
if( !result )
KeBugCheckEx(
0xACu,
24 * MaximumProcessorCount,
0x2200ui64,
(ULONG_PTR)"minkernel\\hals\\lib\\hwperfcnt\\profile.c",
0x851ui64);
if( (_DWORD)MaximumProcessorCount )
{
v3 = (unsigned int)MaximumProcessorCount;
do
{
v4 = (_QWORD *)(v2 + HalpCounterSetInfo);
v2 += 24i64;
v4[1] = v4;
*v4 = v4;
result = *(PSTR *)&KUSER_SHARED_DATA.InterruptTime.LowPart;
v4[2] = *(_QWORD *)&KUSER_SHARED_DATA.InterruptTime.LowPart;
--v3;
}
while( v3 );
}
return result;
}Referenced by:
HalpHwPerfCntInitSystem