unicorn/qemu
Alex Williamson 5db45219c9
memory: Replace skip_dump flag with ram_device
Setting skip_dump on a MemoryRegion allows us to modify one specific
code path, but the restriction we're trying to address encompasses
more than that. If we have a RAM MemoryRegion backed by a physical
device, it not only restricts our ability to dump that region, but
also affects how we should manipulate it. Here we recognize that
MemoryRegions do not change to sometimes allow dumps and other times
not, so we replace setting the skip_dump flag with a new initializer
so that we know exactly the type of region to which we're applying
this behavior.

Backports commit ca83f87a66d19fdaabf23d4f5ebb49396fe232c1 from qemu
2018-02-25 23:00:45 -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 softfloat: Fix warn about implicit conversion from int to int8_t 2018-02-25 22:54:39 -05:00
hw qdev: Fix object reference leak in case device.realize() fails 2018-02-25 21:00:26 -05:00
include memory: Replace skip_dump flag with ram_device 2018-02-25 23:00:45 -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 qapi: Add new visit_complete() function 2018-02-25 01:20:03 -05:00
scripts qapi: Implement boxed types for commands/events 2018-02-25 20:22:03 -05:00
target-arm target-arm: Fix warn about implicit conversion 2018-02-25 22:44:43 -05:00
target-i386 tcg: Reorg TCGOp chaining 2018-02-25 21:44:50 -05:00
target-m68k tcg: Reorg TCGOp chaining 2018-02-25 21:44:50 -05:00
target-mips target-mips: Silence unused function warning 2018-02-25 21:47:22 -05:00
target-sparc tcg: Reorg TCGOp chaining 2018-02-25 21:44:50 -05:00
tcg tcg: Lower indirect registers in a separate pass 2018-02-25 22:32:28 -05:00
util util: Move qemu-log to utils 2018-02-25 22:17:44 -05:00
aarch64.h memory: Replace skip_dump flag with ram_device 2018-02-25 23:00:45 -05:00
aarch64eb.h memory: Replace skip_dump flag with ram_device 2018-02-25 23:00:45 -05:00
accel.c accel: make configure_accelerator return void 2018-02-24 00:31:28 -05:00
arm.h memory: Replace skip_dump flag with ram_device 2018-02-25 23:00:45 -05:00
armeb.h memory: Replace skip_dump flag with ram_device 2018-02-25 23:00:45 -05:00
CODING_STYLE import 2015-08-21 15:04:50 +08:00
configure configure: Enable -Werror for MinGW builds, too 2018-02-24 18:56:05 -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 tb hash: hash phys_pc, pc, and flags with xxhash 2018-02-24 18:00:14 -05:00
cpus.c cpu: move exec-all.h inclusion out of cpu.h 2018-02-24 02:39:08 -05:00
cputlb.c cputlb: Add address parameter to VICTIM_TLB_HIT 2018-02-25 03:03:36 -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 memory: Replace skip_dump flag with ram_device 2018-02-25 23:00:45 -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 memory: Replace skip_dump flag with ram_device 2018-02-25 23:00:45 -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: Replace skip_dump flag with ram_device 2018-02-25 23:00:45 -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 memory: Replace skip_dump flag with ram_device 2018-02-25 23:00:45 -05:00
mips64.h memory: Replace skip_dump flag with ram_device 2018-02-25 23:00:45 -05:00
mips64el.h memory: Replace skip_dump flag with ram_device 2018-02-25 23:00:45 -05:00
mipsel.h memory: Replace skip_dump flag with ram_device 2018-02-25 23:00:45 -05:00
powerpc.h memory: Replace skip_dump flag with ram_device 2018-02-25 23:00:45 -05:00
qapi-schema.json qapi: Lazy creation of array types 2018-02-19 18:55:35 -05:00
qemu-timer.c all: Clean up includes 2018-02-19 01:34:28 -05:00
rules.mak Makefile: add dependency on scripts/create_config 2018-02-24 17:05:03 -05:00
softmmu_template.h cputlb: Fix for self-modifying writes across page boundaries 2018-02-25 03:12:11 -05:00
sparc.h memory: Replace skip_dump flag with ram_device 2018-02-25 23:00:45 -05:00
sparc64.h memory: Replace skip_dump flag with ram_device 2018-02-25 23:00:45 -05:00
tcg-runtime.c all: Clean up includes 2018-02-19 01:34:28 -05:00
translate-all.c translate-all: Fix user-mode self-modifying code in 2 page long TB 2018-02-25 03:14:22 -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 memory: Replace skip_dump flag with ram_device 2018-02-25 23:00:45 -05:00