Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 Jun 2005 13:48:04 -0700
From:      Marcel Moolenaar <marcel@xcllnt.net>
To:        Robert Watson <rwatson@FreeBSD.org>
Cc:        cvs-src@FreeBSD.org, src-committers@FreeBSD.org, Bruce Evans <bde@zeta.org.au>, cvs-all@FreeBSD.org, Stephan Uphoff <ups@tree.com>
Subject:   Re: cvs commit: src/sys/i386/i386 trap.c src/sys/amd64/amd64 trap.c
Message-ID:  <20050629204804.GB5667@ns1.xcllnt.net>
In-Reply-To: <20050629193002.O74117@fledge.watson.org>
References:  <200506252214.j5PMEgip000380@repoman.freebsd.org> <7c65ef6b909f86fa7f5a8aa041773a72@xcllnt.net> <20050627050618.W34733@delplex.bde.org> <1120052829.77984.17793.camel@palm> <b1b2f68bf241cca18df281a369574619@xcllnt.net> <1120068712.77984.18622.camel@palm> <20050629193002.O74117@fledge.watson.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Jun 29, 2005 at 07:31:59PM +0100, Robert Watson wrote:
> 
> On Wed, 29 Jun 2005, Stephan Uphoff wrote:
> 
> >The last thing I want to do is to totally dismantle the current kdb_trap 
> >or sprinkle MI code all over the different architecture directories. The 
> >console stuff definitely belongs in the MI part. However for readability 
> >I would rather have:
> 
> Something I'd like very much to see, unrelated to the above points, is 
> responsibility for printing the "panic" message move from panic() to the 
> KDB code.  Right now, we frequently take an interrupt during that printf() 
> on a slow serial console, resulting in great unhappiness (wedged panic 
> calls, secondary panics, etc).  KDB runs in a nicely contained environment 
> capable of (relatively) safe printing in the context of kernel collapse. 
> The trick is handling the non-KDB compiled case, which can probably be 
> done through a KDB replacement stub that contains enough code to halt 
> things -- disable interrupts, IPI, etc, without the full debugger 
> implementation.

KDB is non-optional code, so this can be done without problems or
stubs:

muffin(FreeBSD/ia32)% grep subr_kdb *
files:kern/subr_kdb.c           standard

The KDB option is used to control the inclusion of debugging code.
For example: serial drivers can conditionally act upon the detection
of a line break or the alternate break character sequence and jump
to the debugger. This is made conditional upon at least KDB.
Without option KDB serial drivers would not treat a line break
specially or compile-in code that detects the alternate break
sequence.

-- 
 Marcel Moolenaar	  USPA: A-39004		 marcel@xcllnt.net



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050629204804.GB5667>