BARy typu IO se na většině RISC a ne jen tam, řeší namapováním do k tomu určeného fyzického adresního rozsahu, ve kterém LDR, STR (LW, SW nebo jak je přístup do paměti na dané architektuře řešený) přemapují na PCI/PCIe I/O transakce... Nebývá to problém. Alespoň když jsem to naposled v Linux kernelu před několika lety hledal... Jinak kompletní vyhození I/O prostoru věci zjednodušuje....