HalpSetClockBeforeSleep
INT64 __fastcall HalpSetClockBeforeSleep(INT64 a1, INT64 a2, INT64 a3){
unsigned __int8 v3;
unsigned __int8 v4;
INT64 result;
HalpAcquireCmosSpinLock(a1, a2, a3);
__outbyte(0x70u, 0xAu);
v3 = __inbyte(0x71u);
HalpRtcRegA = v3;
__outbyte(0x70u, 0xBu);
v4 = __inbyte(0x71u);
HalpRtcRegB = v4;
__outbyte(0x70u, 0xBu);
__outbyte(0x71u, v4 & 0xBD | 2);
__outbyte(0x70u, 0xCu);
__inbyte(0x71u);
__outbyte(0x70u, 0xDu);
__inbyte(0x71u);
result = (unsigned int)_InterlockedExchange(&HalpSystemHardwareLock, -1);
if( (_BYTE)HalpSystemHardwareLockInterruptsEnabled )
_enable();
return result;
}Referenced by:
HalpAcpiPreSleep
HalpDpPreReplace