Search code examples
linuxarmintelpowerpc

In ARM or powerPC archetecture, is the PCI IO space in use?


sorry for my poor english first.

I known , in intel archeture, there are some instructions related to io space(in/out instruction), but in ARM or powerPC, there are not such instruction, all is memory. so I think in ARM and PPC, the PCI IO space is useless. Am I right?


Solution

  • Neither architecture has dedicated IO instructions - this is baggage peculiar to the x86 architecture. PCI IO regions were originally there for PCI devices to appear in the same IO space as ISA-bus devices. This was the bad old days when the user would have to specify the base-address of parallel and serial ports as they were not discoverable.

    Today, it is thoroughly obsolete, but devices can still provide them. Equally, they can expose their registers in PCI memory region - and this is probably what designers of devices ought to do these days.

    On both ARM and PPC, regular load/store instructions are used to access memory-mapped PCI regions - including PCI IO regions, so these CPUs have no problem with devices that provide one.