From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:43012) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZIEHD-0005KA-FD for qemu-devel@nongnu.org; Thu, 23 Jul 2015 07:03:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZIEH9-0006A7-86 for qemu-devel@nongnu.org; Thu, 23 Jul 2015 07:02:59 -0400 Received: from mx1.redhat.com ([209.132.183.28]:46143) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZIEH9-00069z-3p for qemu-devel@nongnu.org; Thu, 23 Jul 2015 07:02:55 -0400 From: Paolo Bonzini Date: Thu, 23 Jul 2015 13:02:49 +0200 Message-Id: <1437649371-29284-1-git-send-email-pbonzini@redhat.com> Subject: [Qemu-devel] [PATCH for-2.4 v2 0/2] framebuffer: automatically set DIRTY_MEMORY_VGA List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: peter.maydell@linaro.org The pxa2xx_lcd, omap_lcdc, pl110 and milkymist-vgafb devices use framebuffer.c to render an image from a shared memory framebuffer. With KVM, DIRTY_MEMORY_VGA always had to be enabled explicitly on RAM memory regions that can be used for the framebuffer, and the 2.4 changes to dirty bitmap handling made that mandatory for TCG as well. If the board does not set DIRTY_MEMORY_VGA, framebuffer.c detects this (commit d55d420, framebuffer: check memory_region_is_logging, 2015-03-23) and always invalidates the screen; this is inefficient, to the point that blocking X11 calls on slow network connections can prevent the guest from making progress. To fix this, the patch makes the framebuffer set the flag. Because there could be multiple framebuffers, patch 1 allows nesting of memory_region_set_log calls. Paolo Paolo Bonzini (2): memory: count number of active VGA logging clients framebuffer: set DIRTY_MEMORY_VGA on RAM that is used for the framebuffer hw/display/framebuffer.c | 75 ++++++++++++++++++++++++-------------------- hw/display/framebuffer.h | 44 ++++++++++++++++++++++++-- hw/display/milkymist-vgafb.c | 15 +++++++-- hw/display/omap_lcdc.c | 12 +++++-- hw/display/pl110.c | 13 ++++++-- hw/display/pxa2xx_lcd.c | 29 ++++++++++++----- include/exec/memory.h | 1 + memory.c | 7 +++++ 8 files changed, 145 insertions(+), 51 deletions(-) -- 2.4.3