summaryrefslogtreecommitdiff
path: root/arch/arc/include/asm/syscalls.h
diff options
context:
space:
mode:
authorVineet Gupta <vgupta@synopsys.com>2016-10-20 07:39:45 -0700
committerVineet Gupta <vgupta@synopsys.com>2016-10-24 09:24:26 -0700
commit91e040a79df73d371f70792f30380d4e44805250 (patch)
treeb2732eadb60fc5575c465a81cc637a899330c1b5 /arch/arc/include/asm/syscalls.h
parent1dec78585328db00e33fb18dc1a6deed0e2095a5 (diff)
ARC: syscall for userspace cmpxchg assist
Older ARC700 cores (ARC750 specifically) lack instructions to implement atomic r-w-w. This is problematic for userspace libraries such as NPTL which need atomic primitives. So enable them by providing kernel assist. This is costly but really the only sane soluton (othern than tight spinning using the otherwise availiable atomic exchange EX instruciton). Good thing is there are only a few of these cores running Linux out in the wild. This only works on UP systems. Reviewed-by: Colin Ian King <colin.king@canonical.com> Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Diffstat (limited to 'arch/arc/include/asm/syscalls.h')
-rw-r--r--arch/arc/include/asm/syscalls.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/arc/include/asm/syscalls.h b/arch/arc/include/asm/syscalls.h
index e56f9fcc5581..772b67ca56e7 100644
--- a/arch/arc/include/asm/syscalls.h
+++ b/arch/arc/include/asm/syscalls.h
@@ -17,6 +17,7 @@ int sys_clone_wrapper(int, int, int, int, int);
int sys_cacheflush(uint32_t, uint32_t uint32_t);
int sys_arc_settls(void *);
int sys_arc_gettls(void);
+int sys_arc_usr_cmpxchg(int *, int, int);
#include <asm-generic/syscalls.h>