public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] KVM: Enable VMX-related bits in MSR_IA32_FEATURE_CONTROL.
@ 2012-03-06 15:02 Julian Stecklina
  2012-03-06 15:13 ` Avi Kivity
  0 siblings, 1 reply; 9+ messages in thread
From: Julian Stecklina @ 2012-03-06 15:02 UTC (permalink / raw)
  To: kvm; +Cc: Julian Stecklina

The spec (Vol 3C, Chapter 34.1) regarding the IA32_FEATURE_CONTROL MSR says "Therefore the lock bit must be set after configuring support for Intel Virtualization Technology and prior to transferring control to an option ROM or the OS." and regarding bit 2: "This bit enables VMX for system executive that do not require SMX."

Signed-off-by: Julian Stecklina <js@alien8.de>
---
 arch/x86/kvm/vmx.c |    7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
index 4ea7678..aef1e5b 100644
--- a/arch/x86/kvm/vmx.c
+++ b/arch/x86/kvm/vmx.c
@@ -2007,7 +2007,12 @@ static int vmx_get_vmx_msr(struct kvm_vcpu *vcpu, u32 msr_index, u64 *pdata)
 
 	switch (msr_index) {
 	case MSR_IA32_FEATURE_CONTROL:
-		*pdata = 0;
+                /*
+                 * If nested VMX is enabled, set the lock bit (bit 0)
+                 * and the "Enable VMX outside SMX" bit (bit 2) in the
+                 * FEATURE_CONTROL MSR.
+                 */
+		*pdata = nested_vmx_allowed(vcpu) ? 0x5 : 0;
 		break;
 	case MSR_IA32_VMX_BASIC:
 		/*
-- 
1.7.9.2


^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2012-03-07 14:14 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-06 15:02 [PATCH] KVM: Enable VMX-related bits in MSR_IA32_FEATURE_CONTROL Julian Stecklina
2012-03-06 15:13 ` Avi Kivity
2012-03-06 15:25   ` Julian Stecklina
2012-03-06 15:47   ` Nadav Har'El
2012-03-06 16:45     ` Julian Stecklina
2012-03-06 17:33     ` Nadav Har'El
2012-03-07 10:07       ` Avi Kivity
2012-03-07 11:10         ` Nadav Har'El
2012-03-07 14:14           ` Avi Kivity

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox