diff options
author | rwatson <rwatson@FreeBSD.org> | 2011-09-02 17:36:01 +0000 |
---|---|---|
committer | rwatson <rwatson@FreeBSD.org> | 2011-09-02 17:36:01 +0000 |
commit | 3eec7d02646590de620f301b9374dde0852a3348 (patch) | |
tree | 426bb13e41a27a7c7950cb24686a0d8de7e589e1 /sys/dev/xen/console | |
parent | aa452c94d4215fc263989c3d85fba2ad9032c237 (diff) | |
download | FreeBSD-src-3eec7d02646590de620f301b9374dde0852a3348.zip FreeBSD-src-3eec7d02646590de620f301b9374dde0852a3348.tar.gz |
Add support for alternative break-to-debugger support on the Xen console.
This should help debug boot-time hangs experienced in 9.0-BETA.
MFC after: 3 weeks
Tested by: sbruno
Approved by: re (kib)
Diffstat (limited to 'sys/dev/xen/console')
-rw-r--r-- | sys/dev/xen/console/console.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/dev/xen/console/console.c b/sys/dev/xen/console/console.c index d614082..5a14623 100644 --- a/sys/dev/xen/console/console.c +++ b/sys/dev/xen/console/console.c @@ -70,6 +70,10 @@ static int rc, rp; static unsigned int cnsl_evt_reg; static unsigned int wc, wp; /* write_cons, write_prod */ +#ifdef KDB +static int xc_altbrk; +#endif + #define CDEV_MAJOR 12 #define XCUNIT(x) (dev2unit(x)) #define ISTTYOPEN(tp) ((tp) && ((tp)->t_state & TS_ISOPEN)) @@ -268,8 +272,12 @@ xencons_rx(char *buf, unsigned len) #endif ) { tty_lock(tp); - for (i = 0; i < len; i++) + for (i = 0; i < len; i++) { +#ifdef KDB + kdb_alt_break(buf[i], &xc_altbrk); +#endif ttydisc_rint(tp, buf[i], 0); + } ttydisc_rint_done(tp); tty_unlock(tp); } else { |