HviGetHypervisorFeatures

VOID __stdcall HviGetHypervisorFeatures(_HV_X64_HYPERVISOR_FEATURES *HvFeaturesOut){
  __int64 v2; 

  if( HviIsHypervisorMicrosoftCompatible() )
  {
    v2 = __cpuid(1073741827, 0);
    LODWORD(HvFeaturesOut->PartitionPrivileges.AsUINT64) = EAX(v2);
    HIDWORD(HvFeaturesOut->PartitionPrivileges._bf_0) = EBX(v2);
    LODWORD(HvFeaturesOut->_bf_8) = ECX(v2);
    HIDWORD(HvFeaturesOut->_bf_8) = EDX(v2);
  }
  else
  {
    HvFeaturesOut->PartitionPrivileges.AsUINT64 = 0i64;
    HvFeaturesOut->_bf_8 = 0i64;
  }
}

Referenced by:

EtwpTraceSystemInitialization
HalpLbrInitialize
HviGetIptFeatures
HvipApertureDetectParameters
HvlQueryDetailInfo
HvlpDetermineEnlightenments
HvlpTryConfigureInterface
KiDetectHardwareSpecControlFeatures
KiInitializeKernel
KiIsHyperVCr3RspErrataPresent
PopIsRunningInVm