qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH for-2.4 v2 0/2] framebuffer: automatically set DIRTY


From: Paolo Bonzini
Subject: [Qemu-devel] [PATCH for-2.4 v2 0/2] framebuffer: automatically set DIRTY_MEMORY_VGA
Date: Thu, 23 Jul 2015 13:02:49 +0200

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]