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