|
|
|
|
|
|
|
|
|
|
xen-devel
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
|
|
|
|
|