unicorn/qemu/include
Paolo Bonzini 4e7259a49b
atomics: add explicit compiler fence in __atomic memory barriers
__atomic_thread_fence does not include a compiler barrier; in the
C++11 memory model, fences take effect in combination with other
atomic operations.  GCC implements this by making __atomic_load and
__atomic_store access memory as if the pointer was volatile, and
leaves no trace whatsoever of acquire and release fences in the
compiler's intermediate representation.

In QEMU, we want memory barriers to act on all memory, but at the same
time we would like to use __atomic_thread_fence for portability reasons.
Add compiler barriers manually around the __atomic_thread_fence.

Backports commit 3bbf572345c65813f86a8fc434ea1b23beb08e16 from qemu
2018-02-22 15:56:37 -05:00
..
crypto Drop unused crypto source files 2018-02-17 15:23:57 -05:00
exec memory: RCU ram_list.dirty_memory[] for safe RAM hotplug 2018-02-22 15:38:03 -05:00
fpu fpu: Remove use of int_fast16_t in conversions to int16 2018-02-20 16:54:04 -05:00
hw qom: Allow properties to be registered against classes 2018-02-21 21:00:56 -05:00
qapi include/qemu/osdep.h: Don't include qapi/error.h 2018-02-21 23:08:18 -05:00
qemu atomics: add explicit compiler fence in __atomic memory barriers 2018-02-22 15:56:37 -05:00
qom include/qemu/osdep.h: Don't include qapi/error.h 2018-02-21 23:08:18 -05:00
sysemu oslib-win32: Change return type of function getpagesize 2018-02-17 19:10:37 -05:00
config.h
elf.h fix merge conflicts 2017-03-10 21:04:33 +08:00
glib_compat.h glib_compat: backport hashtable iterator interfaces 2018-02-21 13:18:44 -05:00
qemu-common.h util: move declarations out of qemu-common.h 2018-02-22 09:25:48 -05:00