mirror of
https://github.com/torvalds/linux.git
synced 2026-06-02 11:33:28 +02:00
KVM: nVMX: Simplify the setting of SECONDARY_EXEC_ENABLE_VMFUNC for nested.
Values of base settings for nested proc-based VM-Execution control MSR come from the ones for non-nested. And for SECONDARY_EXEC_ENABLE_VMFUNC flag, KVM currently a) first mask off it from vmcs_conf->cpu_based_2nd_exec_ctrl; b) then check it against the same source; c) and reset it again if host has it. So just simplify this, by not masking off SECONDARY_EXEC_ENABLE_VMFUNC in the first place. No functional change. Signed-off-by: Yu Zhang <yu.c.zhang@linux.intel.com> Link: https://lore.kernel.org/r/20221109075413.1405803-3-yu.c.zhang@linux.intel.com Signed-off-by: Sean Christopherson <seanjc@google.com>
This commit is contained in:
parent
41acdd4197
commit
496c917b09
|
|
@ -6880,6 +6880,7 @@ void nested_vmx_setup_ctls_msrs(struct vmcs_config *vmcs_conf, u32 ept_caps)
|
|||
SECONDARY_EXEC_VIRTUAL_INTR_DELIVERY |
|
||||
SECONDARY_EXEC_RDRAND_EXITING |
|
||||
SECONDARY_EXEC_ENABLE_INVPCID |
|
||||
SECONDARY_EXEC_ENABLE_VMFUNC |
|
||||
SECONDARY_EXEC_RDSEED_EXITING |
|
||||
SECONDARY_EXEC_XSAVES |
|
||||
SECONDARY_EXEC_TSC_SCALING |
|
||||
|
|
@ -6912,18 +6913,13 @@ void nested_vmx_setup_ctls_msrs(struct vmcs_config *vmcs_conf, u32 ept_caps)
|
|||
SECONDARY_EXEC_ENABLE_PML;
|
||||
msrs->ept_caps |= VMX_EPT_AD_BIT;
|
||||
}
|
||||
}
|
||||
|
||||
if (cpu_has_vmx_vmfunc()) {
|
||||
msrs->secondary_ctls_high |=
|
||||
SECONDARY_EXEC_ENABLE_VMFUNC;
|
||||
/*
|
||||
* Advertise EPTP switching unconditionally
|
||||
* since we emulate it
|
||||
* Advertise EPTP switching irrespective of hardware support,
|
||||
* KVM emulates it in software so long as VMFUNC is supported.
|
||||
*/
|
||||
if (enable_ept)
|
||||
msrs->vmfunc_controls =
|
||||
VMX_VMFUNC_EPTP_SWITCHING;
|
||||
if (cpu_has_vmx_vmfunc())
|
||||
msrs->vmfunc_controls = VMX_VMFUNC_EPTP_SWITCHING;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user