[lkml]   [2014]   [Mar]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subject[PATCH 0/8] Generic serial earlycon
From: Rob Herring <>

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

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.


[1] 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


 \ /
  Last update: 2014-03-21 22:41    [W:0.195 / U:0.484 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site