unicorn/qemu
Paolo Bonzini 26ba2e91f6
exec: do not clamp accesses to MMIO regions
It is common for MMIO registers to overlap, for example a 4 byte register
at 0xcf8 (totally random choice... :)) and a 1 byte register at 0xcf9.
If these registers are implemented via separate MemoryRegions, it is
wrong to clamp the accesses as the value written would be truncated.

Hence for these regions the effects of commit 23820db (exec: Respect
as_translate_internal length clamp, 2015-03-16, previously applied as
commit c3c1bb9) must be skipped.

Backports commit 965eb2fcdfe919ecced6c34803535ad32dc1249c from qemu
2018-02-18 17:50:27 -05:00
..
crypto Drop unused crypto source files 2018-02-17 15:23:57 -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 hw/arm: Clean up includes 2018-02-17 21:10:57 -05:00
include memory: Add address_space_init_shareable() 2018-02-18 00:18:21 -05:00
qapi qstring: Make conversion from QObject * accept null 2018-02-17 15:24:12 -05:00
qobject qstring: Make conversion from QObject * accept null 2018-02-17 15:24:12 -05:00
qom qom: Introduce ObjectPropertyIterator struct for iteration 2018-02-17 18:39:00 -05:00
scripts Save copies of generated qapi files. 2017-01-21 00:30:50 +11:00
target-arm target-arm: Clean up includes 2018-02-17 21:09:32 -05:00
target-i386 exec.c: Allow target CPUs to define multiple AddressSpaces 2018-02-17 22:35:13 -05:00
target-m68k target-*: Advance pc after recognizing a breakpoint 2018-02-17 15:24:11 -05:00
target-mips target-mips: flush QEMU TLB when disabling 64-bit addressing 2018-02-17 19:06:43 -05:00
target-sparc target-sparc: Convert to VMStateDescription 2018-02-17 21:06:46 -05:00
tcg tcg: Fix highwater check 2018-02-17 18:53:18 -05:00
util error: Improve documentation 2018-02-17 20:52:49 -05:00
aarch64.h memory: Add address_space_init_shareable() 2018-02-18 00:18:21 -05:00
aarch64eb.h memory: Add address_space_init_shareable() 2018-02-18 00:18:21 -05:00
accel.c Automated leading tab to spaces conversion. 2017-01-21 12:28:22 +11:00
arm.h memory: Add address_space_init_shareable() 2018-02-18 00:18:21 -05:00
armeb.h memory: Add address_space_init_shareable() 2018-02-18 00:18:21 -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-common.c cputlb.c: Use correct address space when looking up MemoryRegionSection 2018-02-17 23:15:22 -05:00
cpu-exec.c cpu-exec: Fix compiler warning (-Werror=clobbered) 2018-02-17 15:24:15 -05:00
cpus.c exec.c: Allow target CPUs to define multiple AddressSpaces 2018-02-17 22:35:13 -05:00
cputlb.c exec.c: Pass MemTxAttrs to iotlb_to_region so it uses the right AS 2018-02-17 23:19:00 -05:00
exec.c exec: do not clamp accesses to MMIO regions 2018-02-18 17:50:27 -05:00
gen_all_header.sh arm64eb: add support for ARM64 big endian. 2017-04-24 23:30:01 +08:00
glib_compat.c crypto: introduce new module for computing hash digests 2018-02-17 15:23:17 -05:00
HACKING import 2015-08-21 15:04:50 +08:00
header_gen.py memory: Add address_space_init_shareable() 2018-02-18 00:18:21 -05:00
ioport.c ioport: do not use CPU_LOG_IOPORT 2018-02-17 15:24:15 -05:00
LICENSE import 2015-08-21 15:04:50 +08:00
m68k.h memory: Add address_space_init_shareable() 2018-02-18 00:18:21 -05:00
Makefile crypto: move crypto objects out of libqemuutil.la 2018-02-17 15:23:50 -05:00
Makefile.objs crypto: move crypto objects out of libqemuutil.la 2018-02-17 15:23:50 -05:00
Makefile.target tcg: split tcg_op_defs to -common 2018-02-17 15:23:51 -05:00
memory.c memory: Add address_space_init_shareable() 2018-02-18 00:18:21 -05:00
memory_mapping.c memory_mapping: Rework cpu related includes 2018-02-17 15:23:15 -05:00
mips.h memory: Add address_space_init_shareable() 2018-02-18 00:18:21 -05:00
mips64.h memory: Add address_space_init_shareable() 2018-02-18 00:18:21 -05:00
mips64el.h memory: Add address_space_init_shareable() 2018-02-18 00:18:21 -05:00
mipsel.h memory: Add address_space_init_shareable() 2018-02-18 00:18:21 -05:00
powerpc.h memory: Add address_space_init_shareable() 2018-02-18 00:18:21 -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 exec.c: Pass MemTxAttrs to iotlb_to_region so it uses the right AS 2018-02-17 23:19:00 -05:00
sparc.h memory: Add address_space_init_shareable() 2018-02-18 00:18:21 -05:00
sparc64.h memory: Add address_space_init_shareable() 2018-02-18 00:18:21 -05:00
tcg-runtime.c platform.h move #3 2017-01-21 00:13:21 +11:00
translate-all.c translate-all: ensure host page mask is always extended with 1's 2018-02-17 19:17:19 -05:00
translate-all.h translate-all: remove unnecessary argument to tb_invalidate_phys_range 2018-02-13 09:04:51 -05:00
translate-common.c translate-all: Move tcg_handle_interrupt() to -common 2018-02-17 15:23:51 -05: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 vl.c: Remove periods and exclamation points from error messages 2018-02-17 15:24:14 -05:00
vl.h import 2015-08-21 15:04:50 +08:00
x86_64.h memory: Add address_space_init_shareable() 2018-02-18 00:18:21 -05:00