Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 21 Nov 2005 14:31:29 -0500
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-sparc64@freebsd.org
Cc:        sparc64@freebsd.org
Subject:   Re: uart(4) busted on sparc64 now?
Message-ID:  <200511211431.31051.jhb@freebsd.org>
In-Reply-To: <200511211422.57431.jhb@freebsd.org>
References:  <200511211422.57431.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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: <Siemens SAB 82532 dual channel SCC> addr 0x1400400000-0x140040007f
> irq 43 on ebus0 uart0: <SAB 82532 v3.2, channel A> on puc0
> uart0: CTS oflow
> uart0: console (9600,n,8,1)
> uart1: <SAB 82532 v3.2, channel B> on puc0
> <hang>

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
...

-- 
John Baldwin <jhb@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org



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