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

From: Benjamin Herrenschmidt
Date: Tue Feb 05 2008 - 15:51:21 EST



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


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