On Wed, Nov 15, 2006 at 12:57:24AM +0000, Paul Brook wrote:
It isn't always system memory. Some DMA controllers deliberately write to
device FIFOs. There are also several devices which map areas of onboard RAM.
At minimum you need to make those to use RAM mappings rather than MMIO.
I'm not suggesting that we change all existing users of cpu_physical_*
to a new interface that only accessed RAM. However, for cases where it
is obvious that only system RAM is intended (e.g., rtl8139), it makes
sense to bypass MMIO handlers.
If a device is recursively writing to itself I'd take this as sign that the
guest OS is already pretty screwed. I'm not sure what happens in this
situation on real hardware, but I wouldn't be surprised if it caused similar
effects by flooding the bus.
The scenario here is a compromised guest attempting to harm a host such
as Xen.