Message buffer and printf reentrancy patch
Ian Dowse
iedowse at maths.tcd.ie
Sun Jun 15 18:21:46 PDT 2003
In message <20030615.122852.26275397.imp at bsdimp.com>, "M. Warner Losh" writes:
>In message: <200306151406.aa36218 at salmon.maths.tcd.ie>
> Ian Dowse <iedowse at maths.tcd.ie> writes:
>: occur via tputchar() when using xconsole, and generally make the
>: use of printf() in the kernel a bit safer. Many of the ideas here
>: were suggested by Bruce Evans.
>
>Safe enough to be used for ddb? That is, can we get the ddb output in
>out dmesg buffers?
That's what I use it for anyway - I use a laptop that has no serial
ports but does retain its memory contents across a reboot, so having
panic messages and stack traces left in the message buffer helps a
lot. There are probably a few ways of doing it, but I just replaced
db_putchar()'s contents with the following:
printf("%c", c);
if (c == '\r' || c == '\n')
db_check_interrupt();
This probably needs to have a sysctl to control the behaviour, as
many people won't want the message buffer to be filled up with
interactive DDB output normally.
Ian
More information about the freebsd-arch
mailing list