HviGetHardwareFeatures
INT32 __fastcall HviGetHardwareFeatures(INT64 a1){
INT32 result;
__int64 v3;
INT32 v4[4];
*(_OWORD *)v4 = 0i64;
HviGetHypervisorVendorAndMaxFunction(v4);
if( v4[0] < 0x40000006u )
{
result = 0;
*(_QWORD *)a1 = 0i64;
*(_QWORD *)(a1 + 8) = 0i64;
}
else
{
v3 = __cpuid(1073741830, 0);
result = EAX(v3);
*(_DWORD *)a1 = result;
*(_DWORD *)(a1 + 4) = EBX(v3);
*(_DWORD *)(a1 + 8) = ECX(v3);
*(_DWORD *)(a1 + 12) = EDX(v3);
}
return result;
}Referenced by:
EtwpTraceSystemInitialization
HalpInterruptInitDiscard
HalpIommuInitDiscard
HviIsIommuInUse
HvipApertureDetectParameters
HvlQueryDetailInfo
HvlQueryVsmProtectionInfo
HvlpDetermineEnlightenments