pci host bridge address assignment question

Oct 05, 2004 0 Replies

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.



Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required