HalpIommuRegisterBuiltinPlugins
INT64 __stdcall HalpIommuRegisterBuiltinPlugins(){
int v0;
unsigned __int64 v1;
LARGE_INTEGER *AcpiTable;
__int64 a1;
a1 = 0i64;
if( HalpHvIommu && !*(_BYTE *)HalpHvCpuManager )
return 0i64;
v0 = HalpIommuHsaDiscover(&a1);
if( v0 >= 0 )
{
if( (a1 & 2) != 0 )
HalpIommuDmaGuardTableOptIn = 1;
LOBYTE(a1) = 0;
v0 = 0;
v1 = 0i64;
AcpiTable = HalSocGetAcpiTable(0x52414D44ui64);
if( AcpiTable )
{
v0 = HalpIvtProcessDmarTable((UINT64)AcpiTable, (BYTE *)&a1);
if( v0 >= 0 )
{
if( (_BYTE)a1 )
v1 = 2i64;
}
}
if( v0 >= 0 && v1 >= 2 )
HalpIommuDmaGuardTableOptIn = 1;
}
return(unsigned int)v0;
}Referenced by:
HalpIommuInitDiscard