From owner-cvs-all Sun Jan 5 15:18:58 2003 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 9010537B401 for ; Sun, 5 Jan 2003 15:18:57 -0800 (PST) Received: from rootlabs.com (root.org [67.118.192.226]) by mx1.FreeBSD.org (Postfix) with SMTP id 654A143EB2 for ; Sun, 5 Jan 2003 15:18:56 -0800 (PST) (envelope-from nate@rootlabs.com) Received: (qmail 8614 invoked by uid 1000); 5 Jan 2003 23:18:57 -0000 Date: Sun, 5 Jan 2003 15:18:57 -0800 (PST) From: Nate Lawson To: Bruce Evans Cc: Jake Burkholder , cvs-all@FreeBSD.org, cvs-committers@FreeBSD.org Subject: Re: cvs commit: src/sys/dev/sab sab.c In-Reply-To: <20030106075621.M616-100000@gamplex.bde.org> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Mon, 6 Jan 2003, Bruce Evans wrote: > On Sun, 5 Jan 2003, Nate Lawson wrote: > > I've always wondered if you were supposed to deliver the char before > > calling breakpoint(). Looks like you do this but it seemed like sio > > didn't. What's the desired behavior? > > The escape sequence for the breakpoint shouldn't be delivered at all. > sio seems to get this right for the final character in the sequence > (using "goto cont;") but not for the previous characters (it sets the > state variables for them but falls through to handle them normally). > If the final character is delivered, then whether it is delivered > before or after calling breakpoint() doesn't matter much. Only the > internals of the interrupt handler and the state machine could > normally tell the difference. So we should buffer the chars if they are matching state and deliver them if the state machine fails to detect a match (probably by looping calls to the consumer func)? This makes a bigger difference with the gdb frame detector (up to about 32 chars max, in practice only about 8 chars). It also probably makes sense to provide the chars in the gdb case since they are important to gdb. Right now, my patch depends on gdb retransmitting the initial command. -Nate To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message