arm64: move non-entry code out of .entry.text
authorMark Rutland <mark.rutland@arm.com>
Wed, 26 Jul 2017 15:05:20 +0000 (16:05 +0100)
committerMark Rutland <mark.rutland@arm.com>
Tue, 8 Aug 2017 15:28:25 +0000 (16:28 +0100)
commited84b4e9582bdfeffc617589fe17dddfc5fe6672
tree8f07696d46b70f43c284b300cfcb121a409a31ac
parent2d0e751a4789fc5ab4a5c9de5d6407b41fdfbbf0
arm64: move non-entry code out of .entry.text

Currently, cpu_switch_to and ret_from_fork both live in .entry.text,
though neither form the critical path for an exception entry.

In subsequent patches, we will require that code in .entry.text is part
of the critical path for exception entry, for which we can assume
certain properties (e.g. the presence of exception regs on the stack).

Neither cpu_switch_to nor ret_from_fork will meet these requirements, so
we must move them out of .entry.text. To ensure that neither are kprobed
after being moved out of .entry.text, we must explicitly blacklist them,
requiring a new NOKPROBE() asm helper.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: James Morse <james.morse@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
arch/arm64/include/asm/assembler.h
arch/arm64/kernel/entry.S