diff options
author | Joerg Roedel <joerg.roedel@amd.com> | 2011-04-04 06:39:24 -0400 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2011-05-11 07:57:00 -0400 |
commit | 775fde8648ebc588d07de39457aadc7c2131df2e (patch) | |
tree | 56706d5d6eff4b5f02c911cbbbcf3b14648aee69 /arch/x86/kvm/emulate.c | |
parent | 3c6e276f22cf29188035535127c4c35aeeafcabc (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.c | 3 |
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: | |||
3592 | done: | 3592 | done: |
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 | ||
3597 | twobyte_insn: | 3600 | twobyte_insn: |