HalpInterruptInitDiscard
NTSTATUS __stdcall HalpInterruptInitDiscard(_LOADER_PARAMETER_BLOCK *LoaderBlock){
NTSTATUS result;
INT64 v3[2];
qword_140C49C40 = 0i64;
HalpDefaultPcIoSpace = (__int64)HalpAddressUsageList;
HalpAddressUsageList = &HalpDefaultPcIoSpace;
*(_OWORD *)v3 = 0i64;
if( byte_140C4A318 )
{
HviGetHardwareFeatures((INT64)v3);
if( (v3[0] & 0x4000) != 0 )
*(&stru_140CF2E80 + 6616) = 1;
}
result = HalpInitializeInterrupts(LoaderBlock);
if( result >= 0 )
{
off_140C00770[0] = (__int64(__fastcall *)())HalpMaskInterrupt;
off_140C00778[0] = (__int64(__fastcall *)())HalpUnmaskInterrupt;
off_140C00810[0] = (__int64(__fastcall *)())HalpInterruptRequestInterrupt;
off_140C00818[0] = (__int64(__fastcall *)())HalpInterruptEnumerateUnmaskedInterrupts;
off_140C00AD8 = (__int64(__fastcall *)(int, int, int, int, UINT16, _TRANSLATOR_INTERFACE *, UINT64 *))HaliGetInterruptTranslator;
off_140C00768[0] = (__int64(__fastcall *)())HalpSecondaryInterruptQueryPrimaryInformation;
off_140C00780[0] = (__int64(__fastcall *)())HalpIsInterruptTypeSecondary;
off_140C00788 = (__int64(__fastcall *)())HalpAllocateGsivForSecondaryInterrupt;
off_140C008E0[0] = (__int64(__fastcall *)())HalpInterruptVectorDataToGsiv;
off_140C008E8[0] = (__int64(__fastcall *)())HalpInterruptGetHighestPriorityInterrupt;
return 0;
}
return result;
}Referenced by:
HalpInterruptInitSystem