[PATCH 0/8] Generic serial earlycon
Rob Herring
robherring2 at gmail.com
Fri Mar 21 17:08:40 EDT 2014
From: Rob Herring <robh at kernel.org>
This started out as an attempt to add arm64's earlyprintk support to ARM
in order to get an earlier, runtime setup console on multi-platform
kernels. The first issue was needing the fixmap support which
conveniently Mark Salter was working on and is mostly in place now. Like
many things on ARM and arm64 now, it then became where do I put the now
common, shared code. After digging more into various early console/printk
support, it turns out the 8250_early.c setup code was the best starting
point.
This is based on Mark Salter's fixmap support currently in linux-next.
This is tested on arm64 and ARM with pl011 and 8250. The ARM support
also requires fixmap and fixed mapping support which are not yet in place.
I have some patches in my tree to support fixmap, but they need some more
work. Fortunately, once fixmap is in place, it is just a Kconfig option
to enable earlycon support on ARM. A git tree is available here[1].
Based on this series, I would like to add support for doing earlycon
setup using DT.
Rob
[1] git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git earlycon
Rob Herring (8):
x86: move FIX_EARLYCON_MEM kconfig into x86
arm64: add FIXMAP_PAGE_NOCACHE definition
arm64: enable FIX_EARLYCON_MEM kconfig
tty/serial: add generic serial earlycon
tty/serial: convert 8250 to generic earlycon
tty/serial: pl011: add generic earlycon support
tty/serial: add arm64 semihosting earlycon
arm64: remove arch specific earlyprintk
Documentation/kernel-parameters.txt | 6 +-
arch/arm64/Kconfig | 3 +
arch/arm64/Kconfig.debug | 9 --
arch/arm64/include/asm/fixmap.h | 3 +-
arch/arm64/kernel/Makefile | 1 -
arch/arm64/kernel/early_printk.c | 158 -----------------------------
arch/x86/Kconfig | 3 +
drivers/tty/serial/8250/8250_early.c | 138 +++----------------------
drivers/tty/serial/8250/Kconfig | 5 -
drivers/tty/serial/Kconfig | 24 ++++-
drivers/tty/serial/Makefile | 3 +
drivers/tty/serial/amba-pl011.c | 30 +++++-
drivers/tty/serial/earlycon-arm-semihost.c | 44 ++++++++
drivers/tty/serial/earlycon.c | 148 +++++++++++++++++++++++++++
include/linux/serial_core.h | 16 +++
15 files changed, 287 insertions(+), 304 deletions(-)
delete mode 100644 arch/arm64/kernel/early_printk.c
create mode 100644 drivers/tty/serial/earlycon-arm-semihost.c
create mode 100644 drivers/tty/serial/earlycon.c
--
1.8.3.2
More information about the linux-arm-kernel
mailing list