unicorn/qemu
Gonglei 39e4d63e68
exec: store RAMBlock pointer into memory region
Each RAM memory region has a unique corresponding RAMBlock.
In the current realization, the memory region only stored
the ram_addr which means the offset of RAM address space,
We need to qurey the global ram.list to find the ram block
by ram_addr if we want to get the ram block, which is very
expensive.

Now, we store the RAMBlock pointer into memory region
structure. So, if we know the mr, we can easily get the
RAMBlock.

Backports commit 58eaa2174e99d9a05172d03fd2799ab8fd9e6f60 from qemu
2018-02-20 20:43:32 -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: Remove lingering fast casts 2018-02-20 19:04:22 -05:00
hw x86: Clean up includes 2018-02-19 01:00:09 -05:00
include exec: store RAMBlock pointer into memory region 2018-02-20 20:43:32 -05:00
qapi qapi: Don't box branches of flat unions 2018-02-20 16:44:55 -05:00
qobject qapi: Convert QType into QAPI built-in enum type 2018-02-19 21:47:05 -05:00
qom cpu: Add callback to check architectural watchpoint match 2018-02-20 11:43:56 -05:00
scripts qapi: Don't box branches of flat unions 2018-02-20 16:44:55 -05:00
target-arm target-arm: Add PMUSERENR_EL0 register 2018-02-20 15:36:31 -05:00
target-i386 target-i386: Implement FSGSBASE 2018-02-20 14:45:58 -05:00
target-m68k m68k: Clean up includes 2018-02-19 01:06:05 -05:00
target-mips target-mips: Stop using uint_fast*_t types in r4k_tlb_t struct 2018-02-20 16:48:03 -05:00
target-sparc target-sparc: Use global registers for the register window 2018-02-20 20:34:42 -05:00
tcg tcg: Remove unnecessary osdep.h includes from tcg-target.inc.c 2018-02-20 20:41:00 -05:00
util error: New error_fatal 2018-02-20 08:22:27 -05:00
aarch64.h target-arm: Implement checking of fired watchpoint 2018-02-20 11:50:29 -05:00
aarch64eb.h target-arm: Implement checking of fired watchpoint 2018-02-20 11:50:29 -05:00
accel.c all: Clean up includes 2018-02-19 01:34:28 -05:00
arm.h target-arm: Implement checking of fired watchpoint 2018-02-20 11:50:29 -05:00
armeb.h target-arm: Implement checking of fired watchpoint 2018-02-20 11:50:29 -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 exec: Clean up includes 2018-02-19 00:49:55 -05:00
cpu-exec.c exec: Clean up includes 2018-02-19 00:49:55 -05:00
cpus.c exec: Clean up includes 2018-02-19 00:49:55 -05:00
cputlb.c exec: Clean up includes 2018-02-19 00:49:55 -05:00
exec.c exec: store RAMBlock pointer into memory region 2018-02-20 20:43:32 -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 target-arm: Implement checking of fired watchpoint 2018-02-20 11:50:29 -05:00
ioport.c all: Clean up includes 2018-02-19 01:34:28 -05:00
LICENSE import 2015-08-21 15:04:50 +08:00
m68k.h target-arm: Implement checking of fired watchpoint 2018-02-20 11:50:29 -05:00
Makefile qapi: Turn generators' mandatory option -i into an argument 2018-02-19 15:22:27 -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 exec: store RAMBlock pointer into memory region 2018-02-20 20:43:32 -05:00
memory_mapping.c all: Clean up includes 2018-02-19 01:34:28 -05:00
mips.h target-arm: Implement checking of fired watchpoint 2018-02-20 11:50:29 -05:00
mips64.h target-arm: Implement checking of fired watchpoint 2018-02-20 11:50:29 -05:00
mips64el.h target-arm: Implement checking of fired watchpoint 2018-02-20 11:50:29 -05:00
mipsel.h target-arm: Implement checking of fired watchpoint 2018-02-20 11:50:29 -05:00
powerpc.h target-arm: Implement checking of fired watchpoint 2018-02-20 11:50:29 -05:00
qapi-schema.json qapi: Lazy creation of array types 2018-02-19 18:55:35 -05:00
qemu-log.c all: Clean up includes 2018-02-19 01:34:28 -05:00
qemu-timer.c all: Clean up includes 2018-02-19 01:34:28 -05: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 target-arm: Implement checking of fired watchpoint 2018-02-20 11:50:29 -05:00
sparc64.h target-arm: Implement checking of fired watchpoint 2018-02-20 11:50:29 -05:00
tcg-runtime.c all: Clean up includes 2018-02-19 01:34:28 -05:00
translate-all.c all: Clean up includes 2018-02-19 01:34:28 -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 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 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 target-arm: Implement checking of fired watchpoint 2018-02-20 11:50:29 -05:00