On 9 September 2013 18:09, Jan Kiszka <jan.kis...@siemens.com> wrote: > On 2013-09-09 18:58, Peter Maydell wrote: >> 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.
How? If I'm a device and I need to raise a GPIO output line I have no idea what the other end is connected to. Similarly for more interesting device-to-device connections than pure on-or-off signal lines. > DMA is too > generic. E.g., the guest can easily program a device to > "accidentally" hit another device's MMIO region This is just a special case of generic device-device interaction. -- PMM