linux/arch/arc/kernel
Vineet Gupta e6e335bf3a ARC: change return value of userspace cmpxchg assist syscall
The original syscall only used to return errno to indicate if cmpxchg
succeeded. It was not returning the "previous" value which typical cmpxchg
callers are interested in to build their slowpaths or retry loops.
Given user preemption in syscall return path etc, it is not wise to
check this in userspace afterwards, but should be what kernel actually
observed in the syscall.

So change the syscall interface to always return the previous value and
additionally set Z flag to indicate whether operation succeeded or not
(just like ARM implementation when they used to have this syscall)
The flag approach avoids having to put_user errno which is nice given
the use case for this syscall cares mostly about the "previous" value.

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2016-11-07 11:01:12 -08:00
..
.gitignore ARC: Add some .gitignore entries 2013-08-26 09:40:24 +05:30
arc_hostlink.c ARC: Hostlink Pseudo-Driver for Metaware Debugger 2013-02-15 23:16:10 +05:30
arcksyms.c ARC: export __udivdi3 for modules 2016-08-19 14:09:33 -07:00
asm-offsets.c ARCv2: [vdk] dts files and defconfig for HS38 VDK 2015-06-25 06:00:21 +05:30
ctx_sw.c ARC: [plat-eznps] Use dedicated identity auxiliary register. 2016-05-09 09:32:33 +05:30
ctx_sw_asm.S ARC: dw2 unwind: enable cfi pseudo ops in string lib 2016-09-30 14:48:22 -07:00
devtree.c ARC: RIP arc_{get|set}_core_freq() clk API 2016-05-09 09:32:31 +05:30
disasm.c ARC: rename kconfig option for unaligned emulation 2014-10-13 14:46:15 +05:30
entry-arcv2.S ARCv2: Enable LOCKDEP 2016-04-22 18:12:31 +05:30
entry-compact.S ARC: [intc-compact] simplify code for 2 priority levels 2016-05-30 22:45:04 +05:30
entry.S ARC: entry: make ret_from_system_call local label 2016-09-30 14:48:21 -07:00
fpu.c ARC: Process-creation/scheduling/idle-loop 2013-02-11 20:00:38 +05:30
head.S ARC: boot: Non Master cpus only need to call EARLY_CPU_SETUP once 2015-10-28 16:13:42 +05:30
intc-arcv2.c ARCv2: intc: Use kflag if STATUS32.IE must be reset 2016-09-30 14:48:24 -07:00
intc-compact.c ARC: [intc-compact] simplify code for 2 priority levels 2016-05-30 22:45:04 +05:30
irq.c ARC: [intc-*] Do a domain lookup in primary handler for hwirq -> linux virq 2016-05-09 09:32:30 +05:30
kgdb.c ARC: kgdb: generic kgdb_arch_pc() suffices 2014-10-22 16:14:04 -06:00
kprobes.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2013-11-15 16:47:22 -08:00
Makefile ARC: RIP arc_{get|set}_core_freq() clk API 2016-05-09 09:32:31 +05:30
mcip.c ARCv2: intc: untangle SMP, MCIP and IDU 2016-10-16 15:49:07 -07:00
module.c ARC: module: print pretty section names 2016-10-28 10:10:29 -07:00
pcibios.c ARC: Add PCI support 2016-03-10 14:44:13 -06:00
perf_event.c arc: perf: Enable generic "cache-references" and "cache-misses" events 2016-09-30 14:48:18 -07:00
process.c ARC: change return value of userspace cmpxchg assist syscall 2016-11-07 11:01:12 -08:00
ptrace.c ARCv2: Support for ARCv2 ISA and HS38x cores 2015-06-22 14:06:55 +05:30
reset.c arc: export symbol for pm_power_off in reset.c 2013-11-06 10:41:44 +05:30
setup.c ARC: boot log: refactor cpu name/release printing 2016-10-28 10:09:07 -07:00
signal.c arc: don't leak bits of kernel stack into coredump 2016-09-15 19:51:55 -04:00
smp.c ARC: [SMP] avoid overriding present cpumask 2016-10-31 17:12:41 -07:00
stacktrace.c arc: unwind: warn only once if DW2_UNWIND is disabled 2016-06-28 11:11:44 +05:30
sys.c ARC: ABIv3: fork/vfork wrappers not needed in "no-legacy-syscall" ABI 2013-03-11 19:01:10 +05:30
time.c ARC/time: Convert to hotplug state machine 2016-07-15 10:41:46 +02:00
traps.c ARC: rename unhandled exception handler 2015-04-13 15:14:57 +05:30
troubleshoot.c ARC: mm: retire ARC_DBG_TLB_MISS_COUNT... 2016-10-28 10:10:28 -07:00
unaligned.c ARC: change some branchs to jumps to resolve linkage errors 2015-08-20 18:53:15 +05:30
unwind.c ARC: dw2 unwind: switch to .eh_frame based unwinding 2016-09-30 14:48:20 -07:00
vmlinux.lds.S nmi_backtrace: generate one-line reports for idle cpus 2016-10-07 18:46:30 -07:00