]> git.karo-electronics.de Git - karo-tx-linux.git/commit
arm64: SMP support
authorCatalin Marinas <catalin.marinas@arm.com>
Mon, 5 Mar 2012 11:49:30 +0000 (11:49 +0000)
committerCatalin Marinas <catalin.marinas@arm.com>
Fri, 7 Sep 2012 15:14:35 +0000 (16:14 +0100)
commit9245eae9f6824f23c02d3c4264bbf490951acf78
treec13f05e44450e212c6d4f0ffa189a11143d54515
parentb76a8e10b4aa3f1ca47f48fa0cd28dc09430cde2
arm64: SMP support

This patch adds SMP initialisation and spinlocks implementation for
AArch64. The spinlock support uses the new load-acquire/store-release
instructions to avoid explicit barriers. The architecture also specifies
that an event is automatically generated when clearing the exclusive
monitor state to wake up processors in WFE, so there is no need for an
explicit DSB/SEV instruction sequence. The SEVL instruction is used to
set the exclusive monitor locally as there is no conditional WFE and a
branch is more expensive.

For the SMP booting protocol, see Documentation/arm64/booting.txt.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Tony Lindgren <tony@atomide.com>
arch/arm64/include/asm/hardirq.h
arch/arm64/include/asm/smp.h [new file with mode: 0644]
arch/arm64/include/asm/spinlock.h [new file with mode: 0644]
arch/arm64/include/asm/spinlock_types.h [new file with mode: 0644]
arch/arm64/kernel/smp.c [new file with mode: 0644]