VESA: align the row buffer to a multiple of 4 bytes.
authorH. Peter Anvin <hpa@zytor.com>
Thu, 14 Feb 2008 08:02:12 +0000 (00:02 -0800)
committerH. Peter Anvin <hpa@zytor.com>
Thu, 14 Feb 2008 08:02:12 +0000 (00:02 -0800)
We do dword accesses to the row buffer, so align it to 4 bytes.

com32/lib/sys/vesa/screencpy.c

index 4972eea..a3043fd 100644 (file)
@@ -100,7 +100,7 @@ void __vesacon_copy_to_screen(size_t dst, const uint32_t *src, size_t npixels)
   char *win_base = wi.win_base;
   size_t l;
   size_t bytes = npixels * __vesacon_bytes_per_pixel;
-  char rowbuf[bytes+4];
+  char rowbuf[bytes+4] __aligned(4);
   const char *s;
 
   s = (const char *)__vesacon_format_pixels(rowbuf, src, npixels);