diff options
author | aurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-04-04 17:16:35 +0000 |
---|---|---|
committer | aurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-04-04 17:16:35 +0000 |
commit | 95b010094c80d4af21b9b6fc1cfb4499bcd697d2 (patch) | |
tree | 7348a80fae7c4794a9bd137649a35d0bf2e7447a /vl.c | |
parent | 41a00ab195055130767a014537784ef247b07255 (diff) | |
download | hqemu-95b010094c80d4af21b9b6fc1cfb4499bcd697d2.zip hqemu-95b010094c80d4af21b9b6fc1cfb4499bcd697d2.tar.gz |
Fix single stepping wrt pending interrupts
(Jason Wessel)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4160 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'vl.c')
-rw-r--r-- | vl.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -7541,7 +7541,7 @@ static int main_loop(void) qemu_time += profile_getclock() - ti; #endif next_cpu = env->next_cpu ?: first_cpu; - if (event_pending) { + if (event_pending && likely(ret != EXCP_DEBUG)) { ret = EXCP_INTERRUPT; event_pending = 0; break; @@ -7573,7 +7573,7 @@ static int main_loop(void) qemu_system_powerdown(); ret = EXCP_INTERRUPT; } - if (ret == EXCP_DEBUG) { + if (unlikely(ret == EXCP_DEBUG)) { vm_stop(EXCP_DEBUG); } /* If all cpus are halted then wait until the next IRQ */ |