Grant Grundler wrote: > On Mon, Nov 30, 2009 at 05:03:32PM -0700, Grant Grundler wrote: >> On Mon, Nov 30, 2009 at 02:51:44PM -0700, Alex Williamson wrote: >>> Prior to 1f82de10 we always initialized the upper 32bits of the >>> prefetchable memory window, regardless of the address range used. >>> Now we only touch it for a >32bit address, which means the upper32 >>> registers remain whatever the BIOS initialized them too. >>> >>> It's valid for the BIOS to set the upper32 base/limit to >>> 0xffffffff/0x00000000, which makes us program prefetchable ranges >>> like 0xffffffffabc00000 - 0x00000000abc00000 >>> >>> Revert the chunk of 1f82de10 that made this conditional so we always >>> write the upper32 registers and remove now unused pref_mem64 variable. >>> >>> Signed-off-by: Alex Williamson <alex.williamson@xxxxxx> >> Reviewed-by: Grant Grundler <grundler@xxxxxxxxxxxxxxxx> > > NAK this - I messed up. Yinghai is correct. Something else is going on. > > It might be perfectly OK to read 0xffffffffabc00000 if the bridge > isn't using the upper32 Prefetchable register. Maybe the problem is > some code is reading the upper32 value without checking that it's valid? maybe Alex is using old lspci? YH -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html