unicorn/qemu
Peter Maydell 3f5e36e15f
qemu-log: Improve the exec TB execution logging
Improve the TB execution logging so that it is easier to identify
what is happening from trace logs:
* move the "Trace" logging of executed TBs into cpu_tb_exec()
so that it is emitted if and only if we actually execute a TB,
and for consistency for the CPU state logging
* log when we link two TBs together via tb_add_jump()
* log when cpu_tb_exec() returns early from a chain of TBs

The new style logging looks like this:

Trace 0x7fb7cc822ca0 [ffffffc0000dce00]
Linking TBs 0x7fb7cc822ca0 [ffffffc0000dce00] index 0 -> 0x7fb7cc823110 [ffffffc0000dce10]
Trace 0x7fb7cc823110 [ffffffc0000dce10]
Trace 0x7fb7cc823420 [ffffffc000302688]
Trace 0x7fb7cc8234a0 [ffffffc000302698]
Trace 0x7fb7cc823520 [ffffffc0003026a4]
Trace 0x7fb7cc823560 [ffffffc0000dce44]
Linking TBs 0x7fb7cc823560 [ffffffc0000dce44] index 1 -> 0x7fb7cc8235d0 [ffffffc0000dce70]
Trace 0x7fb7cc8235d0 [ffffffc0000dce70]
Stopped execution of TB chain before 0x7fb7cc8235d0 [ffffffc0000dce70]
Trace 0x7fb7cc8235d0 [ffffffc0000dce70]
Trace 0x7fb7cc822fd0 [ffffffc0000dd52c]

Backports commit 1a830635229e14c403600167823ea6b3b79d3097 from qemu
2018-02-22 09:40:11 -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 util: move declarations out of qemu-common.h 2018-02-22 09:25:48 -05:00
include qemu-log: Improve the exec TB execution logging 2018-02-22 09:40:11 -05:00
qapi include/qemu/osdep.h: Don't include qapi/error.h 2018-02-21 23:08:18 -05:00
qobject util: move declarations out of qemu-common.h 2018-02-22 09:25:48 -05:00
qom util: move declarations out of qemu-common.h 2018-02-22 09:25:48 -05:00
scripts include/qemu/osdep.h: Don't include qapi/error.h 2018-02-21 23:08:18 -05:00
target-arm Replaced get_tick_per_sec() by NANOSECONDS_PER_SECOND 2018-02-21 23:21:36 -05:00
target-i386 util: move declarations out of qemu-common.h 2018-02-22 09:25:48 -05:00
target-m68k include/qemu/osdep.h: Don't include qapi/error.h 2018-02-21 23:08:18 -05:00
target-mips include/qemu/osdep.h: Don't include qapi/error.h 2018-02-21 23:08:18 -05:00
target-sparc include/qemu/osdep.h: Don't include qapi/error.h 2018-02-21 23:08:18 -05:00
tcg tcg: pass down TranslationBlock to tcg_code_gen 2018-02-22 09:28:06 -05:00
util util: move declarations out of qemu-common.h 2018-02-22 09:25:48 -05:00
aarch64.h utils: rename strtosz to use qemu prefix 2018-02-22 00:17:52 -05:00
aarch64eb.h utils: rename strtosz to use qemu prefix 2018-02-22 00:17:52 -05:00
accel.c all: Clean up includes 2018-02-19 01:34:28 -05:00
arm.h utils: rename strtosz to use qemu prefix 2018-02-22 00:17:52 -05:00
armeb.h utils: rename strtosz to use qemu prefix 2018-02-22 00:17:52 -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 qemu-log: Improve the exec TB execution logging 2018-02-22 09:40:11 -05:00
cpus.c exec: Clean up includes 2018-02-19 00:49:55 -05:00
cputlb.c memory: Drop MemoryRegion.ram_addr 2018-02-21 08:53:08 -05:00
exec.c util: move declarations out of qemu-common.h 2018-02-22 09:25:48 -05:00
gen_all_header.sh arm64eb: add support for ARM64 big endian. 2017-04-24 23:30:01 +08:00
glib_compat.c glib_compat: backport hashtable iterator interfaces 2018-02-21 13:18:44 -05:00
HACKING import 2015-08-21 15:04:50 +08:00
header_gen.py utils: rename strtosz to use qemu prefix 2018-02-22 00:17:52 -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 utils: rename strtosz to use qemu prefix 2018-02-22 00:17:52 -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 include/qemu/osdep.h: Don't include qapi/error.h 2018-02-21 23:08:18 -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 utils: rename strtosz to use qemu prefix 2018-02-22 00:17:52 -05:00
mips64.h utils: rename strtosz to use qemu prefix 2018-02-22 00:17:52 -05:00
mips64el.h utils: rename strtosz to use qemu prefix 2018-02-22 00:17:52 -05:00
mipsel.h utils: rename strtosz to use qemu prefix 2018-02-22 00:17:52 -05:00
powerpc.h utils: rename strtosz to use qemu prefix 2018-02-22 00:17:52 -05:00
qapi-schema.json qapi: Lazy creation of array types 2018-02-19 18:55:35 -05:00
qemu-log.c qemu-log: Avoid function call for disabled qemu_log_mask logging 2018-02-22 09:32:48 -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 utils: rename strtosz to use qemu prefix 2018-02-22 00:17:52 -05:00
sparc64.h utils: rename strtosz to use qemu prefix 2018-02-22 00:17:52 -05:00
tcg-runtime.c all: Clean up includes 2018-02-19 01:34:28 -05:00
translate-all.c tcg: pass down TranslationBlock to tcg_code_gen 2018-02-22 09:28:06 -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 util: move declarations out of qemu-common.h 2018-02-22 09:25:48 -05:00
vl.h import 2015-08-21 15:04:50 +08:00
x86_64.h utils: rename strtosz to use qemu prefix 2018-02-22 00:17:52 -05:00