unicorn/qemu
Alex Bennée d4cb954102
cpu: atomically modify cpu->exit_request
ThreadSanitizer picks up potential races although we already use
barriers to ensure things are in the correct order when processing exit
requests. For true C11 defined behaviour across threads we need to use
relaxed atomic_set/atomic_read semantics to reassure tsan.

Backports commit 027d9a7d2911e993cdcbd21c7c35d1dd058f05bb from qemu
2018-02-26 05:11:18 -05:00
..
crypto crypto: Clean up includes 2018-02-19 00:47:40 -05:00
default-configs arm64eb: add support for ARM64 big endian. 2017-04-24 23:30:01 +08:00
docs docs: clarify memory region lifecycle 2018-02-12 15:11:21 -05:00
fpu fpu: add mechanism to check for invalid long double formats 2018-02-26 02:27:40 -05:00
hw qdev: Fix object reference leak in case device.realize() fails 2018-02-25 21:00:26 -05:00
include atomic.h: comment on use of atomic_read/set 2018-02-26 05:03:59 -05:00
qapi qapi: change QmpInputVisitor to QSLIST 2018-02-25 20:02:09 -05:00
qobject util: move declarations out of qemu-common.h 2018-02-22 09:25:48 -05:00
qom cpu: atomically modify cpu->exit_request 2018-02-26 05:11:18 -05:00
scripts qapi: Implement boxed types for commands/events 2018-02-25 20:22:03 -05:00
target-arm target-arm: Correctly handle 'sub pc, pc, 1' for ARMv6 2018-02-26 05:02:32 -05:00
target-i386 target-i386: Correct family/model/stepping for Opteron_G3 2018-02-26 04:59:18 -05:00
target-m68k Remove unused function declarations 2018-02-26 02:31:46 -05:00
target-mips target-mips: generate fences 2018-02-26 03:52:35 -05:00
target-sparc sparc: Use g_memdup() instead of g_new0() + memcpy() 2018-02-25 23:19:44 -05:00
tcg tcg/optimize: move default return out of if statement 2018-02-26 05:05:21 -05:00
util cutils: Remove unused vector ifdef block 2018-02-26 02:28:50 -05:00
aarch64.h Introduce TCGOpcode for memory barrier 2018-02-26 03:02:41 -05:00
aarch64eb.h Introduce TCGOpcode for memory barrier 2018-02-26 03:02:41 -05:00
accel.c accel: make configure_accelerator return void 2018-02-24 00:31:28 -05:00
arm.h Introduce TCGOpcode for memory barrier 2018-02-26 03:02:41 -05:00
armeb.h Introduce TCGOpcode for memory barrier 2018-02-26 03:02:41 -05:00
CODING_STYLE import 2015-08-21 15:04:50 +08:00
configure configure: Always compile with -fwrapv 2018-02-25 23:17:41 -05:00
COPYING import 2015-08-21 15:04:50 +08:00
COPYING.LIB import 2015-08-21 15:04:50 +08:00
cpu-exec-common.c cpu-exec: Rename cpu_resume_from_signal() to cpu_loop_exit_noexc() 2018-02-24 17:25:28 -05:00
cpu-exec.c cpu: atomically modify cpu->exit_request 2018-02-26 05:11:18 -05:00
cpus.c cpus: pass CPUState to run_on_cpu helpers 2018-02-26 04:54:55 -05:00
cputlb.c tcg: Merge GETPC and GETRA 2018-02-26 02:54:44 -05:00
exec.c exec: avoid realloc in phys_map_node_reserve 2018-02-25 19:32:40 -05:00
gen_all_header.sh arm64eb: add support for ARM64 big endian. 2017-04-24 23:30:01 +08:00
glib_compat.c qapi: Fix memleak in string visitors on int lists 2018-02-25 00:20:34 -05:00
HACKING import 2015-08-21 15:04:50 +08:00
header_gen.py Introduce TCGOpcode for memory barrier 2018-02-26 03:02:41 -05:00
ioport.c hw: remove pio_addr_t 2018-02-24 02:43:16 -05:00
LICENSE import 2015-08-21 15:04:50 +08:00
m68k.h Introduce TCGOpcode for memory barrier 2018-02-26 03:02:41 -05:00
Makefile Makefile: Add a FORCE target 2018-02-24 17:03:51 -05:00
Makefile.objs util: Move qemu-log to utils 2018-02-25 22:17:44 -05:00
Makefile.target tcg: split tcg_op_defs to -common 2018-02-17 15:23:51 -05:00
memory.c memory: Don't use memcpy for ram_device regions 2018-02-25 23:06:36 -05:00
memory_mapping.c include/qemu/osdep.h: Don't include qapi/error.h 2018-02-21 23:08:18 -05:00
mips.h Introduce TCGOpcode for memory barrier 2018-02-26 03:02:41 -05:00
mips64.h Introduce TCGOpcode for memory barrier 2018-02-26 03:02:41 -05:00
mips64el.h Introduce TCGOpcode for memory barrier 2018-02-26 03:02:41 -05:00
mipsel.h Introduce TCGOpcode for memory barrier 2018-02-26 03:02:41 -05:00
powerpc.h Introduce TCGOpcode for memory barrier 2018-02-26 03:02:41 -05:00
qapi-schema.json qapi: Lazy creation of array types 2018-02-19 18:55:35 -05:00
qemu-timer.c timer/cpus: fix some typos and update some comments 2018-02-25 23:21:57 -05:00
rules.mak rules.mak: Don't extract libs from .mo-libs in link command 2018-02-26 02:08:03 -05:00
softmmu_template.h tcg: Merge GETPC and GETRA 2018-02-26 02:54:44 -05:00
sparc.h Introduce TCGOpcode for memory barrier 2018-02-26 03:02:41 -05:00
sparc64.h Introduce TCGOpcode for memory barrier 2018-02-26 03:02:41 -05:00
tcg-runtime.c all: Clean up includes 2018-02-19 01:34:28 -05:00
translate-all.c tcg: Merge GETPC and GETRA 2018-02-26 02:54:44 -05:00
translate-all.h user-exec: Push resume-from-signal code out to handle_cpu_signal() 2018-02-24 17:21:06 -05:00
translate-common.c exec: Clean up includes 2018-02-19 00:49:55 -05:00
unicorn_common.h qom/cpu: Add MemoryRegion property 2018-02-18 21:54:50 -05:00
VERSION import 2015-08-21 15:04:50 +08:00
vl.c hw: explicitly include qemu/log.h 2018-02-24 02:00:45 -05:00
vl.h import 2015-08-21 15:04:50 +08:00
x86_64.h Introduce TCGOpcode for memory barrier 2018-02-26 03:02:41 -05:00