Re: tg3 broken after "PCI: Fix bus resource assignment on 32 bits with 64b resources"

From: Alexey Dobriyan
Date: Wed Feb 06 2008 - 05:05:35 EST


On Wed, Feb 06, 2008 at 07:49:52AM +1100, Benjamin Herrenschmidt wrote:
>
> > so x86_64 will work well?
> >
> > the problem is that BIOS does not assign one resource for you tg3. and
> > kernel pcibios_assign_to_unassign (?) try
> > to assign resource to your card.
>
> But the kernel shouldn't try to assign a resource in the 64 bits space
> to a card behind a bridge... at least not a non-prefetchable resource
> since those can't be forwarded (P2P bridges only define a 32 bits window
> for non-prefetchable resources).
>
> So it does look to me like the kernel may be doing something wrong. I
> haven't had a chance to look at the logs in details yet (just woke up).
>
> > revert the patch happen to work, you only have 2g less RAM (?), so
> > 0x8000000 still can be used.
> >
> > sometime you could get hang if your MB have two HT chains. ...because
> > BIOS already allocate two io range for the two chain.
> > and kernel may assign resource from the range1 belong to HT1 to device
> > under HT0.
> > solution: need pci root bios to provide _CRS to replace...
> > and i have one patch but it only take care of 64 bit kernel for this case.
> >
> >
> > easy solution for you: try to get one updated BIOS.

BTW, "[PATCH] x86_32: fix regression caused by trim ram according to mtrr on system with 4G more RAM"
http://marc.info/?l=linux-kernel&m=120229095121673&w=2
fixes this box too and I have back all 4G of RAM as a bonus. :-)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/