freebsd-nq/sys/riscv/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
_bus.h
_inttypes.h
_limits.h
_stdint.h
_types.h Define the vm_ooffset_t and vm_pindex_t types as machine-independend. 2017-02-04 12:26:38 +00:00
asm.h o Add support for long double. 2016-11-03 13:06:17 +00:00
atomic.h Add atomic_load(9) and atomic_store(9) operations. 2017-12-19 09:59:20 +00:00
bus_dma.h Clean up MD pollution of bus_dma.h: 2017-07-01 05:35:29 +00:00
bus.h
clock.h
counter.h Follow r317061 "Remove struct vmmeter from struct pcpu" 2017-04-19 17:06:32 +00:00
cpu.h
cpufunc.h
db_machdep.h Fix printing of negative offsets (typically from frame pointers) again. 2017-03-26 18:46:35 +00:00
dump.h
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 Add AT_HWCAP2 ELF auxiliary vector. 2017-10-21 12:05:01 +00:00
endian.h
exec.h
float.h o Add support for long double. 2016-11-03 13:06:17 +00:00
floatingpoint.h
fpe.h Add full softfloat and hardfloat support for RISC-V. 2016-11-16 15:21:32 +00:00
frame.h Add RISC-V support for truss(1) 2017-01-24 09:41:44 +00:00
ieeefp.h
in_cksum.h
intr.h
kdb.h
machdep.h Support for v1.10 (latest) of RISC-V privilege specification. 2017-08-10 14:18:09 +00:00
md_var.h
memdev.h
minidump.h
ofw_machdep.h
param.h
pcb.h Add full softfloat and hardfloat support for RISC-V. 2016-11-16 15:21:32 +00:00
pcpu.h Follow r317061 "Remove struct vmmeter from struct pcpu" 2017-04-19 17:06:32 +00:00
pmap.h
pmc_mdep.h
proc.h Make struct syscall_args visible to userspace compilation environment 2017-06-12 20:53:44 +00:00
profile.h SPDX: Consider code from Carnegie-Mellon University. 2017-11-30 15:48:35 +00:00
psl.h
pte.h
ptrace.h
reg.h Add full softfloat and hardfloat support for RISC-V. 2016-11-16 15:21:32 +00:00
reloc.h
resource.h
riscv_opcode.h
riscvreg.h Support for v1.10 (latest) of RISC-V privilege specification. 2017-08-10 14:18:09 +00:00
runq.h
sbi.h Support for v1.10 (latest) of RISC-V privilege specification. 2017-08-10 14:18:09 +00:00
setjmp.h
sf_buf.h
signal.h
smp.h
stack.h
stdarg.h
sysarch.h
trap.h
ucontext.h
vdso.h
vm.h
vmparam.h Disable superpages reservations as we don't have implemented them yet. 2016-11-21 12:00:31 +00:00