On Thu, Mar 31, 2011 at 04:32:44PM -0500, Anthony Liguori wrote: > On 03/31/2011 04:26 PM, Michael S. Tsirkin wrote: > >On Thu, Mar 31, 2011 at 02:29:50PM -0500, Anthony Liguori wrote: > >>On 03/31/2011 02:18 PM, Peter Maydell wrote: > >>>On 31 March 2011 20:01, Anthony Liguori<anth...@codemonkey.ws> wrote: > >>>>VGA is just another device. It happens to be that we treat VGA device > >>>>memory as something that behaves like ram occassionally but that does not > >>>>make it RAM. > >>>So, to ask a dumb question, what does make something RAM? > >>It's a made up concept that we use to make device performance faster. > >> > >>Basically, RAM should include all of the memory that a reasonable > >>device (that we control) would DMA to and has a relatively stable > >>mapping. > >> > >>>My take on RAM is that RAM is just another device; the only > >>>difference is that you want to be able to implement fast > >>>paths that go straight(ish) to target memory; but that's > >>>an optimisation detail, not something that makes RAM > >>>conceptually different from other devices... > >>Right, the trouble is, if you want to treat RAM like any other > >>device, you can't get stable mappings to it which is bad for > >>something like vhost-net. > >> > >>Regards, > >> > >>Anthony Liguori > >Not only that I guess. Removing the VGA memory with the baloon > >will likely also be a bad idea. > > It's just the equivalent of a memset(0). It would be a silly thing > for a guest to do but not somethign to be concerned about. > > Regards, > > Anthony Liguori >
BTW, what is IO_MEM_NOTDIRTY? I thought another way would be to replace IO_MEM_RAM with IO_MEM_DEVICE_SHADOW_RAM in these cases but no idea what the right value for that enum would be. -- MST