Re: [RFC v4 23/58] vga: convert vga and its derivatives to the memory API

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux