linux-stable/arch/arm64/kernel
Catalin Marinas 2475ff9d2c 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>
2013-01-22 17:51:01 +00:00
..
vdso arm64: vdso: remove broken, redundant sequence counting for timezones 2013-01-10 10:43:43 +00:00
.gitignore arm64: Build infrastructure 2012-09-17 13:42:21 +01:00
arm64ksyms.c arm64: Miscellaneous library functions 2012-09-17 13:42:18 +01:00
asm-offsets.c arm64: Assembly macros and definitions 2012-09-17 10:24:44 +01:00
cputable.c arm64: CPU support 2012-09-17 13:41:59 +01:00
debug-monitors.c arm64: Debugging support 2012-09-17 13:42:14 +01:00
early_printk.c arm64: Add simple earlyprintk support 2013-01-22 17:51:01 +00:00
entry-fpsimd.S arm64: move FP-SIMD save/restore code to a macro 2012-12-05 11:26:50 +00:00
entry.S arm64: move vector entry macro to assembler.h 2012-12-05 11:26:47 +00:00
fpsimd.c arm64: Floating point and SIMD 2012-09-17 13:42:13 +01:00
head.S arm64: Add simple earlyprintk support 2013-01-22 17:51:01 +00:00
hw_breakpoint.c arm64: Debugging support 2012-09-17 13:42:14 +01:00
hyp-stub.S arm64: add hypervisor stub 2012-12-05 11:26:49 +00:00
io.c arm64: Device specific operations 2012-09-17 13:42:04 +01:00
irq.c arm64: IRQ handling 2012-09-17 13:42:02 +01:00
kuser32.S arm64: 32-bit (compat) applications support 2012-09-17 13:42:12 +01:00
Makefile arm64: Add simple earlyprintk support 2013-01-22 17:51:01 +00:00
module.c arm64: Loadable modules 2012-09-17 13:42:19 +01:00
perf_event.c ARCH: drivers remove __dev* attributes. 2013-01-03 15:57:13 -08:00
process.c flagday: don't pass regs to copy_thread() 2012-11-28 23:43:42 -05:00
ptrace.c arm64: ptrace: use HW_BREAKPOINT_EMPTY type for disabled breakpoints 2012-10-18 20:15:34 +01:00
setup.c arm64: Populate the platform devices 2013-01-22 17:51:00 +00:00
signal.c arm64: signal: return struct rt_sigframe from get_sigframe 2012-11-23 18:11:37 +00:00
signal32.c arm64: signal: let the compiler inline compat_get_sigframe 2012-11-23 18:11:38 +00:00
smp.c arm64: smp: add missing completion for secondary boot 2012-11-08 16:06:21 +00:00
stacktrace.c arm64: Exception handling 2012-09-17 10:24:46 +01:00
sys.c arm64: sanitize copy_thread(), switch to generic fork/vfork/clone 2012-11-28 22:36:33 -05:00
sys32.S arm64: get rid of fork/vfork/clone wrappers 2012-10-22 18:14:17 -04:00
sys_compat.c compat: generic compat_sys_sched_rr_get_interval() implementation 2012-12-17 17:15:18 -08:00
time.c arm64: Generic timers support 2012-09-17 13:42:20 +01:00
traps.c arm64: Exception handling 2012-09-17 10:24:46 +01:00
vdso.c arm64: vdso: remove broken, redundant sequence counting for timezones 2013-01-10 10:43:43 +00:00
vmlinux.lds.S arm64: Build infrastructure 2012-09-17 13:42:21 +01:00