From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:49836) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QjXwk-00010a-Dk for qemu-devel@nongnu.org; Wed, 20 Jul 2011 10:40:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QjXwi-0004nC-C7 for qemu-devel@nongnu.org; Wed, 20 Jul 2011 10:40:21 -0400 Received: from mx1.redhat.com ([209.132.183.28]:39807) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QjXwh-0004n2-RY for qemu-devel@nongnu.org; Wed, 20 Jul 2011 10:40:20 -0400 Message-ID: <4E26E8CF.2080205@redhat.com> Date: Wed, 20 Jul 2011 17:40:15 +0300 From: Avi Kivity MIME-Version: 1.0 References: <1310901265-32051-1-git-send-email-avi@redhat.com> <1310901265-32051-24-git-send-email-avi@redhat.com> <4E26E0AF.9040503@siemens.com> In-Reply-To: <4E26E0AF.9040503@siemens.com> Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [RFC v4 23/58] vga: convert vga and its derivatives to the memory API List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jan Kiszka Cc: qemu-devel@nongnu.org, kvm@vger.kernel.org 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. (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. -- error compiling committee.c: too many arguments to function