2003-07-20 01:56:40

by Roberto Sanchez

[permalink] [raw]
Subject: [PATCH] drivers/video/vesafb.c, kernel 2.6.0-test1

This is a trivial patch I made against the 2.6.0-test1 kernel to fix the
"vesafb: abort, cannot ioremap video memory 0x8000000 @ 0xe8000000" error
on systems with 1 GB RAM or more trying to use the framebuffer.

The trivial fix was mentioned on this list in this message:
http://www.ussg.iu.edu/hypermail/linux/kernel/0303.3/1236.html

The thread for the above message started here:
http://www.ussg.iu.edu/hypermail/linux/kernel/0303.3/1098.html

-Roberto Sanchez

Here is the patch (it is only a change to one line):

--- linux-2.6.0-test1.orig/drivers/video/vesafb.c 2003-07-13
23:30:36.000000000 -0400
+++ linux/drivers/video/vesafb.c 2003-07-19 20:30:18.000000000 -0400
@@ -227,7 +227,7 @@
vesafb_defined.xres = screen_info.lfb_width;
vesafb_defined.yres = screen_info.lfb_height;
vesafb_fix.line_length = screen_info.lfb_linelength;
- vesafb_fix.smem_len = screen_info.lfb_size * 65536;
+ vesafb_fix.smem_len = screen_info.lfb_width * screen_info.lfb_height *
screen_info.lfb_depth;
vesafb_fix.visual = (vesafb_defined.bits_per_pixel == 8) ?
FB_VISUAL_PSEUDOCOLOR : FB_VISUAL_TRUECOLOR;




___________________________________________________
Yahoo! Messenger - Nueva versi?n GRATIS
Super Webcam, voz, caritas animadas, y m?s...
http://messenger.yahoo.es


2003-07-20 12:09:14

by Alan

[permalink] [raw]
Subject: Re: [PATCH] drivers/video/vesafb.c, kernel 2.6.0-test1

On Sul, 2003-07-20 at 03:11, Roberto Sanchez wrote:
> --- linux-2.6.0-test1.orig/drivers/video/vesafb.c 2003-07-13
> 23:30:36.000000000 -0400
> +++ linux/drivers/video/vesafb.c 2003-07-19 20:30:18.000000000 -0400
> @@ -227,7 +227,7 @@
> vesafb_defined.xres = screen_info.lfb_width;
> vesafb_defined.yres = screen_info.lfb_height;
> vesafb_fix.line_length = screen_info.lfb_linelength;
> - vesafb_fix.smem_len = screen_info.lfb_size * 65536;
> + vesafb_fix.smem_len = screen_info.lfb_width * screen_info.lfb_height *
> screen_info.lfb_depth;
> vesafb_fix.visual = (vesafb_defined.bits_per_pixel == 8) ?
> FB_VISUAL_PSEUDOCOLOR : FB_VISUAL_TRUECOLOR;

This will make some systems crash on boot.

width * height * depth is in bits. You tben need to chop that down to
bytes and maybe allow room for the scroll buffer, but only if its still
under the size of the entire frame buffer.

See the final 2.4 changes