On Fri, Oct 4, 2024, at 16:24, Maciej W. Rozycki wrote: > On Fri, 4 Oct 2024, Arnd Bergmann wrote: >> There are also a lot of Arm systems that have no I/O space support at >> all, such as the Apple M2 I'm using at the moment. > > Thanks for letting me know. Is it AArch64 only that has no port I/O > support in the PCIe root complex nowadays, or is it 32-bit ARM as well? I'm fairly sure we have some on 32-bit as well, it's certainly up to the specific SoC rather than the architecture. I think I've seen three different cases: - Apple leaves out every feature from hardware that they don't have to do for compliance, this also includes CPU stuff like 32-bit mode, big-endian or cacheable PCI mappings. I think IBMs ppc64 chips are in a similar situation - Some devices can probably do I/O space in hardware, but this is left out from the driver or the DT because it has not been validated to work - Some devices have a limited number of mapping windows that are shared between prefetchable-memory, non-prefetchable-memory, config and io space. Leaving out I/O space completely is easier than runtime remapping of the windows Arnd