]> git.baikalelectronics.ru Git - kernel.git/commit
arm64: Add simple earlyprintk support
authorCatalin Marinas <catalin.marinas@arm.com>
Tue, 23 Oct 2012 13:55:08 +0000 (14:55 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Tue, 22 Jan 2013 17:51:01 +0000 (17:51 +0000)
commitb490595c09e93e0751a5d584a32fd9e088f455a1
treec705c9a55b2d9ea2d270b7002f568b6be0465ecd
parent0ec727391ded3495a3540f437953112a3854752e
arm64: Add simple earlyprintk support

This patch adds support for "earlyprintk=" parameter on the kernel
command line. The format is:

  earlyprintk=<name>[,<addr>][,<options>]

where <name> is the name of the (UART) device, e.g. "pl011", <addr> is
the I/O address. The <options> aren't currently used.

The mapping of the earlyprintk device is done very early during kernel
boot and there are restrictions on which functions it can call. A
special early_io_map() function is added which creates the mapping from
the pre-defined EARLY_IOBASE to the device I/O address passed via the
kernel parameter. The pgd entry corresponding to EARLY_IOBASE is
pre-populated in head.S during kernel boot.

Only PL011 is currently supported and it is assumed that the interface
is already initialised by the boot loader before the kernel is started.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Documentation/arm64/memory.txt
arch/arm64/Kconfig.debug
arch/arm64/include/asm/io.h
arch/arm64/include/asm/memory.h
arch/arm64/include/asm/mmu.h
arch/arm64/kernel/Makefile
arch/arm64/kernel/early_printk.c [new file with mode: 0644]
arch/arm64/kernel/head.S
arch/arm64/mm/mmu.c