diff mbox series

[13/22] tcg: Remove TCG_CALL_PLUGIN

Message ID 20240316015720.3661236-14-richard.henderson@linaro.org
State Superseded
Headers show
Series plugins: Rewrite plugin code generation | expand

Commit Message

Richard Henderson March 16, 2024, 1:57 a.m. UTC
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(-)

Comments

Pierrick Bouvier March 19, 2024, 1:06 p.m. UTC | #1
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>
diff mbox series

Patch

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