Config option to disable info from decompression of the kernel
PATCH 1/1 Config option to disable info from decompression of the kernel
I submitted a similar patch some time ago, but rightfully it didn't get accepted, as it just disabled all output from the decompress stage (without a boot time option to enable it).
This patch just disables the information output from this stage, but not the error output.
arch/x86/Kconfig.debug +8 -0
@@ -20,6 +20,14 @@ config NONPROMISC_DEVMEM If in doubt, say Y. +config NO_BZ_CHATTER + bool "Disable decompress info messages" + default n + help + Disables just the informational output from the decompression stage + (e.g. bzImage) of the boot. You will still see errors. Do this if you + want to cleanup the bootup process. + config EARLY_PRINTK bool "Early printk" if EMBEDDED default y
arch/x86/boot/compressed/misc.c +11 -5
@@ -206,7 +206,8 @@ static void free(void *where);static void *memset (void *s,int c,unsigned n);static void *memcpy (void *dest,const void *src,unsigned n); -static void putstr (const char *); +static void __putstr (int ,const char *); +#define putstr (__x) __putstr(0, __x)#ifdef CONFIG_X86_64 #define memptr long
@@ -270,11 +271,16 @@ static void scroll(void) vidmem[i] =' ' ; } -static void putstr (const char *s) +static void __putstr (int error,const char *s) {int x, y, pos;char c; +#ifdef CONFIG_NO_BZ_CHATTER +if (!error) +return ; +#endif +#ifdef CONFIG_X86_32 if (RM_SCREEN_INFO .orig_video_mode ==0 && lines ==0 && cols ==0 )return ;
@@ -366,9 +372,9 @@ static void flush_window(void)static void error (char *x) { -putstr ("\n\n" ); -putstr (x); -putstr ("\n\n -- System halted" ); +__putstr (1 ,"\n\n" ); +__putstr (1 , x); +__putstr (1 ,"\n\n -- System halted" );while (1 ) asm("hlt" );
Ingo Molnar
AppliedQuoted 7 lines · Ben Collins
I submitted a similar patch some time ago, but rightfully it didn't get accepted, as it just disabled all output from the decompress stage (without a boot time option to enable it).
This patch just disables the information output from this stage, but not the error output.
Review
Quoted 7 lines
(quoted diff) +7
-0+config NO_BZ_CHATTER + bool "Disable decompress info messages" + default n + help + Disables just the informational output from the decompression stage + (e.g. bzImage) of the boot. You will still see errors. Do this if you + want to cleanup the bootup process.
applied to tip/x86/setup - thanks Ben.
Note that i've flipped around the name (i.e. got rid of the 'NO_'), and i renamed it to the bit more generic X86_VERBOSE_BOOTUP config variable. We might want to make other output dependent on that flag, not just the decompressor messages. Find the commit below. (please double-check it)
Ingo
----------------------->
commit 6bcb13b35a2ea39be6c7cc0292b8ad1191b1a748
Author: Ben Collins <[email protected]> Date: Wed Jun 18 14:04:35 2008 -0400
x86: config option to disable info from decompression of the kernel
This patch allows the disabling of decompression messages during x86 bootup.
arch/x86/Kconfig.debug +8 -0
@@ -16,6 +16,14 @@ config NONPROMISC_DEVMEM obviously disasterous, but specific access can be used by people debugging the kernel. +config X86_VERBOSE_BOOTUP + bool "Enable verbose x86 bootup info messages" + default y + help + Enables the informational output from the decompression stage + (e.g. bzImage) of the boot. If you disable this you will still + see errors. Disable this if you want silent bootup. + config EARLY_PRINTK bool "Early printk" if EMBEDDED default y
arch/x86/boot/compressed/misc.c +11 -5
@@ -202,7 +202,8 @@ static void free(void *where);static void *memset (void *s,int c,unsigned n);static void *memcpy (void *dest,const void *src,unsigned n); -static void putstr (const char *); +static void __putstr (int ,const char *); +#define putstr (__x) __putstr(0, __x)#ifdef CONFIG_X86_64 #define memptr long
@@ -266,11 +267,16 @@ static void scroll(void) vidmem[i] =' ' ; } -static void putstr (const char *s) +static void __putstr (int error,const char *s) {int x, y, pos;char c; +#ifndef CONFIG_X86_VERBOSE_BOOTUP +if (!error) +return ; +#endif +#ifdef CONFIG_X86_32 if (real_mode->screen_info.orig_video_mode ==0 && lines ==0 && cols ==0 )
@@ -363,9 +369,9 @@ static void flush_window(void)static void error (char *x) { -putstr ("\n\n" ); -putstr (x); -putstr ("\n\n -- System halted" ); +__putstr (1 ,"\n\n" ); +__putstr (1 , x); +__putstr (1 ,"\n\n -- System halted" );while (1 ) asm("hlt" );
Quoted 19 lines · Ingo Molnar
Quoted 7 lines · Ben Collins
I submitted a similar patch some time ago, but rightfully it didn't get accepted, as it just disabled all output from the decompress stage (without a boot time option to enable it).
This patch just disables the information output from this stage, but not the error output.
Review
Quoted 7 lines
(quoted diff) +7
-0+config NO_BZ_CHATTER + bool "Disable decompress info messages" + default n + help + Disables just the informational output from the decompression stage + (e.g. bzImage) of the boot. You will still see errors. Do this if you + want to cleanup the bootup process.applied to tip/x86/setup - thanks Ben.
Quoted 4 lines
Note that i've flipped around the name (i.e. got rid of the '
NO_'), and i renamed it to the bit more genericX86_VERBOSE_BOOTUPconfig variable. We might want to make other output dependent on that flag, not just the decompressor messages. Find the commit below. (please double-check it)
Looks good, thanks.
Quoted 79 lines
Ingo
----------------------->
commit6bcb13b35a2ea39be6c7cc0292b8ad1191b1a748Author: Ben Collins <[email protected]> Date: Wed Jun 18 14:04:35 2008 -0400x86: config option to disable info from decompression of the kernel
This patch allows the disabling of decompression messages during x86 bootup.
Signed-off-by Ben Collins <[email protected]>Signed-off-by Ingo Molnar <[email protected]>arch/x86/Kconfig.debug +8
-0@@ -16,6 +16,14 @@ config NONPROMISC_DEVMEM obviously disasterous, but specific access can be used by people debugging the kernel. +config X86_VERBOSE_BOOTUP + bool "Enable verbose x86 bootup info messages" + default y + help + Enables the informational output from the decompression stage + (e.g. bzImage) of the boot. If you disable this you will still + see errors. Disable this if you want silent bootup. + config EARLY_PRINTK bool "Early printk" if EMBEDDED default yarch/x86/boot/compressed/misc.c +11
-5@@ -202,7 +202,8 @@ static void free(void *where);static void *memset (void *s,int c,unsigned n);static void *memcpy (void *dest,const void *src,unsigned n); -static void putstr (const char *); +static void __putstr (int ,const char *); +#define putstr (__x) __putstr(0, __x)#ifdef CONFIG_X86_64 #define memptr long@@ -266,11 +267,16 @@ static void scroll(void) vidmem[i] =' ' ; } -static void putstr (const char *s) +static void __putstr (int error,const char *s) {int x, y, pos;char c; +#ifndef CONFIG_X86_VERBOSE_BOOTUP +if (!error) +return ; +#endif +#ifdef CONFIG_X86_32 if (real_mode->screen_info.orig_video_mode ==0 && lines ==0 && cols ==0 )@@ -363,9 +369,9 @@ static void flush_window(void)static void error (char *x) { -putstr ("\n\n" ); -putstr (x); -putstr ("\n\n -- System halted" ); +__putstr (1 ,"\n\n" ); +__putstr (1 , x); +__putstr (1 ,"\n\n -- System halted" );while (1 ) asm("hlt" );