Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 29 Dec 2005 05:49:10 +0100
From:      Bernd Walter <ticso@cicely12.cicely.de>
To:        John Baldwin <jhb@FreeBSD.org>
Cc:        Bernd Walter <ticso@cicely12.cicely.de>, Ruslan Ermilov <ru@FreeBSD.org>, alpha@FreeBSD.org, ticso@cicely.de
Subject:   Re: re(4) unaligned panic on -current
Message-ID:  <20051229044909.GG563@cicely12.cicely.de>
In-Reply-To: <DB1495DB-3007-499E-9559-FA3185E44C83@FreeBSD.org>
References:  <20051228163557.GE563@cicely12.cicely.de> <DB1495DB-3007-499E-9559-FA3185E44C83@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Dec 28, 2005 at 11:01:47PM -0500, John Baldwin wrote:
> 
> On Dec 28, 2005, at 11:35 AM, Bernd Walter wrote:
> 
> >The same card works fine on an AS4100 running 5.4-STABLE.
> >
> >Booting [/boot/kernel/kernel]...
> >Entering /boot/kernel/kernel at 0xfffffc000033bf00...
> > ...
> >re0: <RealTek 8169S Single-chip Gigabit Ethernet> port  
> >0x11000-0x110ff mem 0x80320000-0x803200ff irq 0 at device 11.0 on pci0
> >miibus1: <MII bus> on re0
> >rgephy0: <RTL8169S/8110S media interface> on miibus1
> >rgephy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX,  
> >1000baseTX, 1000baseTX-FDX, auto
> >re0: Ethernet address: 00:40:f4:d0:8d:eb
> >
> >fatal kernel trap:
> >
> >    trap entry     = 0x4 (unaligned access fault)
> >    cpuid          = 0
> >    faulting va    = 0xfffffc00008a472b
> >    opcode         = 0x28
> >    register       = 0x12
> >    pc             = 0xfffffc00003b0608
> >    ra             = 0xfffffc00003b05cc
> >    sp             = 0xfffffc00007339d0
> >    usp            = 0x0
> >    curthread      = 0xfffffc000068b008
> >        pid = 0, comm = swapper
> >
> >[thread pid 0 tid 0 ]
> >Stopped at      re_init_locked+0xd8:    jsr     ra, 
> >(pv),re_init_locked+0xdc      
> ><ra=0xfffffc00003b05cc,pv=0xfffffc00005d2dd0>
> >db> bt
> >Tracing pid 0 tid 0 td 0xfffffc000068b008
> >re_init_locked() at re_init_locked+0xd8
> >re_diag() at re_diag+0x178
> 
> My first guess would be Ruslan's IF_LLADDR changes.  If so, you can  
> try doing a bcopy to a char array as a workaround similar to the  
> recent changes to de(4) and dc(4) to fix similar panics on Alpha.  It  
> might be something else though.  If you could pull up gdb on your  
> kernel.debug and do 'l *re_init_locked+0xd8' to see what file/line  
> that corresponds to that would be helpful.

Your guess looks right - will try your bcopy suggestion.

[54]cicely12# gdb kernel.debug 
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "alpha-marcel-freebsd"...
(gdb) l *re_init_locked+0xd8
0xfffffc00003b0608 is in re_init_locked (../../../dev/re/if_re.c:2127).
2122             * Init our MAC address.  Even though the chipset
2123             * documentation doesn't mention it, we need to enter "Config
2124             * register write enable" mode to modify the ID registers.
2125             */
2126            CSR_WRITE_1(sc, RL_EECMD, RL_EEMODE_WRITECFG);
2127            CSR_WRITE_STREAM_4(sc, RL_IDR0,
2128                *(u_int32_t *)(&IF_LLADDR(sc->rl_ifp)[0]));
2129            CSR_WRITE_STREAM_4(sc, RL_IDR4,
2130                *(u_int32_t *)(&IF_LLADDR(sc->rl_ifp)[4]));
2131            CSR_WRITE_1(sc, RL_EECMD, RL_EEMODE_OFF);
(gdb) 

-- 
B.Walter                   BWCT                http://www.bwct.de
bernd@bwct.de                                  info@bwct.de




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