qemu-patch-raspberry4/include
Paolo Bonzini 3bbf572345 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.

Message-Id: <1433334080-14912-1-git-send-email-pbonzini@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2015-06-05 19:45:13 +02:00
..
block qapi: add dirty bitmap status 2015-05-29 12:53:12 +02:00
disas disas: Implement disassembly output for A64 2014-02-08 14:50:48 +00:00
exec target-i386: introduce cpu_get_mem_attrs 2015-06-05 17:10:00 +02:00
fpu softfloat: expand out STATUS macro 2015-02-06 16:11:38 +00:00
hw ich9: implement SMI_LOCK 2015-06-05 19:45:13 +02:00
libdecnumber Fix new typos in comments (found by codespell) 2014-07-18 17:45:36 +04:00
migration migration: Use an array instead of 3 parameters 2015-05-07 18:31:53 +02:00
monitor monitor: Change return type of monitor_cur_is_qmp() to bool 2015-06-02 10:07:16 +02:00
net net: add MAC address string printer 2015-05-11 14:49:03 +01:00
qapi qobject: Add a special null QObject 2015-05-11 08:59:07 -04:00
qemu atomics: add explicit compiler fence in __atomic memory barriers 2015-06-05 19:45:13 +02:00
qom qom: add object_property_add_const_link 2015-06-05 17:36:39 +02:00
standard-headers virtio-input: add linux/input.h 2015-05-29 10:30:06 +02:00
sysemu pc, acpi, virtio, tpm 2015-06-04 18:33:24 +01:00
ui ui/console: remove dpy_gfx_update_dirty 2015-06-05 17:09:59 +02:00
config.h janitor: move remaining public headers to include/ 2012-12-19 08:32:46 +01:00
elf.h linux/elf.h update 2015-05-27 17:52:03 +02:00
glib-compat.h glib: remove stale compat functions 2015-05-22 15:58:06 -04:00
qemu-common.h machine: add default_ram_size to machine class 2015-06-03 23:56:55 +02:00
qemu-io.h qemu-io: Use BlockBackend 2015-02-16 15:07:19 +00:00
qjson.h QJSON: Add JSON writer 2015-02-05 17:16:14 +01:00
trace-tcg.h trace: [tcg] Generate TCG tracing routines 2014-08-12 14:26:12 +01:00
trace.h trace: [tcg] Include event definitions in "trace.h" 2014-08-12 14:26:12 +01:00