freebsd-dev/sys/sparc64/include
Konstantin Belousov 30d4f9e888 Add atomic_load(9) and atomic_store(9) operations.
They provide relaxed-ordered atomic access semantic.  Due to the
FreeBSD memory model, the operations are syntaxical wrappers around
the volatile accesses.  The volatile qualifier is used to ensure that
the access not optimized out and in turn depends on the volatile
semantic as implemented by supported compilers.

The motivation for adding the operation is to help people coming from
other systems or knowing the C11/C++ standards where atomics have
special type and require use of the special access operations.  It is
still the case that FreeBSD requires plain load and stores of aligned
integer types to be atomic.

Suggested by:	jhb
Reviewed by:	alc, jhb
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D13534
2017-12-19 09:59:20 +00:00
..
_align.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
_bus.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
_inttypes.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
_limits.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
_stdint.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
_types.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
asi.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
asm.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
asmacros.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
atomic.h Add atomic_load(9) and atomic_store(9) operations. 2017-12-19 09:59:20 +00:00
bus_common.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
bus_dma.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
bus_private.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
bus.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
cache.h spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
ccr.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
clock.h
cmt.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
counter.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
cpu.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
cpufunc.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
db_machdep.h Fix printing of negative offsets (typically from frame pointers) again. 2017-03-26 18:46:35 +00:00
dcr.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
dump.h - Unbreak dumpsys(9) on sparc64 after r276772 2015-11-16 23:02:33 +00:00
efi.h Fix building on i386 and arm. But 'public domain' headers on the files 2016-10-13 06:56:23 +00:00
elf.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
endian.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
exec.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
fireplane.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
float.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
floatingpoint.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
fp.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
frame.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
fsr.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
gdb_machdep.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
idprom.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
ieee.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
ieeefp.h
in_cksum.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
instr.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
intr_machdep.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
iommureg.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
iommuvar.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
jbus.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
kdb.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
kerneldump.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
ktr.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
limits.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
lsu.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
mcntl.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
md_var.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
memdev.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
metadata.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
nexusvar.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
ofw_machdep.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
ofw_mem.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
ofw_nexus.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
param.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
pcb.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
pcpu.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
pmap.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
pmc_mdep.h
proc.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
profile.h SPDX: Consider code from Carnegie-Mellon University. 2017-11-30 15:48:35 +00:00
pstate.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
ptrace.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
reg.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
reloc.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
resource.h
runq.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
sc_machdep.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
setjmp.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
sf_buf.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
sigframe.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
signal.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
smp.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
stack.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
stdarg.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
sysarch.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
tick.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
tlb.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
trap.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
tsb.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
tstate.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
tte.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
ucontext.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
upa.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
utrap.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
varargs.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
vdso.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
ver.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
vm.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
vmparam.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
watch.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00
wstate.h sys/sparc64: further adoption of SPDX licensing ID tags. 2017-11-27 15:10:39 +00:00