diff options
author | Paolo Bonzini | 2017-03-03 16:39:18 +0100 |
---|---|---|
committer | Paolo Bonzini | 2017-03-03 16:39:18 +0100 |
commit | 30f3dda24b2a4cd30f8fbf984ab08ef08eaf5020 (patch) | |
tree | 5d70d2f93f28b4935c68b48482cdba5302b410ba /translate-common.c | |
parent | dtc: Revert unintentional submodule downgrade from commit 077dd74239a99 (diff) | |
parent | cpu-exec: remove unnecessary check of cpu->exit_request (diff) | |
download | qemu-30f3dda24b2a4cd30f8fbf984ab08ef08eaf5020.tar.gz qemu-30f3dda24b2a4cd30f8fbf984ab08ef08eaf5020.tar.xz qemu-30f3dda24b2a4cd30f8fbf984ab08ef08eaf5020.zip |
Merge branch 'icount-update' into HEAD
Merge the original development branch due to breakage caused by the
MTTCG merge.
Conflicts:
cpu-exec.c
translate-common.c
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'translate-common.c')
-rw-r--r-- | translate-common.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/translate-common.c b/translate-common.c index d504dd0d33..40fe5a19bb 100644 --- a/translate-common.c +++ b/translate-common.c @@ -43,14 +43,11 @@ static void tcg_handle_interrupt(CPUState *cpu, int mask) if (!qemu_cpu_is_self(cpu)) { qemu_cpu_kick(cpu); } else { - if (use_icount) { - cpu->icount_decr.u16.high = 0xffff; - if (!cpu->can_do_io - && (mask & ~old_mask) != 0) { - cpu_abort(cpu, "Raised interrupt while not in I/O function"); - } - } else { - cpu->tcg_exit_req = 1; + cpu->icount_decr.u16.high = -1; + if (use_icount && + !cpu->can_do_io + && (mask & ~old_mask) != 0) { + cpu_abort(cpu, "Raised interrupt while not in I/O function"); } } } |