HalpInterruptSetRemappedDestination
INT64 __fastcall HalpInterruptSetRemappedDestination(
UINT64 a1,
_INTERRUPT_VECTOR_DATA *VectorData,
_GROUP_AFFINITY *TargetProcessors){
unsigned int v4;
__int64 v6;
int v7;
int v9[2];
_GROUP_AFFINITY *v10;
__int64 v11;
INT64 v12[2];
__int128 v13[2];
__int64 v14;
v4 = 0;
v14 = 0i64;
*(_OWORD *)v12 = 0i64;
v9[1] = 0;
memset(v13, 0, sizeof(v13));
HalpInterruptGetRemappedLineState((_POP_PPM_PROFILE *)a1, (UINT64)VectorData);
if( v7 >= 0 )
{
v10 = TargetProcessors;
v9[0] = 1;
v11 = (__int64)VectorData + 40;
if( (int)HalpInterruptDestinationToTarget(v6, (__int64)v9, (__int64)v13 + 8) >= 0 )
{
HalpInterruptRemapUpdateDeliveryMode((INT64)VectorData, (INT64)v12);
HalpIommuUpdateRemappingTableEntry(
*(_DWORD *)VectorData == 3,
*((_DWORD *)VectorData + 10) & 0x3FFFFFFF,
(INT64)v12);
return v4;
}
HalpInterruptLastProblem = 22;
}
else
{
HalpInterruptLastProblem = 18;
}
return(unsigned int)-1073741275;
}Referenced by:
HalpInterruptSetDestination