Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1261432

[PATCH v2] KVM: x86: Reset RFLAGS state following processor init/reset

From Wanpeng Li <wanpeng.li@hotmail.com>
Newsgroups linux.kernel
Subject [PATCH v2] KVM: x86: Reset RFLAGS state following processor init/reset
Date 2015-11-03 12:50 +0100
Message-ID <qqIga-2a9-11@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


Reference SDM Volume 1 3.4.3:

Following initialization of the processor (either by asserting the 
RESET pin or the INIT pin), the state of the EFLAGS register is 
00000002H.

However, the eflags fixed bit is not set and other bits are also not 
cleared during the init/reset in kvm.

This patch reset eflags register to 00000002H following initialization 
of the processor.

Signed-off-by: Wanpeng Li <wanpeng.li@hotmail.com>
---
v1 -> v2:
 * use vmcs_writel

 arch/x86/kvm/vmx.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
index b680c2e..1a95ef7 100644
--- a/arch/x86/kvm/vmx.c
+++ b/arch/x86/kvm/vmx.c
@@ -4935,6 +4935,7 @@ static void vmx_vcpu_reset(struct kvm_vcpu *vcpu, bool init_event)
 	vmx_set_efer(vcpu, 0);
 	vmx_fpu_activate(vcpu);
 	update_exception_bitmap(vcpu);
+	vmcs_writel(GUEST_RFLAGS, X86_EFLAGS_FIXED);
 
 	vpid_sync_context(vmx->vpid);
 }
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

[PATCH v2] KVM: x86: Reset RFLAGS state following processor init/reset Wanpeng Li <wanpeng.li@hotmail.com> - 2015-11-03 12:50 +0100
  Re: [PATCH v2] KVM: x86: Reset RFLAGS state following processor  init/reset Paolo Bonzini <pbonzini@redhat.com> - 2015-11-03 13:00 +0100

csiph-web