HalpInterruptMaskAcpi

VOID __stdcall HalpInterruptMaskAcpi(INT64 Enabled){
  char v1; 
  _LIST_ENTRY *Lines; 
  _LIST_ENTRY *Blink; 
  _REGISTERED_INTERRUPT_CONTROLLER *v4; 
  __int64 v5; 
  __int64 v6; 
  _INTERRUPT_PROBLEM v7; 
  UINT64 SourceLine; 
  _INTERRUPT_LINE PicLine; 

  v1 = Enabled;
  PicLine = 0i64;
  HalpInterruptPicLine(&PicLine, Fadt.sci_int_vector);
  HalpInterruptApplyOverrides(&PicLine, 0i64, 0i64);
  Lines = HalpInterruptFindLines((unsigned int *)&PicLine);
  if( Lines )
  {
    Blink = Lines[2].Blink;
    if( v1 )
      HIDWORD(Blink->Blink) |= 0x10u;
    else
      HIDWORD(Blink->Blink) &= ~0x10u;
    v4 = HalpInterruptLookupController(LODWORD(Lines[1].Flink));
    if( v4 )
    {
      HalpInterruptSetLineStateInternal(v4, &PicLine, (_INTERRUPT_LINE_STATE *)(v5 + *(_QWORD *)(v6 + 40)));
      return;
    }
    LODWORD(SourceLine) = 2286;
    v7 = InterruptProblemNoSuchController;
  }
  else
  {
    LODWORD(SourceLine) = 2270;
    v7 = InterruptProblemNoSuchLines;
  }
  HalpInterruptSetProblemEx(0i64, v7, 0i64, "minkernel\\hals\\lib\\interrupts\\common\\intrupt.c", SourceLine);
}

Referenced by:

HalpDispatchSystemStateTransition