diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2017-03-03 16:39:18 +0100 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2017-03-03 16:39:18 +0100 |
commit | 30f3dda24b2a4cd30f8fbf984ab08ef08eaf5020 (patch) | |
tree | 5d70d2f93f28b4935c68b48482cdba5302b410ba /translate-common.c | |
parent | 508e038a5d725f2aa729f58a1f5209b9be4227de (diff) | |
parent | 55ac0a9bf4e1b1adfc7d73586a7aa085f58c9851 (diff) |
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"); } } } |