unicorn/qemu
Paolo Bonzini 5c85c564b5
exec: Atomic access to bounce buffer
There could be a race condition when two processes call
address_space_map concurrently and both want to use the bounce buffer.

Add an in_use flag in BounceBuffer to sync it.

Backports commit c2cba0ffe495b60c4cc58080281e99c7a6580d4b from qemu
2018-02-12 21:00:17 -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 softfloat: expand out STATUS macro 2018-02-12 13:43:13 -05:00
hw target-i386: clear bsp bit when designating bsp 2018-02-12 16:40:35 -05:00
include target-arm: Add user-mode transaction attribute 2018-02-12 20:41:58 -05:00
qapi This code should now build the x86_x64-softmmu part 2. 2017-01-19 22:50:28 +11:00
qobject This code should now build the x86_x64-softmmu part 2. 2017-01-19 22:50:28 +11:00
qom qom: Fix object_property_add_alias() with [*] 2018-02-12 16:33:58 -05:00
scripts Save copies of generated qapi files. 2017-01-21 00:30:50 +11:00
target-arm Allow ARMv8 SCR.SMD updates 2018-02-12 20:48:34 -05:00
target-i386 target-i386: Remove AMD feature flag aliases from CPU model table 2018-02-12 20:55:52 -05:00
target-m68k target-*: Increment num_insns immediately after tcg_gen_insn_start 2018-02-11 12:46:30 -05:00
target-mips target-mips: save cpu state before calling MSA load and store helpers 2018-02-12 16:31:17 -05:00
target-sparc target-*: Increment num_insns immediately after tcg_gen_insn_start 2018-02-11 12:46:30 -05:00
tcg tcg: Allow extra data to be attached to insn_start 2018-02-11 13:03:51 -05:00
util Arm support ported. (#736) 2017-01-23 23:30:57 +08:00
aarch64.h exec.c: Add new address_space_ld*/st* functions 2018-02-12 19:22:47 -05:00
aarch64eb.h exec.c: Add new address_space_ld*/st* functions 2018-02-12 19:22:47 -05:00
accel.c Automated leading tab to spaces conversion. 2017-01-21 12:28:22 +11:00
arm.h exec.c: Add new address_space_ld*/st* functions 2018-02-12 19:22:47 -05:00
armeb.h exec.c: Add new address_space_ld*/st* functions 2018-02-12 19:22:47 -05:00
CODING_STYLE import 2015-08-21 15:04:50 +08:00
configure tcg: Drop ia64 host support 2018-02-04 18:33:02 -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.c exec: make iotlb RCU-friendly 2018-02-12 15:20:39 -05:00
cpus.c cleanup more synchronization code 2017-01-09 14:05:39 +08:00
cputlb.c Add MemTxAttrs to the IOTLB 2018-02-12 18:38:38 -05:00
exec.c exec: Atomic access to bounce buffer 2018-02-12 21:00:17 -05:00
gen_all_header.sh arm64eb: add support for ARM64 big endian. 2017-04-24 23:30:01 +08:00
glib_compat.c Merge branch 'master' into msvc2 2017-04-21 01:17:00 +08:00
HACKING import 2015-08-21 15:04:50 +08:00
header_gen.py exec.c: Add new address_space_ld*/st* functions 2018-02-12 19:22:47 -05:00
ioport.c memory: Define API for MemoryRegionOps to take attrs and return status 2018-02-12 17:17:27 -05:00
LICENSE import 2015-08-21 15:04:50 +08:00
m68k.h exec.c: Add new address_space_ld*/st* functions 2018-02-12 19:22:47 -05:00
Makefile cleanup qemu/default-configs/ 2017-01-19 14:52:30 +08:00
Makefile.objs cleanup qemu/Makefile.objs 2017-01-21 21:50:12 +08:00
Makefile.target tcg: Move some opcode generation functions out of line 2018-02-09 08:10:00 -05:00
memory.c memory: Replace io_mem_read/write with memory_region_dispatch_read/write 2018-02-12 17:26:52 -05:00
memory_mapping.c revert to use of g_free to make future qemu integrations easier (#695) 2016-12-21 22:28:36 +08:00
mips.h exec.c: Add new address_space_ld*/st* functions 2018-02-12 19:22:47 -05:00
mips64.h exec.c: Add new address_space_ld*/st* functions 2018-02-12 19:22:47 -05:00
mips64el.h exec.c: Add new address_space_ld*/st* functions 2018-02-12 19:22:47 -05:00
mipsel.h exec.c: Add new address_space_ld*/st* functions 2018-02-12 19:22:47 -05:00
powerpc.h exec.c: Add new address_space_ld*/st* functions 2018-02-12 19:22:47 -05:00
qapi-schema.json import 2015-08-21 15:04:50 +08:00
qemu-log.c import 2015-08-21 15:04:50 +08:00
qemu-timer.c timer is redundant 2017-01-20 16:46:58 +08:00
rules.mak import 2015-08-21 15:04:50 +08:00
softmmu_template.h Add MemTxAttrs to the IOTLB 2018-02-12 18:38:38 -05:00
sparc.h exec.c: Add new address_space_ld*/st* functions 2018-02-12 19:22:47 -05:00
sparc64.h exec.c: Add new address_space_ld*/st* functions 2018-02-12 19:22:47 -05:00
tcg-runtime.c platform.h move #3 2017-01-21 00:13:21 +11:00
translate-all.c target-i386: remove superfluous TARGET_HAS_SMC macro 2018-02-12 16:41:55 -05:00
translate-all.h import 2015-08-21 15:04:50 +08:00
unicorn_common.h This code should now build the x86_x64-softmmu part 2. 2017-01-19 22:50:28 +11:00
VERSION import 2015-08-21 15:04:50 +08:00
vl.c This code should now build the x86_x64-softmmu part 2. 2017-01-19 22:50:28 +11:00
vl.h import 2015-08-21 15:04:50 +08:00
x86_64.h exec.c: Add new address_space_ld*/st* functions 2018-02-12 19:22:47 -05:00