You need to use 64 bit kernel if you enable pref64 in LinuxBIOS.
YH
-----Original Message----- From: linuxbios-bounces+yinghai.lu=amd.com@linuxbios.org [mailto:linuxbios-bounces+yinghai.lu=amd.com@linuxbios.org] On Behalf Of Ed Swierk Sent: Tuesday, December 12, 2006 4:37 PM To: LinuxBIOS Subject: Re: [LinuxBIOS] More MCP55 hacking
On 12/12/06, Lu, Yinghai yinghai.lu@amd.com wrote:
If still has problem
#make the SB HT chain on bus 0, default is not (0) #default SB_HT_CHAIN_ON_BUS0=1 2. Power off your target for a while. You may drive it nuts.
The patch didn't help, but commenting out SB_HT_CHAIN_ON_BUS0 did. Now the SB is on bus 1 and the devices are getting initialized only once.
Any idea what those "Unable to handle 64-bit address space for bridge 0000:01:03.0" errors are about? The stuff about IO/MEM/PREFETCH windows being disabled doesn't look good either.
I suppose the first order of business is to get interrupts going, though.
--Ed
On 12/12/06, Lu, Yinghai yinghai.lu@amd.com wrote:
You need to use 64 bit kernel if you enable pref64 in LinuxBIOS.
CONFIG_PCI_64BIT_PREF_MEM is 0, so it's not clear to me why Linux is seeing the PCI_PREF_RANGE_TYPE_64 bit set in the configuration registers of those bridges.
Perhaps the pref64 bit is set by default by the hardware; if so, is there a way to clear it in LinuxBIOS?
--Ed
CONFIG_PCI_64BIT_PREF_MEM is 0, so it's not clear to me why Linux is seeing the PCI_PREF_RANGE_TYPE_64 bit set in the configuration registers of those bridges.
Because it's a hardware property.
The error means a single bar needed 4GB or more of address space, btw. Sounds like something is wrong :-)
Perhaps the pref64 bit is set by default by the hardware; if so, is there a way to clear it in LinuxBIOS?
No. BARs are 64-bit or not, there's no way to change that. It doesn't matter however; if the top half of a 64-bit BAR is set to zeroes, it works fine on a 32-bit system.
Segher