freebsd-dev/sys/mips
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
..
adm5120 sys/mips: further adoption of SPDX licensing ID tags. 2017-11-27 15:07:26 +00:00
alchemy sys/mips: further adoption of SPDX licensing ID tags. 2017-11-27 15:07:26 +00:00
atheros sys/mips: further adoption of SPDX licensing ID tags. 2017-11-27 15:07:26 +00:00
beri sys/mips: further adoption of SPDX licensing ID tags. 2017-11-27 15:07:26 +00:00
broadcom bhnd(4): Include board_devid in the bhnd_board_info structure, and populate 2017-12-14 01:58:05 +00:00
cavium sys/mips: further adoption of SPDX licensing ID tags. 2017-11-27 15:07:26 +00:00
conf It's time to retire AHC_REG_PRETTY_PRINT and AHD_REG_PRETTY_PRINT from 2017-11-29 23:41:49 +00:00
gxemul sys/mips: further adoption of SPDX licensing ID tags. 2017-11-27 15:07:26 +00:00
idt sys/mips: further adoption of SPDX licensing ID tags. 2017-11-27 15:07:26 +00:00
include Add atomic_load(9) and atomic_store(9) operations. 2017-12-19 09:59:20 +00:00
ingenic Add and use a MMC_DECLARE_BRIDGE macro for declaring mmc(4) bridges 2017-03-07 22:42:44 +00:00
malta sys/mips: further adoption of SPDX licensing ID tags. 2017-11-27 15:07:26 +00:00
mediatek [mips] Pin control configuration for MediaTek RT2880 2017-10-31 11:29:16 +00:00
mips Move instantiation of msgbufp from 9 MD files to subr_prf.c. 2017-12-07 07:55:38 +00:00
nlm sys/mips: further adoption of SPDX licensing ID tags. 2017-11-27 15:07:26 +00:00
rmi sys/mips: further adoption of SPDX licensing ID tags. 2017-11-27 15:07:26 +00:00
rt305x sys/mips: further adoption of SPDX licensing ID tags. 2017-11-27 15:07:26 +00:00
sibyte sys/mips: further adoption of SPDX licensing ID tags. 2017-11-27 15:07:26 +00:00