unicorn/qemu
Paolo Bonzini 1650af8c8b
memory: try to inline constant-length reads
memcpy can take a large amount of time for small reads and writes.
Handle the common case of reading s/g descriptors from memory (there
is no corresponding "write" case that is as common, because writes
often use address_space_st* functions) by inlining the relevant
parts of address_space_read into the caller.

Backports commit 3cc8f884996584630734a90c9b3c535af81e3c92 from qemu
2018-02-17 20:44:39 -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 osdep.h: Move some compiler-specific things to compiler.h 2018-02-17 15:23:28 -05:00
include memory: try to inline constant-length reads 2018-02-17 20:44:39 -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: Fix and improve AA32 singlestep translation completion code 2018-02-17 19:34:52 -05:00
target-i386 target-i386: Add clflushopt/clwb/pcommit to TCG_7_0_EBX_FEATURES 2018-02-17 17:26:53 -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 sparc: allow CASA with ASI 0xa from user space 2018-02-17 19:23:35 -05:00
tcg tcg: Fix highwater check 2018-02-17 18:53:18 -05:00
util oslib-win32: Change return type of function getpagesize 2018-02-17 19:10:37 -05:00
aarch64.h memory: try to inline constant-length reads 2018-02-17 20:44:39 -05:00
aarch64eb.h memory: try to inline constant-length reads 2018-02-17 20:44:39 -05:00
accel.c Automated leading tab to spaces conversion. 2017-01-21 12:28:22 +11:00
arm.h memory: try to inline constant-length reads 2018-02-17 20:44:39 -05:00
armeb.h memory: try to inline constant-length reads 2018-02-17 20:44:39 -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 cpu-exec: Migrate some generic fns to cpu-exec-common 2018-02-17 15:23:51 -05:00
cpu-exec.c cpu-exec: Fix compiler warning (-Werror=clobbered) 2018-02-17 15:24:15 -05:00
cpus.c cpu-exec: Purge all uses of ENV_GET_CPU() 2018-02-17 15:23:18 -05:00
cputlb.c cputlb: Change tlb_set_dirty() arg to cpu 2018-02-17 15:23:52 -05:00
exec.c memory: try to inline constant-length reads 2018-02-17 20:44:39 -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: try to inline constant-length reads 2018-02-17 20:44:39 -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: try to inline constant-length reads 2018-02-17 20:44:39 -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: inline a few small accessors 2018-02-17 20:35:28 -05:00
memory_mapping.c memory_mapping: Rework cpu related includes 2018-02-17 15:23:15 -05:00
mips.h memory: try to inline constant-length reads 2018-02-17 20:44:39 -05:00
mips64.h memory: try to inline constant-length reads 2018-02-17 20:44:39 -05:00
mips64el.h memory: try to inline constant-length reads 2018-02-17 20:44:39 -05:00
mipsel.h memory: try to inline constant-length reads 2018-02-17 20:44:39 -05:00
powerpc.h memory: try to inline constant-length reads 2018-02-17 20:44:39 -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 softmmu: remove now unused functions 2018-02-17 15:23:38 -05:00
sparc.h memory: try to inline constant-length reads 2018-02-17 20:44:39 -05:00
sparc64.h memory: try to inline constant-length reads 2018-02-17 20:44:39 -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: try to inline constant-length reads 2018-02-17 20:44:39 -05:00