Messages in this thread Patch in this message | | | Subject | Re: Some small console fixes (kmsg_redirect), small fix for vesafb | From | Claus-Justus Heine <> | Date | 19 Jul 1998 14:56:56 +0200 |
| |
Claus-Justus Heine <claus@momo.math.rwth-aachen.de> writes:
> Hi, > > drivers/char/console.c: > 2.1.109 has still some small bugs in drivers/char/console.c that are > related to kernel message redirection. If kernel messages are > redirected to a specific VT, then the VT for the kernel messages need > not be the foreground console. Hence all calls that modify the video > memory should be protected by "if (DO_UPDATE)". Or we remove the > kernel message redirection feature ... > > init/main.c: > if CONFIG_VGA_CONSOLE is not defined, then there is no "no_scroll()" > setup function. > > drivers/video/vesafb.c: [SNIP]
vesafb is already fixed in 2.1.109ac2, console.c and main.c aren't.
Cheers
Claus
------------------------------------------------------------------------------
diff -u --recursive --new-file linux-2.1.109-orig/drivers/char/console.c linux-2.1.109/drivers/char/console.c --- linux-2.1.109-orig/drivers/char/console.c Fri Jul 17 15:56:01 1998 +++ linux-2.1.109/drivers/char/console.c Fri Jul 17 16:28:12 1998 @@ -1884,8 +1884,9 @@ return; } - /* undraw cursor first */ - hide_cursor(currcons); + if (DO_UPDATE) + /* undraw cursor first */ + hide_cursor(currcons); start = (ushort *)pos; @@ -1895,7 +1896,8 @@ c = *b++; if (c == 10 || c == 13 || c == 8 || need_wrap) { if (cnt > 0) { - sw->con_putcs(vc_cons[currcons].d, start, cnt, y, x); + if (DO_UPDATE) + sw->con_putcs(vc_cons[currcons].d, start, cnt, y, x); x += cnt; if (need_wrap) x--; @@ -1925,7 +1927,8 @@ myx++; } if (cnt > 0) { - sw->con_putcs(vc_cons[currcons].d, start, cnt, y, x); + if (DO_UPDATE) + sw->con_putcs(vc_cons[currcons].d, start, cnt, y, x); x += cnt; if (x == video_num_columns) { x--; diff -u --recursive --new-file linux-2.1.109-orig/init/main.c linux-2.1.109/init/main.c --- linux-2.1.109-orig/init/main.c Fri Jul 17 15:55:52 1998 +++ linux-2.1.109/init/main.c Fri Jul 17 16:45:16 1998 @@ -88,7 +88,9 @@ #ifdef __i386__ extern void ioapic_pirq_setup(char *str, int *ints); #endif +#ifdef CONFIG_VGA_CONSOLE extern void no_scroll(char *str, int *ints); +#endif extern void kbd_reset_setup(char *str, int *ints); extern void panic_setup(char *str, int *ints); extern void bmouse_setup(char *str, int *ints); @@ -536,7 +538,9 @@ { "panic=", panic_setup }, { "console=", console_setup }, #ifdef CONFIG_VT +#ifdef CONFIG_VGA_CONSOLE { "no-scroll", no_scroll }, +#endif { "kbd-reset", kbd_reset_setup }, #endif #ifdef CONFIG_BUGi386 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html
| |