mirror of https://gitee.com/openkylin/linux.git
KVM: nVMX: include conditional controls in /dev/kvm KVM_GET_MSRS
Some secondary controls are automatically enabled/disabled based on the CPUID
values that are set for the guest. However, they are still available at a
global level and therefore should be present when KVM_GET_MSRS is sent to
/dev/kvm.
Fixes: 1389309c81
("KVM: nVMX: expose VMX capabilities for nested hypervisors to userspace", 2018-02-26)
Reviewed-by: Liran Alon <liran.alon@oracle.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
a251fb90ab
commit
6defc59184
|
@ -5750,10 +5750,15 @@ void nested_vmx_setup_ctls_msrs(struct nested_vmx_msrs *msrs, u32 ept_caps,
|
||||||
msrs->secondary_ctls_low = 0;
|
msrs->secondary_ctls_low = 0;
|
||||||
msrs->secondary_ctls_high &=
|
msrs->secondary_ctls_high &=
|
||||||
SECONDARY_EXEC_DESC |
|
SECONDARY_EXEC_DESC |
|
||||||
|
SECONDARY_EXEC_RDTSCP |
|
||||||
SECONDARY_EXEC_VIRTUALIZE_X2APIC_MODE |
|
SECONDARY_EXEC_VIRTUALIZE_X2APIC_MODE |
|
||||||
|
SECONDARY_EXEC_WBINVD_EXITING |
|
||||||
SECONDARY_EXEC_APIC_REGISTER_VIRT |
|
SECONDARY_EXEC_APIC_REGISTER_VIRT |
|
||||||
SECONDARY_EXEC_VIRTUAL_INTR_DELIVERY |
|
SECONDARY_EXEC_VIRTUAL_INTR_DELIVERY |
|
||||||
SECONDARY_EXEC_WBINVD_EXITING;
|
SECONDARY_EXEC_RDRAND_EXITING |
|
||||||
|
SECONDARY_EXEC_ENABLE_INVPCID |
|
||||||
|
SECONDARY_EXEC_RDSEED_EXITING |
|
||||||
|
SECONDARY_EXEC_XSAVES;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We can emulate "VMCS shadowing," even if the hardware
|
* We can emulate "VMCS shadowing," even if the hardware
|
||||||
|
|
Loading…
Reference in New Issue