summaryrefslogtreecommitdiff
path: root/vl.c
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2003-07-26 12:06:08 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2003-07-26 12:06:08 +0000
commit4c3a88a284b288e0ed3c097de7fc07111d848003 (patch)
tree8f4a8190c97d326f26b4e7d603ac8f98c50e8706 /vl.c
parentd6b4936796b37f629879de69d847c5cdc4892157 (diff)
downloadqemu-4c3a88a284b288e0ed3c097de7fc07111d848003.tar.gz
gdb stub breakpoints support
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@332 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'vl.c')
-rw-r--r--vl.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/vl.c b/vl.c
index bb15ac4a91..9f76ac0044 100644
--- a/vl.c
+++ b/vl.c
@@ -2540,7 +2540,7 @@ CPUState *cpu_gdbstub_get_env(void *opaque)
return global_env;
}
-void main_loop(void *opaque)
+int main_loop(void *opaque)
{
struct pollfd ufds[2], *pf, *serial_ufd, *net_ufd, *gdb_ufd;
int ret, n, timeout;
@@ -2552,7 +2552,8 @@ void main_loop(void *opaque)
ret = cpu_x86_exec(env);
if (reset_requested)
break;
-
+ if (ret == EXCP_DEBUG)
+ return EXCP_DEBUG;
/* if hlt instruction, we wait until the next IRQ */
if (ret == EXCP_HLT)
timeout = 10;
@@ -2618,6 +2619,7 @@ void main_loop(void *opaque)
timer_irq_pending = 0;
}
}
+ return EXCP_INTERRUPT;
}
void help(void)