pci host bridge address assignment question

Hi, I am trying to figure out for a PCI host bridge how the address assignment is generated, and I have this question.

Let's say the host uses some other bus, bus foo, as the primary bus, then use foo_to_pci as PCI host bridge to connect PCI world. Then in assigning the system address map, the host may pre-allocate a big chunk of IO and memory space to PCI. Let's just say the PCI memory space is [0xA0000000:0xFFFFFFFF] and PCI IO space is [0x90000000:0x9FFFFFFF].

Then the PCI init code in system bootup should assign all the PCI device address map, IO and memory, to these 2 ranges respectively.

So far it sounds all natural. But in reading some Linux document it mentions that PCI IO address "always" starts at 0x0. Is it real? The foo_to_pci bridge does have address alias functionality, then do I have to alias IO space from [0x90000000:0x9FFFFFFF] to [0x0:0x0FFFFFFF]?

Thanks.

Reply to
John Black
Loading thread data ...

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.