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?

> 
> (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?

Jan

-- 
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux

Reply via email to