aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm/emulate.c
diff options
context:
space:
mode:
authorJoerg Roedel <joerg.roedel@amd.com>2011-04-04 06:39:24 -0400
committerAvi Kivity <avi@redhat.com>2011-05-11 07:57:00 -0400
commit775fde8648ebc588d07de39457aadc7c2131df2e (patch)
tree56706d5d6eff4b5f02c911cbbbcf3b14648aee69 /arch/x86/kvm/emulate.c
parent3c6e276f22cf29188035535127c4c35aeeafcabc (diff)
KVM: x86 emulator: Don't write-back cpu-state on X86EMUL_INTERCEPTED
This patch prevents the changed CPU state to be written back when the emulator detected that the instruction was intercepted by the guest. Signed-off-by: Joerg Roedel <joerg.roedel@amd.com> Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/x86/kvm/emulate.c')
-rw-r--r--arch/x86/kvm/emulate.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
index c2260e57450a..a2c31e527a99 100644
--- a/arch/x86/kvm/emulate.c
+++ b/arch/x86/kvm/emulate.c
@@ -3592,6 +3592,9 @@ writeback:
3592done: 3592done:
3593 if (rc == X86EMUL_PROPAGATE_FAULT) 3593 if (rc == X86EMUL_PROPAGATE_FAULT)
3594 ctxt->have_exception = true; 3594 ctxt->have_exception = true;
3595 if (rc == X86EMUL_INTERCEPTED)
3596 return EMULATION_INTERCEPTED;
3597
3595 return (rc == X86EMUL_UNHANDLEABLE) ? EMULATION_FAILED : EMULATION_OK; 3598 return (rc == X86EMUL_UNHANDLEABLE) ? EMULATION_FAILED : EMULATION_OK;
3596 3599
3597twobyte_insn: 3600twobyte_insn: