30d4f9e888
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 |
||
---|---|---|
.. | ||
_align.h | ||
_bus.h | ||
_inttypes.h | ||
_limits.h | ||
_stdint.h | ||
_types.h | ||
asm.h | ||
atomic.h | ||
bus_dma.h | ||
bus.h | ||
clock.h | ||
counter.h | ||
cpu.h | ||
cpufunc.h | ||
db_machdep.h | ||
dump.h | ||
efi.h | ||
elf.h | ||
endian.h | ||
exec.h | ||
float.h | ||
floatingpoint.h | ||
fpe.h | ||
frame.h | ||
ieeefp.h | ||
in_cksum.h | ||
intr.h | ||
kdb.h | ||
machdep.h | ||
md_var.h | ||
memdev.h | ||
minidump.h | ||
ofw_machdep.h | ||
param.h | ||
pcb.h | ||
pcpu.h | ||
pmap.h | ||
pmc_mdep.h | ||
proc.h | ||
profile.h | ||
psl.h | ||
pte.h | ||
ptrace.h | ||
reg.h | ||
reloc.h | ||
resource.h | ||
riscv_opcode.h | ||
riscvreg.h | ||
runq.h | ||
sbi.h | ||
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 |