From owner-cvs-all@FreeBSD.ORG Wed Jun 29 20:48:06 2005 Return-Path: X-Original-To: cvs-all@FreeBSD.org Delivered-To: cvs-all@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0336116A41F; Wed, 29 Jun 2005 20:48:06 +0000 (GMT) (envelope-from marcel@xcllnt.net) Received: from ns1.xcllnt.net (209-128-86-226.BAYAREA.NET [209.128.86.226]) by mx1.FreeBSD.org (Postfix) with ESMTP id A3CFB43D1F; Wed, 29 Jun 2005 20:48:05 +0000 (GMT) (envelope-from marcel@xcllnt.net) Received: from ns1.xcllnt.net (localhost.xcllnt.net [127.0.0.1]) by ns1.xcllnt.net (8.13.3/8.13.3) with ESMTP id j5TKm5CV005943; Wed, 29 Jun 2005 13:48:05 -0700 (PDT) (envelope-from marcel@ns1.xcllnt.net) Received: (from marcel@localhost) by ns1.xcllnt.net (8.13.3/8.13.3/Submit) id j5TKm4Ia005942; Wed, 29 Jun 2005 13:48:04 -0700 (PDT) (envelope-from marcel) Date: Wed, 29 Jun 2005 13:48:04 -0700 From: Marcel Moolenaar To: Robert Watson Message-ID: <20050629204804.GB5667@ns1.xcllnt.net> References: <200506252214.j5PMEgip000380@repoman.freebsd.org> <7c65ef6b909f86fa7f5a8aa041773a72@xcllnt.net> <20050627050618.W34733@delplex.bde.org> <1120052829.77984.17793.camel@palm> <1120068712.77984.18622.camel@palm> <20050629193002.O74117@fledge.watson.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20050629193002.O74117@fledge.watson.org> User-Agent: Mutt/1.4.2.1i Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, Bruce Evans , cvs-all@FreeBSD.org, Stephan Uphoff Subject: Re: cvs commit: src/sys/i386/i386 trap.c src/sys/amd64/amd64 trap.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jun 2005 20:48:06 -0000 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