HalpTimerPrepareClockInterrupt
NTSTATUS __stdcall HalpTimerPrepareClockInterrupt(INT64 a1, INT64 a2, INT64 a3, INT64 a4){
unsigned int Number;
PVOID v5;
unsigned int v6;
NTSTATUS result;
INT64 v8;
_GROUP_AFFINITY v9;
Number = KeGetPcr()->Prcb.Number;
v5 = HalpClockTimer;
LOBYTE(a3) = 13;
v9 = 0i64;
v6 = KiProcessorIndexToNumberMappingTable[Number];
v9.Reserved[1] = 0;
v9.Reserved[2] = 0;
*(_DWORD *)&v9.Group = (unsigned __int16)(v6 >> 6);
v9.Mask = 1i64 << (v6 & 0x3F);
LODWORD(v8) = 0;
result = HalpTimerConfigureInterrupt(
(_KDPC *)HalpClockTimer,
(PVOID)0xD1,
(_KINTERRUPT_MODE)a3,
a4,
(UINT64 *)0xFFFFFFFFFFFFFFFDi64,
v8,
&v9,
HalpTimerClockInterruptStub);
if( result < 0 )
KeBugCheckEx(0x5Cu, (PVOID)0x110, v5, (PVOID)HalpTimerLastProblem, (PVOID)result);
return result;
}Referenced by:
HalpTimerClockActivate