Finding out if "Unrestricted Guest" supported at runtime

Finding out if "Unrestricted Guest" supported at runtime

Ritratto di johndoe31415

Hi there,

is there an option to find out at runtime (e.g. with means of CPUID or something else) if the "Unrestricted Guest" feature is supported on the CPU? In the developer manual I can only find which flags control the UG feature (i.e. "25.8. Unrestricted Guests" ff), but I don't see anywhere how to determine if the feature is actually supported. Historically, at which processor family was "Unrestricted Guest" introduced? Is there a easy way to tell which processors contian the feature from the timeline?

Best regards,
Joe

3 post / 0 new
Ultimo contenuto
Per informazioni complete sulle ottimizzazioni del compilatore, consultare l'Avviso sull'ottimizzazione
Ritratto di Tracy Camp
Best Reply

There are a series of MSRs that tell you if a given CPU supports the '1' setting of unrestricted guest and a number of other virtualization features. The specific MSR is IA32_VMX_PROCBASED_CTLS2 and I believe unrestricted guest is bit 7 in the secondary proc controls VMCS field.

Ritratto di johndoe31415

Perfect, thank you very much!

Accedere per lasciare un commento.