]> git.proxmox.com Git - mirror_qemu.git/commit - accel/tcg/plugin-gen.c
plugins: try and make plugin_insn_append more ergonomic
authorAlex Bennée <alex.bennee@linaro.org>
Tue, 26 Oct 2021 10:22:26 +0000 (11:22 +0100)
committerAlex Bennée <alex.bennee@linaro.org>
Thu, 4 Nov 2021 10:32:01 +0000 (10:32 +0000)
commit357af9be5ca47ae8ac2bc439de4bb9a39e186fd4
tree763bcbb19526f9542e9a28568713594ceb1e95ba
parente83f79b3faee1316a243b05bb768840d21cec6f4
plugins: try and make plugin_insn_append more ergonomic

Currently we make the assumption that the guest frontend loads all
op code bytes sequentially. This mostly holds up for regular fixed
encodings but some architectures like s390x like to re-read the
instruction which causes weirdness to occur. Rather than changing the
frontends make the plugin API a little more ergonomic and able to
handle the re-read case.

Stuff will still get strange if we read ahead of the opcode but so far
no front ends have done that and this patch asserts the case so we can
catch it early if they do.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Suggested-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20211026102234.3961636-21-alex.bennee@linaro.org>
accel/tcg/plugin-gen.c
accel/tcg/translator.c
include/exec/plugin-gen.h
include/qemu/plugin.h