unicorn/qemu
Paolo Bonzini 20b1bd767f
memory: seek FlatView sharing candidates among children subregions
A container can be used instead of an alias to allow switching between
multiple subregions. In this case we cannot directly share the
subregions (since they only belong to a single parent), but if the
subregions are aliases we can in turn walk those.

This is not enough to remove all source of quadratic FlatView creation,
but it enables sharing of the PCI bus master FlatViews (and their
AddressSpaceDispatch structures) across all PCI devices. For 112
virtio-net-pci devices, boot time is reduced from 25 to 10 seconds and
memory consumption from 1.4 to 1 G.

Backports commit e673ba9af9bf8fd8e0f44025ac738b8285b3ed27 from qemu
2018-03-11 22:19:55 -04:00
..
accel tcg: Merge opcode arguments into TCGOp 2018-03-05 04:45:20 -05:00
crypto
default-configs
docs
fpu softfloat: fix crash on int conversion of SNaN 2018-03-09 11:40:17 -05:00
hw machine: use class base init generated name 2018-03-11 16:54:40 -04:00
include memory: Get rid of address_space_init_shareable 2018-03-11 22:12:38 -04:00
qapi qapi: Move qapi-schema.json to qapi/, rename generated files 2018-03-09 11:35:11 -05:00
qobject Include qapi/qmp/qlist.h exactly where needed 2018-03-08 08:50:06 -05:00
qom machine: Set MachineClass::name automatically 2018-03-11 14:38:58 -04:00
scripts qapi: Move qapi-schema.json to qapi/, rename generated files 2018-03-09 11:35:11 -05:00
target Revert use of DEFINE_MACHINE() for registrations of multiple machines 2018-03-11 15:17:17 -04:00
tcg util: Introduce include/qemu/cpuid.h 2018-03-09 12:12:00 -05:00
util oslib-posix: check for posix_memalign in configure script 2018-03-08 08:56:35 -05:00
aarch64.h memory: Get rid of address_space_init_shareable 2018-03-11 22:12:38 -04:00
aarch64eb.h memory: Get rid of address_space_init_shareable 2018-03-11 22:12:38 -04:00
accel.c
arm.h memory: Get rid of address_space_init_shareable 2018-03-11 22:12:38 -04:00
armeb.h memory: Get rid of address_space_init_shareable 2018-03-11 22:12:38 -04:00
atomic_template.h tcg: Record code_gen_buffer address for user-only memory helpers 2018-03-05 13:48:27 -05:00
CODING_STYLE
configure configure: Never use 'uname' to identify target OS 2018-03-09 12:37:21 -05:00
COPYING
COPYING.LIB
cpu-exec-common.c
cpu-exec.c exec-all: extract tb->tc_* into a separate struct tc_tb 2018-03-05 02:57:22 -05:00
cpus.c Include qapi/error.h exactly where needed 2018-03-07 12:26:38 -05:00
cputlb.c accel/tcg: add size paremeter in tlb_fill() 2018-03-06 10:56:34 -05:00
exec.c memory: Rename mem_begin/mem_commit/mem_add helpers 2018-03-11 21:36:50 -04:00
gen_all_header.sh
glib_compat.c memory: Share FlatView's and dispatch trees between address spaces 2018-03-11 22:05:44 -04:00
HACKING
header_gen.py memory: Get rid of address_space_init_shareable 2018-03-11 22:12:38 -04:00
ioport.c
LICENSE
m68k.h memory: Get rid of address_space_init_shareable 2018-03-11 22:12:38 -04:00
Makefile qapi: Don't create useless directory qapi-generated 2018-03-09 11:36:49 -05:00
Makefile.objs qapi: Move qapi-schema.json to qapi/, rename generated files 2018-03-09 11:35:11 -05:00
Makefile.target qapi-gen: New common driver for code and doc generators 2018-03-09 08:47:12 -05:00
memory_ldst.inc.c
memory_mapping.c
memory.c memory: seek FlatView sharing candidates among children subregions 2018-03-11 22:19:55 -04:00
mips64.h memory: Get rid of address_space_init_shareable 2018-03-11 22:12:38 -04:00
mips64el.h memory: Get rid of address_space_init_shareable 2018-03-11 22:12:38 -04:00
mips.h memory: Get rid of address_space_init_shareable 2018-03-11 22:12:38 -04:00
mipsel.h memory: Get rid of address_space_init_shareable 2018-03-11 22:12:38 -04:00
powerpc.h memory: Get rid of address_space_init_shareable 2018-03-11 22:12:38 -04:00
qemu-timer.c
rules.mak build-sys: silence make by default or V=0 2018-03-06 08:58:03 -05:00
softmmu_template.h accel/tcg: add size paremeter in tlb_fill() 2018-03-06 10:56:34 -05:00
sparc64.h memory: Get rid of address_space_init_shareable 2018-03-11 22:12:38 -04:00
sparc.h memory: Get rid of address_space_init_shareable 2018-03-11 22:12:38 -04:00
tcg-runtime-gvec.c tcg: Add generic vector helpers with a scalar operand 2018-03-06 16:10:09 -05:00
tcg-runtime.c exec-all: extract tb->tc_* into a separate struct tc_tb 2018-03-05 02:57:22 -05:00
translate-all.c translate-all: Zero out the TCGContext instance 2018-03-05 15:40:51 -05:00
translate-all.h
translate-common.c
unicorn_common.h memory: Share FlatView's and dispatch trees between address spaces 2018-03-11 22:05:44 -04:00
VERSION
vl.c machine: Eliminate QEMUMachine and qemu_register_machine() 2018-03-11 15:22:25 -04:00
vl.h
x86_64.h memory: Get rid of address_space_init_shareable 2018-03-11 22:12:38 -04:00