Messages in this thread Patch in this message | | | Date | Tue, 29 Sep 1998 14:23:40 +0300 (EEST) | From | Serguei Koubouchine <> | Subject | Re: 2.1.123 release and fbcon.c |
| |
On Tue, 29 Sep 1998, Serguei Koubouchine wrote:
Sorry for a mistake, the posted patch was wrong. The right one is attached.
> Hi everybody! > > This is the fbcon patch against 2.1.123 release. > > Btw, if somebody does want it, the Alan's 2.1.122-ac2 ported to 2.1.123 can > be found at: > > ftp://ftp.ksi-linux.com/pub/patches/kernel/patch-2.1.122ac2-over-2.1.123.bz2
======================================================================= Serguei Koubouchine aka the Tamer < > The impossible we do immediately. e-mail: ksi@gu.net SK320-RIPE < > Miracles require 24-hour notice. ======================================================================= diff -urN linux-2.1.123.orig/arch/alpha/mm/init.c linux-2.1.123/arch/alpha/mm/init.c --- linux-2.1.123.orig/arch/alpha/mm/init.c Wed Sep 9 18:56:58 1998 +++ linux-2.1.123/arch/alpha/mm/init.c Tue Sep 29 13:59:03 1998 @@ -323,6 +323,8 @@ return; } +int initmem_freed = 0; + void free_initmem (void) { @@ -336,6 +338,7 @@ kill_page(addr); free_page(addr); } + initmem_freed = 1; printk ("Freeing unused kernel memory: %ldk freed\n", (&__init_end - &__init_begin) >> 10); } diff -urN linux-2.1.123.orig/arch/arm/mm/init.c linux-2.1.123/arch/arm/mm/init.c --- linux-2.1.123.orig/arch/arm/mm/init.c Wed Sep 9 18:56:58 1998 +++ linux-2.1.123/arch/arm/mm/init.c Tue Sep 29 13:59:03 1998 @@ -194,6 +194,8 @@ initpages << (PAGE_SHIFT-10)); } +int initmem_freed = 0; + void free_initmem (void) { unsigned long addr; @@ -204,6 +206,7 @@ atomic_set(&mem_map[MAP_NR(addr)].count, 1); free_page(addr); } + initmem_freed = 1; printk ("Freeing unused kernel memory: %dk freed\n", (&__init_end - &__init_begin) >> 10); } diff -urN linux-2.1.123.orig/arch/i386/mm/init.c linux-2.1.123/arch/i386/mm/init.c --- linux-2.1.123.orig/arch/i386/mm/init.c Wed Sep 9 18:56:58 1998 +++ linux-2.1.123/arch/i386/mm/init.c Tue Sep 29 13:59:03 1998 @@ -486,6 +486,8 @@ test_wp_bit(); } +int initmem_freed = 0; + void free_initmem(void) { unsigned long addr; @@ -496,6 +498,7 @@ atomic_set(&mem_map[MAP_NR(addr)].count, 1); free_page(addr); } + initmem_freed = 1; printk ("Freeing unused kernel memory: %dk freed\n", (&__init_end - &__init_begin) >> 10); } diff -urN linux-2.1.123.orig/arch/m68k/mm/init.c linux-2.1.123/arch/m68k/mm/init.c --- linux-2.1.123.orig/arch/m68k/mm/init.c Wed Sep 2 19:39:18 1998 +++ linux-2.1.123/arch/m68k/mm/init.c Tue Sep 29 13:59:03 1998 @@ -488,6 +488,8 @@ initpages << (PAGE_SHIFT-10)); } +int initmem_freed = 0; + void free_initmem(void) { unsigned long addr; @@ -498,6 +500,7 @@ atomic_set(&mem_map[MAP_NR(addr)].count, 1); free_page(addr); } + initmem_freed = 1; } void si_meminfo(struct sysinfo *val) diff -urN linux-2.1.123.orig/arch/mips/mm/init.c linux-2.1.123/arch/mips/mm/init.c --- linux-2.1.123.orig/arch/mips/mm/init.c Wed Sep 9 18:56:58 1998 +++ linux-2.1.123/arch/mips/mm/init.c Tue Sep 29 13:59:03 1998 @@ -243,6 +243,8 @@ extern char __init_begin, __init_end; +int initmem_freed = 0; + void free_initmem(void) { unsigned long addr; @@ -253,6 +255,7 @@ atomic_set(&mem_map[MAP_NR(addr)].count, 1); free_page(addr); } + initmem_freed = 1; printk("Freeing unused kernel memory: %dk freed\n", (&__init_end - &__init_begin) >> 10); } diff -urN linux-2.1.123.orig/arch/ppc/mm/init.c linux-2.1.123/arch/ppc/mm/init.c --- linux-2.1.123.orig/arch/ppc/mm/init.c Wed Sep 9 18:56:58 1998 +++ linux-2.1.123/arch/ppc/mm/init.c Tue Sep 29 13:59:03 1998 @@ -879,6 +879,8 @@ return p; } +int initmem_freed = 0; + __initfunc(void free_initmem(void)) { unsigned long a; @@ -912,7 +914,7 @@ FREESEC(__prep_begin,__prep_end,num_prep_pages); break; } - + initmem_freed = 1; printk ("Freeing unused kernel memory: %ldk init", (num_freed_pages * PAGE_SIZE) >> 10); if ( num_prep_pages ) diff -urN linux-2.1.123.orig/arch/sparc/mm/init.c linux-2.1.123/arch/sparc/mm/init.c --- linux-2.1.123.orig/arch/sparc/mm/init.c Wed Sep 9 18:56:58 1998 +++ linux-2.1.123/arch/sparc/mm/init.c Tue Sep 29 13:59:03 1998 @@ -320,6 +320,8 @@ freepages.high = freepages.min + freepages.min; } +int initmem_freed = 0; + void free_initmem (void) { unsigned long addr; @@ -330,6 +332,7 @@ atomic_set(&mem_map[MAP_NR(addr)].count, 1); free_page(addr); } + initmem_freed = 1; } void si_meminfo(struct sysinfo *val) diff -urN linux-2.1.123.orig/arch/sparc64/mm/init.c linux-2.1.123/arch/sparc64/mm/init.c --- linux-2.1.123.orig/arch/sparc64/mm/init.c Wed Aug 5 02:03:35 1998 +++ linux-2.1.123/arch/sparc64/mm/init.c Tue Sep 29 13:59:03 1998 @@ -1189,6 +1189,8 @@ freepages.high = freepages.low + i; } +int initmem_freed = 0; + void free_initmem (void) { unsigned long addr; @@ -1202,6 +1204,7 @@ atomic_set(&mem_map[MAP_NR(page)].count, 1); free_page(page); } + initmem_freed = 1; } void si_meminfo(struct sysinfo *val) diff -urN linux-2.1.123.orig/drivers/video/fbcon.c linux-2.1.123/drivers/video/fbcon.c --- linux-2.1.123.orig/drivers/video/fbcon.c Wed Sep 9 23:59:30 1998 +++ linux-2.1.123/drivers/video/fbcon.c Tue Sep 29 13:59:03 1998 @@ -398,8 +398,6 @@ int nr_rows, nr_cols; int old_rows, old_cols; unsigned short *save = NULL, *r, *q; - /* Only if not module */ - int initmem_freed = 1; struct fbcon_font_desc *font; if (con != fg_console || initmem_freed || p->type == FB_TYPE_TEXT) logo = 0; @@ -502,7 +500,7 @@ if (!init) { if (con == fg_console) - set_palette(); /* Unlike vgacon, we have to set palette before resize on directcolor, + set_palette(con); /* Unlike vgacon, we have to set palette before resize on directcolor, so that it is drawn with correct colors */ vc_resize_con(nr_rows, nr_cols, con); if (save) { diff -urN linux-2.1.123.orig/include/linux/console.h linux-2.1.123/include/linux/console.h --- linux-2.1.123.orig/include/linux/console.h Thu Sep 17 19:35:03 1998 +++ linux-2.1.123/include/linux/console.h Tue Sep 29 13:59:04 1998 @@ -58,6 +58,8 @@ /* scroll */ #define SM_UP (1) #define SM_DOWN (2) +#define SM_LEFT (3) +#define SM_RIGHT (4) /* cursor */ #define CM_DRAW (1) diff -urN linux-2.1.123.orig/include/linux/init.h linux-2.1.123/include/linux/init.h --- linux-2.1.123.orig/include/linux/init.h Tue Jul 28 21:18:47 1998 +++ linux-2.1.123/include/linux/init.h Tue Sep 29 14:05:34 1998 @@ -42,6 +42,12 @@ */ /* + * initmem_freed is 0 before initialization memory has been freed and 1 + * after initialization memory has been freed. + */ +extern int initmem_freed; + +/* * Disable the __initfunc macros if a file that is a part of a * module attempts to use them. We do not want to interfere * with module linking. | |