[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1221465916-30889-1-git-send-email-yhlu.kernel@gmail.com>
Date: Mon, 15 Sep 2008 01:05:16 -0700
From: Yinghai Lu <yhlu.kernel@...il.com>
To: Ingo Molnar <mingo@...e.hu>, Thomas Gleixner <tglx@...utronix.de>,
"H. Peter Anvin" <hpa@...or.com>,
Andrew Morton <akpm@...ux-foundation.org>
Cc: linux-kernel@...r.kernel.org, Yinghai Lu <yhlu.kernel@...il.com>
Subject: [PATCH] introduce boot_printk()
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@...il.com>
---
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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists