From owner-freebsd-sparc64@FreeBSD.ORG Mon Nov 21 20:00:04 2005 Return-Path: X-Original-To: freebsd-sparc64@freebsd.org Delivered-To: freebsd-sparc64@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B36F216A41F; Mon, 21 Nov 2005 20:00:04 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from speedfactory.net (mail6.speedfactory.net [66.23.216.219]) by mx1.FreeBSD.org (Postfix) with ESMTP id EDBA443D45; Mon, 21 Nov 2005 20:00:03 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (unverified [66.23.211.162]) by speedfactory.net (SurgeMail 3.5b3) with ESMTP id 2376921 for multiple; Mon, 21 Nov 2005 15:00:14 -0500 Received: from localhost (john@localhost [127.0.0.1]) by server.baldwin.cx (8.13.1/8.13.1) with ESMTP id jALJxwAn071106; Mon, 21 Nov 2005 15:00:00 -0500 (EST) (envelope-from jhb@freebsd.org) From: John Baldwin To: freebsd-sparc64@freebsd.org Date: Mon, 21 Nov 2005 15:00:09 -0500 User-Agent: KMail/1.8.2 References: <200511211422.57431.jhb@freebsd.org> <200511211431.31051.jhb@freebsd.org> In-Reply-To: <200511211431.31051.jhb@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200511211500.10174.jhb@freebsd.org> X-Spam-Status: No, score=-2.8 required=4.2 tests=ALL_TRUSTED autolearn=failed version=3.0.2 X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on server.baldwin.cx X-Server: High Performance Mail Server - http://surgemail.com r=1653887525 Cc: phk@freebsd.org Subject: Re: uart(4) busted on sparc64 now? X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Nov 2005 20:00:04 -0000 On Monday 21 November 2005 02:31 pm, John Baldwin wrote: > On Monday 21 November 2005 02:22 pm, John Baldwin wrote: > > So on Friday I updated my ultra60 to HEAD. It had been running HEAD from > > about a month ago. Today I came in and rebooted into the new kernel and > > now it hangs probing uart1 off of a PUC device. Note that I do not have > > a keyboard and mouse plugged into this box. > > > > New dmesg: > > > > puc0: addr 0x1400400000-0x140040007f > > irq 43 on ebus0 uart0: on puc0 > > uart0: CTS oflow > > uart0: console (9600,n,8,1) > > uart1: on puc0 > > > > Looks like maybe it is spinning here: > > sab82532_bus_setsig(struct uart_softc *sc, int sig) > { > struct uart_bas *bas; > uint32_t new, old; > uint8_t mode, pvr; > > bas = &sc->sc_bas; > do { > old = sc->sc_hwsig; > new = old; > if (sig & SER_DDTR) { > SIGCHG(sig & SER_DTR, new, SER_DTR, > SER_DDTR); > } > if (sig & SER_DRTS) { > SIGCHG(sig & SER_RTS, new, SER_RTS, > SER_DRTS); > } > } while (!atomic_cmpset_32(&sc->sc_hwsig, old, new)); > > > [halt - sent] > KDB: enter: Line break on console > [thread pid 0 tid 0 ] > Stopped at kdb_enter+0x3c: ta %xcc, 1 > db> tr > Tracing pid 0 tid 0 td 0xc035a1f8 > uart_intr_break() at uart_intr_break+0x24 > uart_intr() at uart_intr+0x94 > puc_intr() at puc_intr+0x54 > psycho_intr_stub() at psycho_intr_stub+0x8 > intr_execute_handlers() at intr_execute_handlers+0x78 > intr_fast() at intr_fast+0x7c > -- interrupt level=0xd pil=0 %o7=0xc00ddb5c -- > sab82532_bus_setsig() at sab82532_bus_setsig+0xa0 > sab82532_bus_attach() at sab82532_bus_attach+0xf0 > uart_bus_attach() at uart_bus_attach+0x2d4 > ... FYI, turning PUC_FASTINTR back off fixes it. I'll probably move that over to DEFAULTS rather than hardcoding it in the source so that it's feasible for folks to turn it off in the kernel configs instead of having to hack the kernel to turn this (mis)feature off. -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org