User`s guide

3 Porting a BSP to Custom Hardware
3.3 Finalizing Your BSP
113
3
Data Address in Virtual Memory Environments
If the CPU board has a memory management unit (MMU), the driver developer
must be careful when setting data address pointers during direct memory access
(DMA) transfers. When DMA is used in this environment, the physical memory
address must be used instead of the virtual memory address. This is because
during DMA transfers from the SCSI bus, the SCSI or DMA controller is the bus
master and therefore, the MMU on the CPU cannot translate the virtual address to
the physical address. Instead, the macro
CACHE_DMA_VIRT_TO_PHYS must be
used when providing the data address to the DMA controller.