HalpTimerWatchdogTriggerSystemReset
INT64 __stdcall HalpTimerWatchdogTriggerSystemReset(INT8 ResetViaClockInterrupt, INT64 a3){
PVOID v3;
unsigned int v4;
signed __int32 v6[8];
unsigned int v7;
unsigned __int64 v8;
unsigned __int64 v9;
int v10;
INT64 result[21];
memset((INT64)result + 4, 0i64);
v3 = HalpWatchdogTimer;
v4 = 0;
v7 = 0;
if( !HalpWatchdogTimer )
return 3221225473i64;
if( ResetViaClockInterrupt )
{
HalpTimerWatchdogResetCount = -1i64;
_InterlockedOr(v6, 0);
v10 = 1310721;
memset((INT64)result, 0i64);
KeAddProcessorAffinityEx(&v10, KiClockTimerOwner);
HalRequestClockInterrupt(0, &v10);
}
else
{
HalpTimerWatchdogResetCount = -2i64;
_InterlockedOr(v6, 0);
HalpTimerGetClockRates((__int64)v3, &v8, &v7);
return(unsigned int)HalpSetTimer((__int64)v3, 3u, v7, 1, &v9);
}
return v4;
}Referenced by:
HalpTimerAlwaysOnClockInterrupt
HalpTimerClockInterrupt
HalpTimerClockIpiRoutine