Subject: Re: Changing the BAR of a PCI device at driver load time
To: Vincent <10.50@free.fr>
From: David Laight <david@l8s.co.uk>
List: tech-kern
Date: 09/09/2003 11:39:57
> Hmm.
> To be more specific, the VGA chipset claims address range 0x80380000 for
> access to its registers. The AGP memory aperture is somewhat higher
> (0xA0000000), but I think that does not matter. It confirms what I
> thought : you can't have two devices on two separate PCI buses within a
> single megabyte range.

More specifically each PCI bridge will only forward a single range
of addresses to each subordinate bus [1].  This means that you have to
allocate memory and io space (and bus numbers) to each bus during the
initial grope.

Plug a PCI extender into a cardbus slot and you start wishing the bios
had allocated it a lot more addresses.  This is a particular problem
on systems which have multiple PCI busses (eg 2*33MHZ off a 66MHz master).

	David

[1] Apart from special devices - I suspect the AGP bridge has a second
range for the memory aperture (but that is almost certainly a fixed address).

-- 
David Laight: david@l8s.co.uk