aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm
diff options
context:
space:
mode:
authorNadav Amit <namit@cs.technion.ac.il>2014-07-21 07:37:28 -0400
committerPaolo Bonzini <pbonzini@redhat.com>2014-07-21 07:41:58 -0400
commit163b135e7b09e9158f7eb0aa74e716865e3005d2 (patch)
tree8f80fe829e1c0aa3860e6aae69744ffa83c3b82f /arch/x86/kvm
parentbb663c7ada380f3c89c2f83fdbe2b3626621385d (diff)
KVM: x86: popf emulation should not change RF
RFLAGS.RF is always zero after popf. Therefore, popf should not updated RF, as anyhow emulating popf, just as any other instruction should clear RFLAGS.RF. Signed-off-by: Nadav Amit <namit@cs.technion.ac.il> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'arch/x86/kvm')
-rw-r--r--arch/x86/kvm/emulate.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
index dd074106d0c9..cf117bfe9521 100644
--- a/arch/x86/kvm/emulate.c
+++ b/arch/x86/kvm/emulate.c
@@ -1675,7 +1675,7 @@ static int emulate_popf(struct x86_emulate_ctxt *ctxt,
1675 return rc; 1675 return rc;
1676 1676
1677 change_mask = EFLG_CF | EFLG_PF | EFLG_AF | EFLG_ZF | EFLG_SF | EFLG_OF 1677 change_mask = EFLG_CF | EFLG_PF | EFLG_AF | EFLG_ZF | EFLG_SF | EFLG_OF
1678 | EFLG_TF | EFLG_DF | EFLG_NT | EFLG_RF | EFLG_AC | EFLG_ID; 1678 | EFLG_TF | EFLG_DF | EFLG_NT | EFLG_AC | EFLG_ID;
1679 1679
1680 switch(ctxt->mode) { 1680 switch(ctxt->mode) {
1681 case X86EMUL_MODE_PROT64: 1681 case X86EMUL_MODE_PROT64: