HalpInterruptFindLines
_LIST_ENTRY *__fastcall HalpInterruptFindLines(unsigned int *a1){
_REGISTERED_INTERRUPT_CONTROLLER *v1;
__int64 v2;
_DWORD *v3;
_LIST_ENTRY *p_LinesHead;
_LIST_ENTRY *Flink;
int v6;
_LIST_ENTRY *v7;
int Flink_high;
v1 = HalpInterruptLookupController(*a1);
if( !v1 )
return 0i64;
p_LinesHead = &v1->LinesHead;
Flink = v1->LinesHead.Flink;
if( Flink == &v1->LinesHead )
return 0i64;
v6 = *(_DWORD *)(v2 + 4);
while( 1 )
{
v7 = Flink;
Flink = Flink->Flink;
Flink_high = HIDWORD(v7[1].Flink);
if( Flink_high <= v6 && SLODWORD(v7[1].Blink) > v6 )
break;
if( Flink == p_LinesHead )
return 0i64;
}
if( v3 )
*v3 = v6 - Flink_high;
return v7;
}Referenced by:
HalFixInterruptLine
HalpConnectThermalInterrupt
HalpInitializeCmciVector
HalpInitializeDeferredErrorVector
HalpInterruptEnableNmi
HalpInterruptEnablePerformanceEvents
HalpInterruptFindControllerAndLineState
HalpInterruptGetHighestPriorityInterrupt
HalpInterruptIsCmciSupported
HalpInterruptIsDeferredErrorSupported
HalpInterruptLineToGsi
HalpInterruptMaskAcpi
HalpInterruptRestoreClock
HalpInterruptSetDestinationInternal
HalpInterruptSetLineState
HalpInterruptSetRemappedLineStateInternal
HalpInterruptUnmap