qemu/linux-user
Peter Maydell 68d8ef4ec5 TCG Plugins initial implementation
- use --enable-plugins @ configure
   - low impact introspection (-plugin empty.so to measure overhead)
   - plugins cannot alter guest state
   - example plugins included in source tree (tests/plugins)
   - -d plugin to enable plugin output in logs
   - check-tcg runs extra tests when plugins enabled
   - documentation in docs/devel/plugins.rst
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEEZoWumedRZ7yvyN81+9DbCVqeKkQFAl23BZMACgkQ+9DbCVqe
 KkRPegf/QHygZ4ER2jOaWEookxiOEcik+dzQKVGNqLNXeMLvo5fGjGVpFoFxSgfv
 ZvCAL4xbW44zsYlVfh59tfn4Tu9qK7s7/qM3WXpHsmuvEuhoWef0Lt2jSe+D46Rs
 KeG/aX+rHLUR8rr9eCgE+1/MQmxPUj3VUonkUpNkk2ebBbSNoLSOudB4DD9Vcyl7
 Pya1kPvA6W9bwI20ZSWihE7flg13o62Pp+LgAFLrsfxXOxOMkPrU8Pp+B0Dvr+hL
 5Oh0clZLhiRi75x+KVGZ90TVsoftdjYoOWGMOudS/+NNmqKT1NTLm0K1WJYyRMQ1
 V0ne4/OcGNq7x8gcOx/xs09ADu5/VA==
 =UXR/
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/stsquad/tags/pull-tcg-plugins-281019-4' into staging

TCG Plugins initial implementation

  - use --enable-plugins @ configure
  - low impact introspection (-plugin empty.so to measure overhead)
  - plugins cannot alter guest state
  - example plugins included in source tree (tests/plugins)
  - -d plugin to enable plugin output in logs
  - check-tcg runs extra tests when plugins enabled
  - documentation in docs/devel/plugins.rst

# gpg: Signature made Mon 28 Oct 2019 15:13:23 GMT
# gpg:                using RSA key 6685AE99E75167BCAFC8DF35FBD0DB095A9E2A44
# gpg: Good signature from "Alex Bennée (Master Work Key) <alex.bennee@linaro.org>" [full]
# Primary key fingerprint: 6685 AE99 E751 67BC AFC8  DF35 FBD0 DB09 5A9E 2A44

* remotes/stsquad/tags/pull-tcg-plugins-281019-4: (57 commits)
  travis.yml: enable linux-gcc-debug-tcg cache
  MAINTAINERS: add me for the TCG plugins code
  scripts/checkpatch.pl: don't complain about (foo, /* empty */)
  .travis.yml: add --enable-plugins tests
  include/exec: wrap cpu_ldst.h in CONFIG_TCG
  accel/stubs: reduce headers from tcg-stub
  tests/plugin: add hotpages to analyse memory access patterns
  tests/plugin: add instruction execution breakdown
  tests/plugin: add a hotblocks plugin
  tests/tcg: enable plugin testing
  tests/tcg: drop test-i386-fprem from TESTS when not SLOW
  tests/tcg: move "virtual" tests to EXTRA_TESTS
  tests/tcg: set QEMU_OPTS for all cris runs
  tests/tcg/Makefile.target: fix path to config-host.mak
  tests/plugin: add sample plugins
  linux-user: support -plugin option
  vl: support -plugin option
  plugin: add qemu_plugin_outs helper
  plugin: add qemu_plugin_insn_disas helper
  plugin: expand the plugin_init function to include an info block
  ...

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2019-10-30 14:10:32 +00:00
..
aarch64 linux-user/aarch64: Rebuild hflags for TARGET_WORDS_BIGENDIAN 2019-10-24 17:16:28 +01:00
alpha Supply missing header guards 2019-06-12 13:20:21 +02:00
arm linux-user/arm: Rebuild hflags for TARGET_WORDS_BIGENDIAN 2019-10-24 17:16:28 +01:00
cris Supply missing header guards 2019-06-12 13:20:21 +02:00
generic linux-user: Introduce TARGET_HAVE_ARCH_STRUCT_FLOCK 2019-07-02 16:56:46 +02:00
host linux-user: Add safe_syscall for riscv64 host 2018-12-26 06:40:02 +11:00
hppa linux-user: Make sigaltstack stacks per-thread 2019-07-26 19:24:33 +02:00
i386 Supply missing header guards 2019-06-12 13:20:21 +02:00
m68k linux-user/m68k: remove simulator syscall interface 2019-06-26 17:14:41 +02:00
microblaze Supply missing header guards 2019-06-12 13:20:21 +02:00
mips target/mips: rationalise softfloat includes 2019-08-19 12:07:13 +01:00
mips64 Supply missing header guards 2019-06-12 13:20:21 +02:00
nios2 Supply missing header guards 2019-06-12 13:20:21 +02:00
openrisc target/openrisc: Add support for ORFPX64A32 2019-09-04 12:53:33 -07:00
ppc target/ppc: fix signal delivery for ppc64abi32 2019-09-26 19:00:53 +01:00
riscv linux-user/riscv: Propagate fault address 2019-10-28 07:47:27 -07:00
s390x Supply missing header guards 2019-06-12 13:20:21 +02:00
sh4 Supply missing header guards 2019-06-12 13:20:21 +02:00
sparc Supply missing header guards 2019-06-12 13:20:21 +02:00
sparc64 Supply missing header guards 2019-06-12 13:20:21 +02:00
tilegx Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
x86_64 Supply missing header guards 2019-06-12 13:20:21 +02:00
xtensa target/xtensa: linux-user: add call0 ABI support 2019-09-11 08:47:06 +02:00
Makefile.objs linux-user/m68k: remove simulator syscall interface 2019-06-26 17:14:41 +02:00
cpu_loop-common.h cpu: Replace ENV_GET_CPU with env_cpu 2019-06-10 07:03:34 -07:00
elfload.c linux-user: Support gdb 'qOffsets' query for ELF 2019-09-11 08:46:52 +02:00
errno_defs.h Supply missing header guards 2019-06-12 13:20:21 +02:00
exit.c *-user: notify plugin of exit 2019-10-28 15:12:38 +00:00
fd-trans.c Fix unsigned integer underflow in fd-trans.c 2019-10-21 11:34:18 +02:00
fd-trans.h linux-user: move TargetFdTrans functions to their own file 2018-09-25 22:36:47 +02:00
flat.h Supply missing header guards 2019-06-12 13:20:21 +02:00
flatload.c linux-user/flatload: fix initial stack pointer alignment 2018-10-30 11:23:32 -07:00
ioctls.h linux-user: Add support for FDRESET, FDRAWCMD, FDTWADDLE, and FDEJECT ioctls 2019-09-11 08:47:06 +02:00
linux_loop.h linux-user: Add loop control ioctls 2016-07-19 15:22:33 +03:00
linuxload.c avoid TABs in files that only contain a few 2019-01-11 15:46:56 +01:00
main.c linux-user: support -plugin option 2019-10-28 15:12:38 +00:00
mmap.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
qemu.h Include qemu/queue.h slightly less 2019-08-16 13:31:52 +02:00
safe-syscall.S linux-user: Provide safe_syscall for fixing races between signals and syscalls 2016-05-27 14:49:51 +03:00
signal-common.h linux-user: Make sigaltstack stacks per-thread 2019-07-26 19:24:33 +02:00
signal.c linux-user: Make sigaltstack stacks per-thread 2019-07-26 19:24:33 +02:00
socket.h Supply missing header guards 2019-06-12 13:20:21 +02:00
strace.c linux-user/strace: Let print_sockaddr() have a 'last' argument 2019-10-21 15:37:04 +02:00
strace.list linux-user/strace: Improve bind() output 2019-10-21 15:37:04 +02:00
syscall.c *-user: plugin syscalls 2019-10-28 15:12:38 +00:00
syscall_defs.h linux-user/syscall: Align target_sockaddr fields using ABI types 2019-10-21 15:37:04 +02:00
syscall_types.h linux-user: fix to handle variably sized SIOCGSTAMP with new kernels 2019-07-19 09:33:55 +02:00
target_flat.h Supply missing header guards 2019-06-12 13:20:21 +02:00
trace-events trace-events: Fix attribution of trace points to source 2019-03-22 16:18:07 +00:00
uaccess.c avoid TABs in files that only contain a few 2019-01-11 15:46:56 +01:00
uname.c cpu: Replace ENV_GET_CPU with env_cpu 2019-06-10 07:03:34 -07:00
uname.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
vm86.c target/i386: Use env_cpu, env_archcpu 2019-06-10 07:03:42 -07:00