Accessing Large buffer from Device through DMA
I want to know how the device,cpu and os work together when we want to transfer large data like 10GB(more than the RAM available) from a DMA capable device. After doing some browsing on internet i came to know the following two approaches.
1. Using IOMMU ( it converts the device address to physical address)
2. Copying buffers to and from the peripheral's addressable memory space.
I request expert/experienced candidates here to add/modify/delete on my approaches with some explanation.
|