Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 18 Sep 2002 23:06:46 +1000 (EST)
From:      Bruce Evans <bde@zeta.org.au>
To:        marius@alchemy.franken.de
Cc:        freebsd-current@FreeBSD.ORG, <freebsd-scsi@FreeBSD.ORG>
Subject:   Re: page fault while in kernel mode, cam related ?
Message-ID:  <20020918225155.X15503-100000@gamplex.bde.org>
In-Reply-To: <20020918025349.C96711@newtrinity.default-network.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 18 Sep 2002 marius@alchemy.franken.de wrote:

> btw, this box is connected via a serial console at 9600 bps and while typing
> at the ddb-prompt it swallowed most characters, i.e. i had to type single
> characters up to four times.

That and the "Context switches not allowed in the debugger." message are
just bugs in ddb.  Interrupts are not enabled on all entries to ddb; in
particular, they are not disabled when ddb is entered from trap_fatal(),
unlike when ddb is entered from panic() (trap_fatal() calls ddb before
panicing).

Not disabling interrupts on entry to ddb is an old bug, but it is much
more serious under -current since the kernel wants to switch contexts
to handle some types of interrupts and it makes a mess attempting to
do so.

The characters are swallowed by the sio interrupt handler competing
with the input polling loop.  The sio interrupt handler uses fast
interrupts so it can be reached without a context switch, and it _is_
reached since interrupts are enabled.

Bruce


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




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