sparc64/151404: Kernel hangs before mounting root fs
Marius Strobl
marius at alchemy.franken.de
Sat Oct 16 12:30:12 UTC 2010
The following reply was made to PR sparc64/151404; it has been noted by GNATS.
From: Marius Strobl <marius at alchemy.franken.de>
To: Pyun YongHyeon <pyunyh at gmail.com>
Cc: Dmitry Afanasiev <KOT at MATPOCKuH.Ru>, yongari at freebsd.org,
bug-followup at freebsd.org
Subject: Re: sparc64/151404: Kernel hangs before mounting root fs
Date: Sat, 16 Oct 2010 14:24:38 +0200
On Sat, Oct 16, 2010 at 01:30:13PM +0200, Marius Strobl wrote:
> On Fri, Oct 15, 2010 at 05:09:24PM -0700, Pyun YongHyeon wrote:
> > On Sat, Oct 16, 2010 at 01:25:17AM +0200, Marius Strobl wrote:
> > >
> > > No, this most likely is fallout from the recent changes to bge(4), I've
> > > already got bitten by two regressions they caused and apparently there's
> > > at least a third one. As of r213890 I can confirm that the interfaces get
> > > no carrier when booting the kernel from disk, however when booting via
> > > net at least that interface gets up. Yongari, could you please look into
> > > this? The interfaces in question are:
> > > bge0: <Broadcom BCM5715 A3, ASIC rev. 0x009003> mem 0x4200000-0x420ffff,0x4010000-0x401ffff at device 4.0 on pci7
> > > bge0: CHIP ID 0x00009003; ASIC REV 0x09; CHIP REV 0x90; PCI-X 0.0 on pci0
> > > miibus0: <MII bus> on bge0
> > > brgphy0: <BCM5714 10/100/1000baseTX PHY> PHY 1 on miibus0
> > > brgphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
> > > bge0: Ethernet address: 00:14:4f:c3:df:7a
> > >
> > > bge0 at pci0:9:4:0: class=0x020000 card=0x1668108e chip=0x166814e4 rev=0xa3hdr=0x00
> > > vendor = 'Broadcom Corporation'
> > > device = 'NetXtreme BCM5714 Gigabit Ethernet'
> > > class = network
> > > subclass = ethernet
> > > cap 07[40] = PCI-X 64-bit supports 133MHz, 2048 burst read, 1 split transaction
> > > cap 01[48] = powerspec 2 supports D0 D3 current D0
> > > cap 03[50] = VPD
> > > cap 05[58] = MSI supports 8 messages, 64 bit
> > >
> > > In case it matters they are using MSIs.
> > >
> >
> > It seems BCM5714 also requires some special handling in PHY.
> > auto-polling seemed to hide the it. Would you try attached patch?
> >
> > > Marius
> > >
>
> > Index: sys/dev/bge/if_bge.c
> > ===================================================================
> > --- sys/dev/bge/if_bge.c (revision 213900)
> > +++ sys/dev/bge/if_bge.c (working copy)
> > @@ -2677,8 +2677,10 @@
> > sc->bge_mi_mode = BGE_MIMODE_500KHZ_CONST;
> > else
> > sc->bge_mi_mode = BGE_MIMODE_BASE;
> > - /* Enable auto polling for BCM570[0-5]. */
> > - if (BGE_IS_5700_FAMILY(sc) || sc->bge_asicrev == BGE_ASICREV_BCM5705)
> > + /* Enable auto polling for BCM570[0-5], BCM5714. */
> > + if (BGE_IS_5700_FAMILY(sc) ||
> > + sc->bge_asicrev == BGE_ASICREV_BCM5705 ||
> > + sc->bge_asicrev == BGE_ASICREV_BCM5714)
> > sc->bge_mi_mode |= BGE_MIMODE_AUTOPOLL;
> >
> > /*
>
> Unfortunately, the above patch makes no difference to the problem
> (the netboot interface works, but otherwise the link doesn't come
> up). I guess it's time to dig out all of my bge(4) controllers :)
>
FYI, with the BCM5751M in my IBM X41 I also get no link.
Marius
More information about the freebsd-sparc64
mailing list