unicorn/qemu
Peter Crosthwaite b82e711a65
memory: Add address_space_init_shareable()
This will either create a new AS or return a pointer to an
already existing equivalent one, if we have already created
an AS for the specified root memory region.

The motivation is to reuse address spaces as much as possible.
It's going to be quite common that bus masters out in device land
have pointers to the same memory region for their mastering yet
each will need to create its own address space. Let the memory
API implement sharing for them.

Aside from the perf optimisations, this should reduce the amount
of redundant output on info mtree as well.

Thee returned value will be malloced, but the malloc will be
automatically freed when the AS runs out of refs.

Backports commit f0c02d15b57da6f5463e3768aa0cfeedccf4b8f4 from qemu
2018-02-18 00:18:21 -05:00
..
crypto Drop unused crypto source files 2018-02-17 15:23:57 -05:00
default-configs
docs
fpu
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
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
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
configure
COPYING
COPYING.LIB
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.c: Use cpu_get_phys_page_attrs_debug 2018-02-17 23:26:09 -05:00
gen_all_header.sh
glib_compat.c
HACKING
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
m68k.h memory: Add address_space_init_shareable() 2018-02-18 00:18:21 -05:00
Makefile
Makefile.objs
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
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
qemu-log.c
qemu-timer.c
rules.mak
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
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-common.c translate-all: Move tcg_handle_interrupt() to -common 2018-02-17 15:23:51 -05:00
unicorn_common.h
VERSION
vl.c vl.c: Remove periods and exclamation points from error messages 2018-02-17 15:24:14 -05:00
vl.h
x86_64.h memory: Add address_space_init_shareable() 2018-02-18 00:18:21 -05:00