- if (_vmexit_control & VM_EXIT_ACTIVATE_SECONDARY_CONTROLS)
- if (_vmexit_control & VM_EXIT_ACTIVATE_SECONDARY_CONTROLS) { _secondary_vmexit_control =
adjust_vmx_controls64(KVM_OPTIONAL_VMX_SECONDARY_VM_EXIT_CO NTROLS,
MSR_IA32_VMX_EXIT_CTLS2);
if (cpu_feature_enabled(X86_FEATURE_FRED) &&
!(_secondary_vmexit_control &
SECONDARY_VM_EXIT_SAVE_IA32_FRED &&
_secondary_vmexit_control &
SECONDARY_VM_EXIT_LOAD_IA32_FRED)) {
Can those checks actually trigger? I.e if FEATURE_FRED is set it means the CPU implements the FRED spec. According to the spec it's guaranteed that VMX_EXIT_CTLS2 will contain those bits set to 1. So aren't those checks superfluous?
Such checks are for nVMX FRED.
- if (cpu_feature_enabled(X86_FEATURE_FRED) &&
!(_vmentry_control & VM_ENTRY_LOAD_IA32_FRED)) {
DITTO
<snip>