freebsd-dev/sys/sparc64
Konstantin Belousov 8954a9a4e6 Add the atomic_thread_fence() family of functions with intent to
provide a semantic defined by the C11 fences with corresponding
memory_order.

atomic_thread_fence_acq() gives r | r, w, where r and w are read and
write accesses, and | denotes the fence itself.

atomic_thread_fence_rel() is r, w | w.

atomic_thread_fence_acq_rel() is the combination of the acquire and
release in single operation.  Note that reads after the acq+rel fence
could be made visible before writes preceeding the fence.

atomic_thread_fence_seq_cst() orders all accesses before/after the
fence, and the fence itself is globally ordered against other
sequentially consistent atomic operations.

Reviewed by:	alc
Discussed with:	bde
Sponsored by:	The FreeBSD Foundation
MFC after:	3 weeks
2015-07-08 18:12:24 +00:00
..
central s,KOBJMETHOD_END,DEVMETHOD_END,g in order to fully hide the explicit mention 2011-11-22 21:55:40 +00:00
conf Fix up tabs vs. spaces 2015-07-04 20:31:06 +00:00
ebus Simplify the ofw_bus_lookup_imap() API slightly: make it allocate maskbuf 2013-12-17 15:11:24 +00:00
fhc s,KOBJMETHOD_END,DEVMETHOD_END,g in order to fully hide the explicit mention 2011-11-22 21:55:40 +00:00
include Add the atomic_thread_fence() family of functions with intent to 2015-07-08 18:12:24 +00:00
isa Remove more superfluous const specifiers. 2014-02-23 18:36:45 +00:00
pci Update this driver to not save copies of registers that are no longer used 2015-04-24 13:12:04 +00:00
sbus Move the implementation of bus_space_barrier(9) to the inline function in 2013-10-24 17:06:41 +00:00
sparc64 Generalised support for copy-on-write structures shared by threads. 2015-06-10 10:43:59 +00:00