On 3/16/24 05:57, Richard Henderson wrote:
> Since we no longer emit plugin helpers during the initial code
> translation phase, we don't need to specially mark plugin helpers.
>
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
> include/tcg/tcg.h | 2 --
> plugins/core.c | 10 ++++------
> tcg/tcg.c | 4 +---
> 3 files changed, 5 insertions(+), 11 deletions(-)
>
> diff --git a/include/tcg/tcg.h b/include/tcg/tcg.h
> index 95a7f4d010..df66e8f012 100644
> --- a/include/tcg/tcg.h
> +++ b/include/tcg/tcg.h
> @@ -353,8 +353,6 @@ typedef TCGv_ptr TCGv_env;
> #define TCG_CALL_NO_SIDE_EFFECTS 0x0004
> /* Helper is G_NORETURN. */
> #define TCG_CALL_NO_RETURN 0x0008
> -/* Helper is part of Plugins. */
> -#define TCG_CALL_PLUGIN 0x0010
>
> /* convenience version of most used call flags */
> #define TCG_CALL_NO_RWG TCG_CALL_NO_READ_GLOBALS
> diff --git a/plugins/core.c b/plugins/core.c
> index b0a2e80874..b0615f1e7f 100644
> --- a/plugins/core.c
> +++ b/plugins/core.c
> @@ -339,9 +339,8 @@ void plugin_register_dyn_cb__udata(GArray **arr,
> void *udata)
> {
> static TCGHelperInfo info[3] = {
> - [QEMU_PLUGIN_CB_NO_REGS].flags = TCG_CALL_NO_RWG | TCG_CALL_PLUGIN,
> - [QEMU_PLUGIN_CB_R_REGS].flags = TCG_CALL_NO_WG | TCG_CALL_PLUGIN,
> - [QEMU_PLUGIN_CB_RW_REGS].flags = TCG_CALL_PLUGIN,
> + [QEMU_PLUGIN_CB_NO_REGS].flags = TCG_CALL_NO_RWG,
> + [QEMU_PLUGIN_CB_R_REGS].flags = TCG_CALL_NO_WG,
> /*
> * Match qemu_plugin_vcpu_udata_cb_t:
> * void (*)(uint32_t, void *)
> @@ -375,9 +374,8 @@ void plugin_register_vcpu_mem_cb(GArray **arr,
> !__builtin_types_compatible_p(qemu_plugin_meminfo_t, int32_t));
>
> static TCGHelperInfo info[3] = {
> - [QEMU_PLUGIN_CB_NO_REGS].flags = TCG_CALL_NO_RWG | TCG_CALL_PLUGIN,
> - [QEMU_PLUGIN_CB_R_REGS].flags = TCG_CALL_NO_WG | TCG_CALL_PLUGIN,
> - [QEMU_PLUGIN_CB_RW_REGS].flags = TCG_CALL_PLUGIN,
> + [QEMU_PLUGIN_CB_NO_REGS].flags = TCG_CALL_NO_RWG,
> + [QEMU_PLUGIN_CB_R_REGS].flags = TCG_CALL_NO_WG,
> /*
> * Match qemu_plugin_vcpu_mem_cb_t:
> * void (*)(uint32_t, qemu_plugin_meminfo_t, uint64_t, void *)
> diff --git a/tcg/tcg.c b/tcg/tcg.c
> index 0bf218314b..363a065e28 100644
> --- a/tcg/tcg.c
> +++ b/tcg/tcg.c
> @@ -2269,9 +2269,7 @@ static void tcg_gen_callN(void *func, TCGHelperInfo *info,
>
> #ifdef CONFIG_PLUGIN
> /* Flag helpers that may affect guest state */
> - if (tcg_ctx->plugin_insn &&
> - !(info->flags & TCG_CALL_PLUGIN) &&
> - !(info->flags & TCG_CALL_NO_SIDE_EFFECTS)) {
> + if (tcg_ctx->plugin_insn && !(info->flags & TCG_CALL_NO_SIDE_EFFECTS)) {
> tcg_ctx->plugin_insn->calls_helpers = true;
> }
> #endif
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>