On 07/20/2011 05:45 PM, Jan Kiszka wrote:
On 2011-07-20 16:40, Avi Kivity wrote:
>  On 07/20/2011 05:05 PM, Jan Kiszka wrote:
>>  On 2011-07-17 13:13, Avi Kivity wrote:
>>>   Convert all vga memory to the memory API.  Note we need to fall back to
>>>   get_system_memory(), since the various buses don't pass the vga window
>>>   as a memory region.
>>>
>>
>>>
>>>        if (limit>   0) {
>>>   -        /* Thinking about changing bank base? First, drop the dirty 
bitmap information
>>>   -         * on the current location, otherwise we lose this pointer 
forever */
>>>   -        if (s->vga.lfb_vram_mapped) {
>>>   -            target_phys_addr_t base_addr = isa_mem_base + 0xa0000 + 
bank_index * 0x8000;
>>>   -            cpu_physical_sync_dirty_bitmap(base_addr, base_addr + 
0x8000);
>>>   -        }
>>
>>  Why is it safe to drop this?
>>
>
>  The memory API will sync the dirty bitmap once it becomes invisible.

OK, maybe add a short note to the commit log in the next release?


Sure.

>
>  (that's the whole point - it can be made invisible by something outside
>  the cirrus card's knowledge).
>
>  Note - with kvm, there is still a race between syncing the bitmap and
>  removing the region.  However that is a bug in the kvm API; it is not
>  possible to work around it in qemu.
>

Dirty log off, reconfigure, dirty log on?

What happens if there's a write after the first comma (assuming "reconfigure" == "remove slot")?

Granted, the guest shouldn't be doing that.

Hmm, I guess you could just mark the entire range dirty after removing it.

--
error compiling committee.c: too many arguments to function


Reply via email to