diff options
author | iap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk> | 2003-10-06 18:17:03 +0000 |
---|---|---|
committer | iap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk> | 2003-10-06 18:17:03 +0000 |
commit | d5d4e6ed04a28dd9d7ba2b15f187214f2bd36ce1 (patch) | |
tree | c45cdbbf259a9ed92485613a455e1c3df6f6c545 /extras/mini-os/kernel.c | |
parent | 550718896b662801261d4679543ce2d5a8fa2bfb (diff) | |
parent | 29efcc54240ec2669b950798c8fee1ecf65813d4 (diff) | |
download | xen-d5d4e6ed04a28dd9d7ba2b15f187214f2bd36ce1.tar.gz xen-d5d4e6ed04a28dd9d7ba2b15f187214f2bd36ce1.tar.bz2 xen-d5d4e6ed04a28dd9d7ba2b15f187214f2bd36ce1.zip |
bitkeeper revision 1.485 (3f81b19fL5Y4lVlRaEpJI9r_IZlDcw)
Merge labyrinth.cl.cam.ac.uk:/auto/groups/xeno/users/rn212/xeno.mini
into labyrinth.cl.cam.ac.uk:/auto/anfs/scratch/labyrinth/iap10/xeno-clone/xeno.bk
Diffstat (limited to 'extras/mini-os/kernel.c')
-rw-r--r-- | extras/mini-os/kernel.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/extras/mini-os/kernel.c b/extras/mini-os/kernel.c index 6486fac119..196d8612c3 100644 --- a/extras/mini-os/kernel.c +++ b/extras/mini-os/kernel.c @@ -36,10 +36,10 @@ char stack[8192]; void hypervisor_callback(void); void failsafe_callback(void); -/* default exit event handler */ +/* default event handlers */ static void exit_handler(int ev, struct pt_regs *regs); +static void debug_handler(int ev, struct pt_regs *regs); -extern void trap_init(void); /* * INITIAL C ENTRY POINT. @@ -100,6 +100,10 @@ void start_kernel(start_info_t *si) enable_ev_action(EV_DIE); enable_hypervisor_event(EV_DIE); + add_ev_action(EV_DEBUG, &debug_handler); + enable_ev_action(EV_DEBUG); + enable_hypervisor_event(EV_DEBUG); + /* init time and timers */ init_time(); @@ -124,3 +128,9 @@ static void exit_handler(int ev, struct pt_regs *regs) { do_exit(); } +/* + * a debug handler to print out some state from the guest + */ +static void debug_handler(int ev, struct pt_regs *regs) { + dump_regs(regs); +} |