On 2013-09-09 18:58, Peter Maydell wrote: > On 9 September 2013 17:54, Jan Kiszka <jan.kis...@siemens.com> wrote: >> DMA requests from one device to another targeting anything else but >> RAM-backed regions will have to be rejected by QEMU in the future. We >> cannot map this sanely on a per-device locking model. The filtering will >> take place early in the memory core, to avoid any risk of deadlocking. >> No idea if reporting them as aborts will be easily feasible then. > > Why is a DMA request any different from any other communication > between two devices?
Other communication between devices requiring to take the target device's lock while holding the one of the initiator will be a no-go as well. But usually these scenarios are clearly defined, not guest-influenceable and can be avoided by the initiator. DMA is too generic. E.g., the guest can easily program a device to "accidentally" hit another device's MMIO region, creating the precondition for deadlocks on the host side. Jan -- Siemens AG, Corporate Technology, CT RTC ITP SES-DE Corporate Competence Center Embedded Linux