[kernel] r14875 - in dists/trunk/linux-2.6/debian: . config/armel patches/features/arm patches/series
Martin Michlmayr
tbm at alioth.debian.org
Mon Jan 4 11:31:11 UTC 2010
Author: tbm
Date: Mon Jan 4 11:31:08 2010
New Revision: 14875
Log:
ARM: Add an earlyprintk debug console
Added:
dists/trunk/linux-2.6/debian/patches/features/arm/early-printk.patch
Modified:
dists/trunk/linux-2.6/debian/changelog
dists/trunk/linux-2.6/debian/config/armel/config
dists/trunk/linux-2.6/debian/patches/series/4
Modified: dists/trunk/linux-2.6/debian/changelog
==============================================================================
--- dists/trunk/linux-2.6/debian/changelog Mon Jan 4 10:18:09 2010 (r14874)
+++ dists/trunk/linux-2.6/debian/changelog Mon Jan 4 11:31:08 2010 (r14875)
@@ -27,6 +27,8 @@
[ Martin Michlmayr ]
* Report model information on armel when filing a bug.
+ * ARM: Add an earlyprintk debug console (Catalin Marinas)
+ * [armel] Enable EARLY_PRINTK.
-- Ben Hutchings <ben at decadent.org.uk> Tue, 29 Dec 2009 15:32:44 +0100
Modified: dists/trunk/linux-2.6/debian/config/armel/config
==============================================================================
--- dists/trunk/linux-2.6/debian/config/armel/config Mon Jan 4 10:18:09 2010 (r14874)
+++ dists/trunk/linux-2.6/debian/config/armel/config Mon Jan 4 11:31:08 2010 (r14875)
@@ -81,3 +81,6 @@
CONFIG_ECONET_AUNUDP=y
CONFIG_ECONET_NATIVE=y
+CONFIG_DEBUG_LL=y
+CONFIG_EARLY_PRINTK=y
+
Added: dists/trunk/linux-2.6/debian/patches/features/arm/early-printk.patch
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/trunk/linux-2.6/debian/patches/features/arm/early-printk.patch Mon Jan 4 11:31:08 2010 (r14875)
@@ -0,0 +1,112 @@
+From: Catalin Marinas <catalin.marinas at arm.com>
+Date: Wed, 9 Dec 2009 10:02:18 +0000 (+0000)
+Subject: ARM: Add an earlyprintk debug console
+X-Git-Tag: v2.6.33-rc1~286^2~4
+X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=93fd03a8c6728b58879f8af20ffd55d9c32a778b
+
+ARM: Add an earlyprintk debug console
+
+This patch allows an earlyprintk console if CONFIG_DEBUG_LL is enabled,
+using the printch asm function.
+
+The patch is based on the original work by Sascha Hauer.
+
+Signed-off-by: Catalin Marinas <catalin.marinas at arm.com>
+Cc: Sascha Hauer <s.hauer at pengutronix.de>
+Acked-by: Uwe Kleine-König <u.kleine-koenig at pengutronix.de>
+Acked-by: Pavel Machek <pavel at ucw.cz>
+---
+
+diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
+index 1a6f70e..feb7b11 100644
+--- a/arch/arm/Kconfig.debug
++++ b/arch/arm/Kconfig.debug
+@@ -71,6 +71,14 @@ config DEBUG_LL
+ in the kernel. This is helpful if you are debugging code that
+ executes before the console is initialized.
+
++config EARLY_PRINTK
++ bool "Early printk"
++ depends on DEBUG_LL
++ help
++ Say Y here if you want to have an early console using the
++ kernel low-level debugging functions. Add earlyprintk to your
++ kernel parameters to enable this console.
++
+ config DEBUG_ICEDCC
+ bool "Kernel low-level debugging via EmbeddedICE DCC channel"
+ depends on DEBUG_LL
+diff --git a/arch/arm/kernel/Makefile b/arch/arm/kernel/Makefile
+index 79087dd..d0e40b7 100644
+--- a/arch/arm/kernel/Makefile
++++ b/arch/arm/kernel/Makefile
+@@ -52,5 +52,6 @@ endif
+
+ head-y := head$(MMUEXT).o
+ obj-$(CONFIG_DEBUG_LL) += debug.o
++obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
+
+ extra-y := $(head-y) init_task.o vmlinux.lds
+diff --git a/arch/arm/kernel/early_printk.c b/arch/arm/kernel/early_printk.c
+new file mode 100644
+index 0000000..85aa2b2
+--- /dev/null
++++ b/arch/arm/kernel/early_printk.c
+@@ -0,0 +1,57 @@
++/*
++ * linux/arch/arm/kernel/early_printk.c
++ *
++ * Copyright (C) 2009 Sascha Hauer <s.hauer at pengutronix.de>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++ */
++
++#include <linux/kernel.h>
++#include <linux/console.h>
++#include <linux/init.h>
++
++extern void printch(int);
++
++static void early_write(const char *s, unsigned n)
++{
++ while (n-- > 0) {
++ if (*s == '\n')
++ printch('\r');
++ printch(*s);
++ s++;
++ }
++}
++
++static void early_console_write(struct console *con, const char *s, unsigned n)
++{
++ early_write(s, n);
++}
++
++static struct console early_console = {
++ .name = "earlycon",
++ .write = early_console_write,
++ .flags = CON_PRINTBUFFER | CON_BOOT,
++ .index = -1,
++};
++
++asmlinkage void early_printk(const char *fmt, ...)
++{
++ char buf[512];
++ int n;
++ va_list ap;
++
++ va_start(ap, fmt);
++ n = vscnprintf(buf, sizeof(buf), fmt, ap);
++ early_write(buf, n);
++ va_end(ap);
++}
++
++static int __init setup_early_printk(char *buf)
++{
++ register_console(&early_console);
++ return 0;
++}
++
++early_param("earlyprintk", setup_early_printk);
Modified: dists/trunk/linux-2.6/debian/patches/series/4
==============================================================================
--- dists/trunk/linux-2.6/debian/patches/series/4 Mon Jan 4 10:18:09 2010 (r14874)
+++ dists/trunk/linux-2.6/debian/patches/series/4 Mon Jan 4 11:31:08 2010 (r14875)
@@ -1 +1,2 @@
+ bugfix/all/modules-Skip-empty-section-notes.patch
++ features/arm/early-printk.patch
More information about the Kernel-svn-changes
mailing list