-
- Downloads
ARM: percpu: add SMP_ON_UP support
Permit the use of the TPIDRPRW system register for carrying the per-CPU offset in generic SMP configurations that also target non-SMP capable ARMv6 cores. This uses the SMP_ON_UP code patching framework to turn all TPIDRPRW accesses into reads/writes of entry #0 in the __per_cpu_offset array. While at it, switch over some existing direct TPIDRPRW accesses in asm code to invocations of a new helper that is patched in the same way when necessary. Note that CPU_V6+SMP without SMP_ON_UP results in a kernel that does not boot on v6 CPUs without SMP extensions, so add this dependency to Kconfig as well. Acked-by:Linus Walleij <linus.walleij@linaro.org> Acked-by:
Nicolas Pitre <nico@fluxnic.net> Signed-off-by:
Ard Biesheuvel <ardb@kernel.org> Tested-by:
Marc Zyngier <maz@kernel.org> Tested-by: Vladimir Murzin <vladimir.murzin@arm.com> # ARMv7M
Showing
- arch/arm/include/asm/assembler.h 56 additions, 3 deletionsarch/arm/include/asm/assembler.h
- arch/arm/include/asm/insn.h 24 additions, 0 deletionsarch/arm/include/asm/insn.h
- arch/arm/include/asm/percpu.h 22 additions, 3 deletionsarch/arm/include/asm/percpu.h
- arch/arm/kernel/entry-armv.S 3 additions, 13 deletionsarch/arm/kernel/entry-armv.S
- arch/arm/kernel/sleep.S 1 addition, 3 deletionsarch/arm/kernel/sleep.S
- arch/arm/mm/Kconfig 1 addition, 0 deletionsarch/arm/mm/Kconfig
Loading
Please register or sign in to comment