Revision 7cbb533f
b/kvm-all.c | ||
---|---|---|
890 | 890 |
int kvm_cpu_exec(CPUState *env) |
891 | 891 |
{ |
892 | 892 |
struct kvm_run *run = env->kvm_run; |
893 |
int ret; |
|
893 |
int ret, run_ret;
|
|
894 | 894 |
|
895 | 895 |
DPRINTF("kvm_cpu_exec()\n"); |
896 | 896 |
|
... | ... | |
920 | 920 |
cpu_single_env = NULL; |
921 | 921 |
qemu_mutex_unlock_iothread(); |
922 | 922 |
|
923 |
ret = kvm_vcpu_ioctl(env, KVM_RUN, 0); |
|
923 |
run_ret = kvm_vcpu_ioctl(env, KVM_RUN, 0);
|
|
924 | 924 |
|
925 | 925 |
qemu_mutex_lock_iothread(); |
926 | 926 |
cpu_single_env = env; |
... | ... | |
928 | 928 |
|
929 | 929 |
kvm_flush_coalesced_mmio_buffer(); |
930 | 930 |
|
931 |
if (ret == -EINTR || ret == -EAGAIN) {
|
|
931 |
if (run_ret == -EINTR || run_ret == -EAGAIN) {
|
|
932 | 932 |
DPRINTF("io window exit\n"); |
933 | 933 |
ret = 0; |
934 | 934 |
break; |
935 | 935 |
} |
936 | 936 |
|
937 |
if (ret < 0) { |
|
938 |
DPRINTF("kvm run failed %s\n", strerror(-ret)); |
|
937 |
if (run_ret < 0) {
|
|
938 |
DPRINTF("kvm run failed %s\n", strerror(-run_ret));
|
|
939 | 939 |
abort(); |
940 | 940 |
} |
941 | 941 |
|
Also available in: Unified diff