summaryrefslogtreecommitdiffstats
path: root/include/exec
diff options
context:
space:
mode:
authorEmilio G. Cota2018-12-08 02:53:09 +0100
committerAlex Bennée2019-10-28 16:12:38 +0100
commit763f7e12090fa8a4f4d1902a51c7d5ac7c454090 (patch)
treeb8dca91a14eec8b773ede128660684e971f8c22e /include/exec
parentcpu: hook plugin vcpu events (diff)
downloadqemu-763f7e12090fa8a4f4d1902a51c7d5ac7c454090.tar.gz
qemu-763f7e12090fa8a4f4d1902a51c7d5ac7c454090.tar.xz
qemu-763f7e12090fa8a4f4d1902a51c7d5ac7c454090.zip
plugin-gen: add plugin_insn_append
By adding it to plugin-gen's header file, we can export is as an inline, since tcg.h is included in the header (we need tcg_ctx). Signed-off-by: Emilio G. Cota <cota@braap.org> [AJB: use g_byte_array] Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'include/exec')
-rw-r--r--include/exec/plugin-gen.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/include/exec/plugin-gen.h b/include/exec/plugin-gen.h
index de519883b1..4834a9e2f4 100644
--- a/include/exec/plugin-gen.h
+++ b/include/exec/plugin-gen.h
@@ -27,6 +27,17 @@ void plugin_gen_insn_end(void);
void plugin_gen_disable_mem_helpers(void);
void plugin_gen_empty_mem_callback(TCGv addr, uint32_t info);
+static inline void plugin_insn_append(const void *from, size_t size)
+{
+ struct qemu_plugin_insn *insn = tcg_ctx->plugin_insn;
+
+ if (insn == NULL) {
+ return;
+ }
+
+ insn->data = g_byte_array_append(insn->data, from, size);
+}
+
#else /* !CONFIG_PLUGIN */
static inline
@@ -51,6 +62,9 @@ static inline void plugin_gen_disable_mem_helpers(void)
static inline void plugin_gen_empty_mem_callback(TCGv addr, uint32_t info)
{ }
+static inline void plugin_insn_append(const void *from, size_t size)
+{ }
+
#endif /* CONFIG_PLUGIN */
#endif /* QEMU_PLUGIN_GEN_H */