Skip to content

Generic serial earlycon

Rob Herring linux-arm-kernel linux-serial lkml 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest7 patches 22 repliesIn review
  2. v18 patches 25 repliesSuperseded

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/7x86: move FIX_EARLYCON_MEM kconfig into x86arch/x86/Kconfig drivers/tty/serial/8250/Kconfig+3 -50 replies
2/7tty/serial: add generic serial earlycondrivers/tty/serial/Kconfig drivers/tty/serial/Makefile drivers/tty/serial/earlycon.c +1 more+177 -00 replies
3/7tty/serial: convert 8250 to generic earlycondrivers/tty/serial/8250/8250_early.c drivers/tty/serial/8250/Kconfig+16 -12320 replies
4/7tty/serial: pl011: add generic earlycon supportDocumentation/kernel-parameters.txt drivers/tty/serial/Kconfig drivers/tty/serial/amba-pl011.c+37 -10 replies
5/7tty/serial: add arm/arm64 semihosting earlyconDocumentation/kernel-parameters.txt drivers/tty/serial/Kconfig drivers/tty/serial/Makefile +1 more+74 -00 replies
6/7arm64: enable FIX_EARLYCON_MEM kconfigarch/arm64/Kconfig+3 -00 replies
7/7arm64: remove arch specific earlyprintkarch/arm64/Kconfig.debug arch/arm64/kernel/Makefile arch/arm64/kernel/early_printk.c+0 -1680 replies

Reviews trailers per patch

None of the 7 patches has a Reviewed-by or Acked-by of their own; the series has one for all of them.

PatchCatalin MarinasTony Luck
SeriesA-b
1/7
2/7
3/7Reported-and-tested-by
4/7
5/7
6/7
7/7

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v2 thread

Cover letter [PATCH v2 0/7] Generic serial earlycon

From: Rob Herring <[email protected]>

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 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].

I'm also working on a follow on series which adds DT based earlycon setup, but that is dependent on some FDT improvements to support FDT based address translation.

Rob

[1] git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git earlycon

Rob Herring (7):
x86: move FIX_EARLYCON_MEM kconfig into x86
tty/serial: add generic serial earlycon
tty/serial: convert 8250 to generic earlycon
tty/serial: pl011: add generic earlycon support
tty/serial: add arm/arm64 semihosting earlycon
arm64: enable FIX_EARLYCON_MEM kconfig
arm64: remove arch specific earlyprintk

 Documentation/kernel-parameters.txt        |   9 ++
 arch/arm64/Kconfig                         |   3 +
 arch/arm64/Kconfig.debug                   |   9 --
 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            |   6 +-
 drivers/tty/serial/Kconfig                 |  18 ++++
 drivers/tty/serial/Makefile                |   3 +
 drivers/tty/serial/amba-pl011.c            |  30 +++++-
 drivers/tty/serial/earlycon-arm-semihost.c |  61 +++++++++++
 drivers/tty/serial/earlycon.c              | 152 +++++++++++++++++++++++++++
 include/linux/serial_core.h                |  16 +++
 14 files changed, 310 insertions(+), 297 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
Signature · 1 line
1.9.1