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

Re: [Xen-devel] RE: qemu vga issue



On Tue, 2010-11-09 at 17:49 +0000, Stefano Stabellini wrote:
> On Sun, 7 Nov 2010, Kay, Allen M wrote:
> > I'm seeing this in xen-unstable tree.
> > 
> 
> Maybe vga dirty bit tracking is failing.

I got a private mail regarding win7 graphics corruption this morning
which lead to me proposing the following fix for vga dirty tracking. I
didn't actually read this thread but perhaps it helps here too? (I
forgot to CC the list when I replied to that private mail, which I think
highlights the need to avoid private mails to developers)

Ian.


# HG changeset patch
# User Ian Campbell <ian.campbell@xxxxxxxxxx>
# Date 1289323509 0
# Node ID 3076b7dc364bfe0083f8ffcfafd9e14893d866d1
# Parent  2cc6c31e6bc8cfc89a8df1e16453f60496e583da
libxc: correct dirty_bitmap bounce size in xc_hvm_track_dirty_vram

The size should be in bytes not 32-bit words. Fixes graphics
corruption issues for HVM guests due to bouncing too little data.

Also the dirty_bitmap buffer is output only and therefore only needs
bouncing in one direction.

Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>

diff -r 2cc6c31e6bc8 -r 3076b7dc364b tools/libxc/xc_misc.c
--- a/tools/libxc/xc_misc.c     Tue Nov 09 17:25:09 2010 +0000
+++ b/tools/libxc/xc_misc.c     Tue Nov 09 17:25:09 2010 +0000
@@ -423,7 +423,7 @@ int xc_hvm_track_dirty_vram(
     unsigned long *dirty_bitmap)
 {
     DECLARE_HYPERCALL;
-    DECLARE_HYPERCALL_BOUNCE(dirty_bitmap, (nr+31) / 32, 
XC_HYPERCALL_BUFFER_BOUNCE_BOTH);
+    DECLARE_HYPERCALL_BOUNCE(dirty_bitmap, (nr+7) / 8, 
XC_HYPERCALL_BUFFER_BOUNCE_OUT);
     DECLARE_HYPERCALL_BUFFER(struct xen_hvm_track_dirty_vram, arg);
     int rc;
 




_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.