]> 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>
Wed, 5 Sep 2012 15:35:24 +0000 (16:35 +0100)
commit6a618f196828f08fec37ff0571d49bfce8fa3a3f
tree1a765eef7b2d2e4e23be9b8017d24f37c4f8c744
parent360203fcdf0e1c80a18ddc0013dd080876bb8557
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]