Hi Nial,
--- Quote Start ---
It's simple enough and works well, all you have to do is set up the address translation table the way you want it.
--- Quote End ---
The original poster wanted to be able to DMA to an arbitrary 64-bit address, and he wanted 10 different DMA engines. As far as I am aware, the TXS port on the Qsys PCI IP core would only allow one value for the 32 MSBs of the address, so the 10 DMA controllers would be restricted to a 4GB region of the PCIe memory map. Its pretty common now for host PCs to have in excess of 4GB, so a driver on the host could easily provide PCIe DMA target page addresses that cross a 32-bit address boundary.
Bottom line is that the Qsys PCIe core PCIe bus master interface is too simplistic.
Cheers,
Dave