When literature describes DMA concepts and operations, it usually says about DMA-capable memory. My questions are:
- Is this memory defined at boot-up time, for instance by BIOS or in case with embedded platform -- by the bootloader?
- Is DMA-capable memory region platform specific?
- If I implement a Linux device driver and want it to use DMA, can I be sure that DMA memory is set up and configured for me by the kernel/bootloader, so I have to only worry about implementing read/write transactions over bus?
Thanks.