Date: Tue, 19 Nov 2002 20:46:31 +1100 (EST) From: Bruce Evans <bde@zeta.org.au> To: Nate Lawson <nate@root.org> Cc: Jake Burkholder <jake@FreeBSD.org>, <cvs-all@FreeBSD.org>, <cvs-committers@FreeBSD.org> Subject: Re: cvs commit: src/sys/dev/sab sab.c Message-ID: <20021119203208.U30290-100000@gamplex.bde.org> In-Reply-To: <Pine.BSF.4.21.0211182256530.59456-100000@root.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 18 Nov 2002, Nate Lawson wrote: > > Modified files: > > sys/dev/sab sab.c > > Log: > > - Add support for ALT_BREAK_TO_DEBUGGER; this is the only reliable way > > to trigger a breakpoint with this chip. > > When I put together the GDB_AUTO_ENTER patch, I made a decision to > abstract out the state machine. You pass it a char and it returns 1 if it > has reached a match or zero otherwise. If multiple state machines were > needed (say sio + sab) then the caller would pass in static storage for > the state (say from the softc). Since you've duplicated the > ALT_BREAK_TO_DEBUGGER state machine now, it should probably get moved into > its own function as well. > > One question I had was where such state machines should go. Since they're > dependent on DDB, I put mine in db_trap.c. Ideas? I think this is a > useful move since there are UDP-based gdb stubs as well. The duplication is ugly, but so is looking at the data as it passes by siointr() is supposed to do only pseudo-dma (*bufptr++ = read_ioreg() for input, etc.) and everything else in it is a wart at best. But we really do want to look at the data at pseudo-dma time for at least the *BREAK_TO_DEBUGGER cases, since the higher-level interrupt or whatever that finishes the input may be blocked forever (due to bugs). There may also be locking problems with a generic routine. Fast interrupt handlers need different locking for (the closeure of) everything that accesses the state. Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021119203208.U30290-100000>