4 ms·
I don't see the concept of DMA as unsafe. I'm not that familiar with x86, but it seems that random devices can set up DMA transfers. Why? I guess there were per
by lgeek 13y ago
I don't see the concept of DMA as unsafe. I'm not that familiar with x86, but it seems that random devices can set up DMA transfers. Why? I guess there were performance considerations, but in that case an IOMMU needs to be used. On the systems I've worked on, only the CPU can set up DMA transactions (which includes transfer length, source and destination), which should prevent trivial attacks.
- nly 13y agoOne advantage of bus mastering, at least in theory, is that you can do peer-to-peer transfers without going through main system memory. In practice, I don't think this works out too well for really heavy workloads... both NVIDIA SLI and AMD Crossfire require their own interconnects, presumably because of limited bus bandwidth. Remember the days when you had a separate MPEG-2 decoder card that externally proxied VGA from your graphics card?