ARCv2: Implement atomic64 based on LLOCKD/SCONDD instructions
authorVineet Gupta <vgupta@synopsys.com>
Mon, 27 Jul 2015 11:53:28 +0000 (17:23 +0530)
committerVineet Gupta <vgupta@synopsys.com>
Fri, 30 Sep 2016 21:48:17 +0000 (14:48 -0700)
commitce6365270ecd1216b48fb1440978e454ae0144de
tree2e46017d408be15aa5834675cd11c06122fc353c
parent26c01c49d559268527d78f45a6818fae0c204a45
ARCv2: Implement atomic64 based on LLOCKD/SCONDD instructions

ARCv2 ISA provides 64-bit exclusive load/stores so use them to implement
the 64-bit atomics and elide the spinlock based generic 64-bit atomics

boot tested with atomic64 self-test (and GOD bless the person who wrote
them, I realized my inline assmebly is sloppy as hell)

Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Will Deacon <will.deacon@arm.com>
Cc: linux-snps-arc@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
arch/arc/Kconfig
arch/arc/include/asm/atomic.h