Re: [PATCH] introduce boot_printk()

Pavel Machek
2008-09-15T09:57:24Z

On Mon 2008-09-15 01:05:16, Yinghai Lu wrote:
> could be enabled via "boot=verbose" to get more debug info
>
> will use it to convert some printk(KERN_DEBUG ...)
>
> Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>

boot= is a bit too generic name, I guess...
Pavel

> ---
> include/linux/kernel.h | 19 +++++++++++++++++++
> kernel/printk.c | 21 +++++++++++++++++++++
> 2 files changed, 40 insertions(+)
>
> Index: linux-2.6/include/linux/kernel.h
> ===================================================================
> --- linux-2.6.orig/include/linux/kernel.h
> +++ linux-2.6/include/linux/kernel.h
> @@ -344,6 +344,25 @@ static inline char *pack_hex_byte(char *
> #endif
>
> /*
> + * Debugging macros
> + */
> +#define BOOT_QUIET 0
> +#define BOOT_VERBOSE 1
> +#define BOOT_SPEW 2
> +
> +extern int boot_verbosity;
> +/*
> + * Define the default level of output to be very little
> + * This can be turned up by using boot=verbose for more
> + * information and boot=spew for _lots_ of information.
> + * boot_verbosity is defined in printk.c
> + */
> +#define boot_printk(v, s, a...) do { \
> + if ((v) <= boot_verbosity) \
> + printk(s, ##a); \
> + } while (0)
> +
> +/*
> * Display an IP address in readable format.
> */
>
> Index: linux-2.6/kernel/printk.c
> ===================================================================
> --- linux-2.6.orig/kernel/printk.c
> +++ linux-2.6/kernel/printk.c
> @@ -604,6 +604,27 @@ asmlinkage int printk(const char *fmt, .
> return r;
> }
>
> +int boot_verbosity;
> +
> +static int __init boot_set_verbosity(char *arg)
> +{
> + if (!arg)
> + return -EINVAL;
> +
> + if (strcmp("spew", arg) == 0)
> + boot_verbosity = BOOT_SPEW;
> + else if (strcmp("verbose", arg) == 0)
> + boot_verbosity = BOOT_VERBOSE;
> + else {
> + printk(KERN_WARNING "boot Verbosity level %s not recognised"
> + " use boot=verbose or boot=spew\n", arg);
> + return -EINVAL;
> + }
> +
> + return 0;
> +}
> +early_param("boot", boot_set_verbosity);
> +
> /* cpu currently holding logbuf_lock */
> static volatile unsigned int printk_cpu = UINT_MAX;
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/

--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html