diff options
author | Gleb Natapov <gleb@redhat.com> | 2010-04-15 05:29:50 -0400 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2010-05-17 05:17:49 -0400 |
commit | 19d04437267f00c7b50343513693b7a3174ff908 (patch) | |
tree | 004f50464c662ee472b03149678bc3ca8af461c8 /arch/x86/kvm/x86.c | |
parent | 5b7e0102ae744e9175b905f4267a81393bdb7a75 (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.c | 7 |
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 | } |
4808 | EXPORT_SYMBOL_GPL(kvm_task_switch); | 4809 | EXPORT_SYMBOL_GPL(kvm_task_switch); |
4809 | 4810 | ||