New: nVMX: Support exit/entry MSR load/store
https://bugzilla.kernel.org/show_bug.cgi?id=53631
Summary: nVMX: Support exit/entry MSR load/store
Product: Virtualization
Version: unspecified
Platform: All
OS/Version: Linux
Tree: Mainline
Status: NEW
Severity: normal
Priority: P1
Component: kvm
AssignedTo: [email protected]
ReportedBy: [email protected]
Regression: No
Currently, nested VMX does not allow L1 to use the MSR load/store feature on entry/exit. The code fails entry (from L1 to L2) if these VMCS features are used:
if (vmcs12->vm_entry_msr_load_count > 0 ||
vmcs12->vm_exit_msr_load_count > 0 ||
vmcs12->vm_exit_msr_store_count > 0) {
pr_warn_ratelimited("%s: VMCS MSR_{LOAD,STORE} unsupported\n",
__func__);
nested_vmx_failValid(vcpu, VMXERR_ENTRY_INVALID_CONTROL_FIELD);
return 1;
}This was not a big problem if L1 is also KVM, because KVM didn't use this feature - it only uses it in case of EPT for switching the EFER (see explanation in http://kerneltrap.org/mailarchive/linux-kvm/2010/5/2/6261577),
and in that case there is a simpler alternative: supporting VM_ENTRY/EXIT_LOAD_IA32_EFER is enough. So this is what we did in the nested EPT patches proposed in bug 53611.
However, it is likely that for different L1s (or even KVM in the future), we'll need to support the generic MSR load/store feature.
Signature · 3 lines
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching the assignee of the bug.
[Bug 53631] nVMX: Support exit/entry MSR load/store
https://bugzilla.kernel.org/show_bug.cgi?id=53631
Nadav Har'El <[email protected]> changed:
What |Removed |Added
----------------------------------------------------------------------------
Blocks| |53601
Signature · 3 lines
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching the assignee of the bug.
[Bug 53631] nVMX: Support exit/entry MSR load/store
In reply to [email protected]https://bugzilla.kernel.org/show_bug.cgi?id=53631
--- Comment #1 from Nadav Har'El <[email protected]> 2013-02-26 15:21:19 --- To support this feature correctly, I think we can't give the msr array address given by L1 (vmcs12) directly to the processor (vmcs02), but rather we should loop on the entries in the array given by L1, using KVM's writemsr/readmsr.
Signature · 3 lines
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching the assignee of the bug.
[Bug 53631] nVMX: Support exit/entry MSR load/store
In reply to [email protected]https://bugzilla.kernel.org/show_bug.cgi?id=53631
Bandan Das <[email protected]> changed:
What |Removed |Added
----------------------------------------------------------------------------
Blocks| |94971
Signature · 2 lines
You are receiving this mail because: You are watching the assignee of the bug.
[Bug 53631] nVMX: Support exit/entry MSR load/store
In reply to [email protected]https://bugzilla.kernel.org/show_bug.cgi?id=53631
Paolo Bonzini <[email protected]> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |[email protected]
Kernel Version| |3.19
Resolution|--- |CODE_FIX--- Comment #2 from Paolo Bonzini <[email protected]> ---
Fixed by commit ff651cb613b4 (KVM: nVMX: Add nested msr load/restore algorithm, 2014-12-11).
Signature · 2 lines
You are receiving this mail because: You are watching the assignee of the bug.