linux/arch
Mark Rutland d12157efc8 locking/atomic: make atomic*_{cmp,}xchg optional
Most architectures define the atomic/atomic64 xchg and cmpxchg
operations in terms of arch_xchg and arch_cmpxchg respectfully.

Add fallbacks for these cases and remove the trivial cases from arch
code. On some architectures the existing definitions are kept as these
are used to build other arch_atomic*() operations.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20230605070124.3741859-5-mark.rutland@arm.com
2023-06-05 09:57:14 +02:00
..
alpha locking/atomic: make atomic*_{cmp,}xchg optional 2023-06-05 09:57:14 +02:00
arc locking/atomic: make atomic*_{cmp,}xchg optional 2023-06-05 09:57:14 +02:00
arm locking/atomic: make atomic*_{cmp,}xchg optional 2023-06-05 09:57:14 +02:00
arm64 locking/atomic: make atomic*_{cmp,}xchg optional 2023-06-05 09:57:14 +02:00
csky locking/atomic: make atomic*_{cmp,}xchg optional 2023-06-05 09:57:14 +02:00
hexagon locking/atomic: make atomic*_{cmp,}xchg optional 2023-06-05 09:57:14 +02:00
ia64 locking/atomic: make atomic*_{cmp,}xchg optional 2023-06-05 09:57:14 +02:00
loongarch locking/atomic: make atomic*_{cmp,}xchg optional 2023-06-05 09:57:14 +02:00
m68k locking/atomic: make atomic*_{cmp,}xchg optional 2023-06-05 09:57:14 +02:00
microblaze Kconfig: introduce HAS_IOPORT option and select it as necessary 2023-04-05 22:15:19 +02:00
mips locking/atomic: make atomic*_{cmp,}xchg optional 2023-06-05 09:57:14 +02:00
nios2 - Nick Piggin's "shoot lazy tlbs" series, to improve the peformance of 2023-04-27 19:42:02 -07:00
openrisc locking/atomic: make atomic*_{cmp,}xchg optional 2023-06-05 09:57:14 +02:00
parisc locking/atomic: make atomic*_{cmp,}xchg optional 2023-06-05 09:57:14 +02:00
powerpc locking/atomic: make atomic*_{cmp,}xchg optional 2023-06-05 09:57:14 +02:00
riscv locking/atomic: make atomic*_{cmp,}xchg optional 2023-06-05 09:57:14 +02:00
s390 s390/cpum_sf: Convert to cmpxchg128() 2023-06-05 09:36:40 +02:00
sh locking/atomic: make atomic*_{cmp,}xchg optional 2023-06-05 09:57:14 +02:00
sparc locking/atomic: make atomic*_{cmp,}xchg optional 2023-06-05 09:57:14 +02:00
um This pull request contains the following changes for UML: 2023-05-03 19:02:03 -07:00
x86 arch: Remove cmpxchg_double 2023-06-05 09:36:39 +02:00
xtensa locking/atomic: make atomic*_{cmp,}xchg optional 2023-06-05 09:57:14 +02:00
.gitignore
Kconfig lazy tlb: shoot lazies, non-refcounting lazy tlb mm reference handling scheme 2023-03-28 16:20:08 -07:00