aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm/x86.c
diff options
context:
space:
mode:
authorGleb Natapov <gleb@redhat.com>2010-04-15 05:29:50 -0400
committerAvi Kivity <avi@redhat.com>2010-05-17 05:17:49 -0400
commit19d04437267f00c7b50343513693b7a3174ff908 (patch)
tree004f50464c662ee472b03149678bc3ca8af461c8 /arch/x86/kvm/x86.c
parent5b7e0102ae744e9175b905f4267a81393bdb7a75 (diff)
KVM: fix emulator_task_switch() return value.
emulator_task_switch() should return -1 for failure and 0 for success to the caller, just like x86_emulate_insn() does. Signed-off-by: Gleb Natapov <gleb@redhat.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Diffstat (limited to 'arch/x86/kvm/x86.c')
-rw-r--r--arch/x86/kvm/x86.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 58a295c6bf62..30efeead4511 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -4800,10 +4800,11 @@ int kvm_task_switch(struct kvm_vcpu *vcpu, u16 tss_selector, int reason,
4800 tss_selector, reason, has_error_code, 4800 tss_selector, reason, has_error_code,
4801 error_code); 4801 error_code);
4802 4802
4803 if (ret == X86EMUL_CONTINUE) 4803 if (ret)
4804 kvm_x86_ops->set_rflags(vcpu, vcpu->arch.emulate_ctxt.eflags); 4804 return EMULATE_FAIL;
4805 4805
4806 return (ret != X86EMUL_CONTINUE); 4806 kvm_x86_ops->set_rflags(vcpu, vcpu->arch.emulate_ctxt.eflags);
4807 return EMULATE_DONE;
4807} 4808}
4808EXPORT_SYMBOL_GPL(kvm_task_switch); 4809EXPORT_SYMBOL_GPL(kvm_task_switch);
4809 4810