From: Jean Guyader Date: Mon, 14 Dec 2009 15:13:46 +0000 (+0000) Subject: intel: Check for resolution before touching the memory X-Git-Url: http://xenbits.xen.org/gitweb?a=commitdiff_plain;h=b0027e91bea5c4de1880dfadf258504da76fb738;p=xenclient%2Fioemu-pq.git intel: Check for resolution before touching the memory Also fix couple of warnings. --- diff --git a/master/intel b/master/intel index c9744f6..4f4dda0 100644 --- a/master/intel +++ b/master/intel @@ -201,10 +201,10 @@ index 90bd544..e4e27a9 100644 vga_update_display(s); diff --git a/intel.c b/intel.c new file mode 100644 -index 0000000..ef279fe +index 0000000..8f2a225 --- /dev/null +++ b/intel.c -@@ -0,0 +1,525 @@ +@@ -0,0 +1,528 @@ +#include +#include +#include @@ -220,6 +220,7 @@ index 0000000..ef279fe +#include "qemu-timer.h" +#include "console.h" +#include "sysemu.h" ++#include "qemu-xen.h" + +#include "intel_reg.h" +#include "intel.h" @@ -571,7 +572,8 @@ index 0000000..ef279fe +static void set_data_pointer(DisplaySurface *surf) +{ + surf->data = (unsigned char *)(intel_mem + intel_get_surface()); -+ memset(surf->data, 0x00, surf->linesize * IntelY); ++ if (IntelY != 4096) ++ memset(surf->data, 0x00, surf->linesize * IntelY); + surf->data = surf->data + + surf->linesize * ((IntelY - surf->height) / 2) + + 4 * ((IntelX - surf->width) / 2); @@ -616,8 +618,9 @@ index 0000000..ef279fe + intel_have_focus = focus; + if (intel_have_focus) { + intel_get_res(&IntelX, &IntelY, &IntelPitch); -+ memset((uint8_t *)(intel_mem + intel_get_surface()), 0, -+ IntelPitch * IntelY); ++ if (IntelX != 4096 && IntelY != 4096) ++ memset((uint8_t *)(intel_mem + intel_get_surface()), 0, ++ IntelPitch * IntelY); + + if (!guest_framebuffer) + intel_force_linear(0); @@ -630,7 +633,7 @@ index 0000000..ef279fe + focus, IntelX, IntelY, IntelPitch); +} + -+void intel_enter_leave(const char *path, void *opaque) ++static void intel_enter_leave(const char *path, void *opaque) +{ + int state; + char *tmp;