HalpInitializeInterruptsPn

NTSTATUS __stdcall HalpInitializeInterruptsPn(){
  INT64 v0; 
  INT64 v1; 
  INT64 v2; 
  INT64 v3; 
  INT64 v4; 
  INT64 v5; 
  INT64 v6; 
  INT64 v7; 
  NTSTATUS result; 

  qword_140C49C38[KeGetPcr()->Prcb.Number] = (UINT64)KeGetPcr();
  HalpInterruptSetIdtEntry(0x35ui64, HalpInterruptDeferredErrorService, 5, v0, (UINT64 *)0xFFFFFFFFFFFFFFFFi64);
  HalpInterruptSetIdtEntry(0x36ui64, HalpInterruptDeferredErrorService, 5, v1, (UINT64 *)0xFFFFFFFFFFFFFFFFi64);
  HalpInterruptSetIdtEntry(0xDFui64, HalpInterruptSpuriousService, 15, v2, (UINT64 *)0xFFFFFFFFFFFFFFFEi64);
  HalpInterruptSetIdtEntry(0xD8ui64, HalpInterruptStubService, 15, v3, (UINT64 *)0xFFFFFFFFFFFFFFFFi64);
  HalpInterruptSetIdtEntry(0xD7ui64, HalpInterruptRebootService, 15, v4, (UINT64 *)0xFFFFFFFFFFFFFFFFi64);
  HalpInterruptSetIdtEntry(0xE2ui64, HalpInterruptLocalErrorService, 15, v5, (UINT64 *)0xFFFFFFFFFFFFFFFFi64);
  HalpInterruptSetIdtEntry(0xFEui64, HalpPerfInterrupt, 15, v6, (UINT64 *)0xFFFFFFFFFFFFFFFDi64);
  HalpInterruptSetIdtEntry(0xE3ui64, HalpInterruptDeferredRecoveryService, 14, v7, (UINT64 *)0xFFFFFFFFFFFFFFFFi64);
  HalpInterruptReinitializeThisProcessor();
  result = HalpInterruptInitializeIpis();
  if( result < 0 )
    KeBugCheckEx(0x5Cu, (PVOID)0x200, (PVOID)*(&CmpDummyThreadEvent + 1789), (PVOID)1, (PVOID)result);
  return result;
}

Referenced by:

HalpInterruptInitSystem