On Wed, Jul 20, 2011 at 05:54:26PM +0300, Avi Kivity wrote: > On 07/20/2011 05:37 PM, Michael S. Tsirkin wrote: > >> > >> If you do a memory_region_set_log() immediately after > >> memory_region_init_ram(), then as soon as the framebuffer is added > >> to the memory hierarchy, it will have logging enabled (or any > >> aliases of the framebuffer). > > > >Still, I think we should specify logging on/off when region is created, > >and avoid APIs that tweak dirty logging. > > It's the same thing. > > memory_region_init*(); > // we have a disconnected memory region > memory_region_set_log(); > // still disconnected, now logged > > I don't want memory_region_init() with 231 parameters.
Pass in a struct then? > >I don't think there's actual need for device to enable/disable > >logging. > > Why not? migration does it, Yes but that's not a device. > and vga could do it if the vnc display > is disconnected, or if the update rate is so high it can just assume > all memory is dirty. Yes, but it's not something *devices* should be doing. > >What devices seem to need, instead, is enable/disable a region > >through a back channel. > > What do you mean? At least for qxl, all it seems to do is enable/disable logging when the region is enabled disabled. I'm not sure I follow what does vmware do - something similar only with a custom register instead of the standard memory enable? > -- > error compiling committee.c: too many arguments to function