diff -uNr linux-2.6.11-gentoo-r4.orig/drivers/video/console/bitblit.c linux-2.6.11-gentoo-r4/drivers/video/console/bitblit.c --- linux-2.6.11-gentoo-r4.orig/drivers/video/console/bitblit.c 2005-04-12 20:52:14.000000000 +0300 +++ linux-2.6.11-gentoo-r4/drivers/video/console/bitblit.c 2005-04-12 20:49:15.000000000 +0300 @@ -244,13 +244,14 @@ } static void bit_cursor(struct vc_data *vc, struct fb_info *info, - struct display *p, int mode, int fg, int bg) + struct display *p, int mode, int fg, int bg, + int softback_lines) { struct fb_cursor cursor; struct fbcon_ops *ops = (struct fbcon_ops *) info->fbcon_par; unsigned short charmask = vc->vc_hi_font_mask ? 0x1ff : 0xff; int w = (vc->vc_font.width + 7) >> 3, c; - int y = real_y(p, vc->vc_y); + int y = real_y(p, vc->vc_y) + softback_lines; int attribute, use_sw = (vc->vc_cursor_type & 0x10); char *src; diff -uNr linux-2.6.11-gentoo-r4.orig/drivers/video/console/fbcon.c linux-2.6.11-gentoo-r4/drivers/video/console/fbcon.c --- linux-2.6.11-gentoo-r4.orig/drivers/video/console/fbcon.c 2005-04-12 20:52:20.000000000 +0300 +++ linux-2.6.11-gentoo-r4/drivers/video/console/fbcon.c 2005-04-12 20:50:15.000000000 +0300 @@ -279,7 +279,7 @@ mode = (!ops->cursor_flash || ops->cursor_state.enable) ? CM_ERASE : CM_DRAW; ops->cursor(vc, info, p, mode, get_color(vc, info, c, 1), - get_color(vc, info, c, 0)); + get_color(vc, info, c, 0), softback_lines); release_console_sem(); } @@ -1133,7 +1133,7 @@ fbcon_set_origin(vc); ops->cursor(vc, info, p, mode, get_color(vc, info, c, 1), - get_color(vc, info, c, 0)); + get_color(vc, info, c, 0), softback_lines); vbl_cursor_cnt = CURSOR_DRAW_DELAY; } diff -uNr linux-2.6.11-gentoo-r4.orig/drivers/video/console/fbcon.h linux-2.6.11-gentoo-r4/drivers/video/console/fbcon.h --- linux-2.6.11-gentoo-r4.orig/drivers/video/console/fbcon.h 2005-04-12 20:52:23.000000000 +0300 +++ linux-2.6.11-gentoo-r4/drivers/video/console/fbcon.h 2005-04-12 20:49:24.000000000 +0300 @@ -59,7 +59,8 @@ void (*clear_margins)(struct vc_data *vc, struct fb_info *info, int bottom_only); void (*cursor)(struct vc_data *vc, struct fb_info *info, - struct display *p, int mode, int fg, int bg); + struct display *p, int mode, int fg, int bg, + int softback_lines); struct timer_list cursor_timer; /* Cursor timer */ struct fb_cursor cursor_state;