The drivers for the IP peripherals do not support virtual-to-physical memory translation. This becomes a problem when DMA is used in applications that use the MMU (e.g., Linux and QNX operating systems).
One example of this is the way in which buffer descriptors are handled. The drivers need to be aware of both the virtual and the physical address of the buffer descriptor. They need the virtual address to set up options inside the buffer descriptor. They need the physical address to provide it to the DMA engine.
Newer drivers (TEMAC and CAN) have virtual memory support already; support for other EMAC drivers (EMAC, GMAC) will be added soon.