linux/arch/arm64
Will Deacon 3a0310eb36 arm64: atomics: fix grossly inconsistent asm constraints for exclusives
Our uses of inline asm constraints for atomic operations are fairly
wild and varied. We basically need to guarantee the following:

  1. Any instructions with barrier implications
     (load-acquire/store-release) have a "memory" clobber

  2. When performing exclusive accesses, the addresing mode is generated
     using the "Q" constraint

  3. Atomic blocks which use the condition flags, have a "cc" clobber

This patch addresses these concerns which, as well as fixing the
semantics of the code, stops GCC complaining about impossible asm
constraints.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2013-02-11 18:16:41 +00:00
..
boot arm64: dts: prevent *.dtb from always being rebuilt 2013-01-14 08:08:28 -06:00
configs arm64: Build infrastructure 2012-09-17 13:42:21 +01:00
include arm64: atomics: fix grossly inconsistent asm constraints for exclusives 2013-02-11 18:16:41 +00:00
kernel arm64: compat: use compat_uptr_t type for compat_ucontext.uc_link 2013-02-11 12:39:16 +00:00
lib arm64: Miscellaneous library functions 2012-09-17 13:42:18 +01:00
mm arm64: Add simple earlyprintk support 2013-01-22 17:51:01 +00:00
Kconfig arm64: Select ARCH_WANT_FRAME_POINTERS 2013-01-29 18:25:41 +00:00
Kconfig.debug arm64: Add simple earlyprintk support 2013-01-22 17:51:01 +00:00
Makefile arm64: Fix the dtbs target building 2012-12-10 20:24:57 -06:00