qemu/linux-user
Richard Henderson 7f4f0d9ea8 linux-user/arm: Implement __kernel_cmpxchg with host atomics
The existing implementation using start/end_exclusive
does not provide atomicity across processes.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220323005839.94327-3-richard.henderson@linaro.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
2022-03-23 16:53:17 +01:00
..
aarch64 linux-user: Move generic TARGET_RLIMIT* definitions to generic/target_resource.h 2022-02-01 08:01:38 +01:00
alpha linux-user: Move generic TARGET_RLIMIT* definitions to generic/target_resource.h 2022-02-01 08:01:38 +01:00
arm linux-user/arm: Implement __kernel_cmpxchg with host atomics 2022-03-23 16:53:17 +01:00
cris linux-user: Move generic TARGET_RLIMIT* definitions to generic/target_resource.h 2022-02-01 08:01:38 +01:00
generic linux-user/syscall: Translate TARGET_RLIMIT_RTTIME 2022-02-01 08:01:44 +01:00
hexagon linux-user: Move generic TARGET_RLIMIT* definitions to generic/target_resource.h 2022-02-01 08:01:38 +01:00
hppa linux-user: Move generic TARGET_RLIMIT* definitions to generic/target_resource.h 2022-02-01 08:01:38 +01:00
i386 linux-user: Add missing "qemu/timer.h" include 2022-02-21 10:18:06 +01:00
include ppc64: Avoid pt_regs struct definition 2022-03-20 23:35:27 +01:00
m68k linux-user: Move generic TARGET_RLIMIT* definitions to generic/target_resource.h 2022-02-01 08:01:38 +01:00
microblaze linux-user: Move generic TARGET_RLIMIT* definitions to generic/target_resource.h 2022-02-01 08:01:38 +01:00
mips linux-user: Move generic TARGET_RLIMIT* definitions to generic/target_resource.h 2022-02-01 08:01:38 +01:00
mips64 linux-user: Move generic TARGET_RLIMIT* definitions to generic/target_resource.h 2022-02-01 08:01:38 +01:00
nios2 linux-user: Move generic TARGET_RLIMIT* definitions to generic/target_resource.h 2022-02-01 08:01:38 +01:00
openrisc linux-user: Move generic TARGET_RLIMIT* definitions to generic/target_resource.h 2022-02-01 08:01:38 +01:00
ppc linux-user/ppc: deliver SIGTRAP on POWERPC_EXCP_TRAP 2022-03-08 16:01:08 +01:00
riscv linux-user: Move generic TARGET_RLIMIT* definitions to generic/target_resource.h 2022-02-01 08:01:38 +01:00
s390x linux-user: Move generic TARGET_RLIMIT* definitions to generic/target_resource.h 2022-02-01 08:01:38 +01:00
sh4 linux-user: Move generic TARGET_RLIMIT* definitions to generic/target_resource.h 2022-02-01 08:01:38 +01:00
sparc linux-user: Move generic TARGET_RLIMIT* definitions to generic/target_resource.h 2022-02-01 08:01:38 +01:00
x86_64 linux-user: Move generic TARGET_RLIMIT* definitions to generic/target_resource.h 2022-02-01 08:01:38 +01:00
xtensa linux-user: Move generic TARGET_RLIMIT* definitions to generic/target_resource.h 2022-02-01 08:01:38 +01:00
cpu_loop-common.h linux-user: Create special-errno.h 2021-12-19 20:47:33 -08:00
elfload.c linux-user: Fix missing space in error message 2022-03-22 13:06:21 +01:00
errnos.c.inc linux-user: Simplify host <-> target errno conversion using macros 2021-07-12 21:53:35 +02:00
exit.c linux-user: Don't include gdbstub.h in qemu.h 2021-09-13 20:35:45 +02:00
fd-trans.c linux-user: Fix inotify on aarch64 2022-01-27 16:58:33 +01:00
fd-trans.h fd-trans: Fix race condition on reallocation of the translation table. 2021-07-12 21:54:46 +02:00
flat.h linux-user/: fix some comment spelling errors 2020-09-17 20:39:22 +02:00
flatload.c linux-user: Split linux-user internals out of qemu.h 2021-09-13 20:35:45 +02:00
ioctls.h linux-user: implement more loop ioctls 2021-11-29 14:54:17 +01:00
linux_loop.h linux-user: implement more loop ioctls 2021-11-29 14:54:17 +01:00
linuxload.c linux-user: Split linux-user internals out of qemu.h 2021-09-13 20:35:45 +02:00
loader.h linux-user: Split loader-related prototypes into loader.h 2021-09-13 20:35:44 +02:00
main.c linux-user: Implement starttime field in self stat emulation 2022-01-28 11:08:54 +01:00
meson.build user: move common-user includes to a subdirectory of {bsd,linux}-user/ 2022-01-12 14:08:29 +01:00
mmap.c linux-user: Split linux-user internals out of qemu.h 2021-09-13 20:35:45 +02:00
qemu.h linux-user: Implement starttime field in self stat emulation 2022-01-28 11:08:54 +01:00
semihost.c linux-user: Split linux-user internals out of qemu.h 2021-09-13 20:35:45 +02:00
signal-common.h linux-user: Split out helpers for sigsuspend 2022-03-22 13:06:21 +01:00
signal.c linux-user: Split out helpers for sigsuspend 2022-03-22 13:06:21 +01:00
socket.h
strace.c linux-user: Split linux-user internals out of qemu.h 2021-09-13 20:35:45 +02:00
strace.h linux-user: Split strace prototypes into strace.h 2021-09-13 20:35:44 +02:00
strace.list linux-user: Add copy_file_range to strace.list 2021-05-18 07:09:58 +02:00
syscall.c linux-user: Properly handle sigset arg to ppoll 2022-03-22 13:06:21 +01:00
syscall_defs.h linux-user: Remove the deprecated ppc64abi32 target 2022-02-09 13:29:38 +00:00
syscall_types.h linux-user: implement more loop ioctls 2021-11-29 14:54:17 +01:00
target_flat.h
thunk.c linux-user: Move thunk.c from top-level 2021-12-20 10:12:29 -08:00
trace-events linux-user: Rename user_force_sig tracepoint to match function name 2022-01-18 12:41:42 +01:00
trace.h
uaccess.c linux-user: Split linux-user internals out of qemu.h 2021-09-13 20:35:45 +02:00
uname.c linux-user: Split linux-user internals out of qemu.h 2021-09-13 20:35:45 +02:00
uname.h
user-internals.h linux-user: Fix syscall parameter handling for MIPS n32 2022-03-22 13:06:21 +01:00
user-mmap.h linux-user: Split mmap prototypes into user-mmap.h 2021-09-13 20:35:45 +02:00
vm86.c linux-user: Split linux-user internals out of qemu.h 2021-09-13 20:35:45 +02:00