diff options
author | Paolo Bonzini | 2011-03-12 17:43:57 +0100 |
---|---|---|
committer | Blue Swirl | 2011-03-13 15:44:21 +0100 |
commit | 94ad5b00a31113ed36b9d03a8db16de5535e90c4 (patch) | |
tree | 24705a74f7ba1964d98f8a9785300d66cd1829f6 /hw/ppc.c | |
parent | inline cpu_halted into sole caller (diff) | |
download | qemu-94ad5b00a31113ed36b9d03a8db16de5535e90c4.tar.gz qemu-94ad5b00a31113ed36b9d03a8db16de5535e90c4.tar.xz qemu-94ad5b00a31113ed36b9d03a8db16de5535e90c4.zip |
always qemu_cpu_kick after unhalting a cpu
This ensures env->halt_cond is broadcast, and the loop in
qemu_tcg_wait_io_event and qemu_kvm_wait_io_event is exited
naturally rather than through a timeout.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Diffstat (limited to 'hw/ppc.c')
-rw-r--r-- | hw/ppc.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -208,6 +208,7 @@ static void ppc970_set_irq (void *opaque, int pin, int level) } else { LOG_IRQ("%s: restart the CPU\n", __func__); env->halted = 0; + qemu_cpu_kick(env); } break; case PPC970_INPUT_HRESET: @@ -300,6 +301,7 @@ static void ppc40x_set_irq (void *opaque, int pin, int level) } else { LOG_IRQ("%s: restart the CPU\n", __func__); env->halted = 0; + qemu_cpu_kick(env); } break; case PPC40x_INPUT_DEBUG: |