It is internal to TCG and therefore we know it does not access guest memory.
Related: #1381 Signed-off-by: Emilio Cota <c...@braap.org> --- tcg/tcg.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tcg/tcg.c b/tcg/tcg.c index da91779890..ee67eefc0c 100644 --- a/tcg/tcg.c +++ b/tcg/tcg.c @@ -1652,8 +1652,10 @@ void tcg_gen_callN(void *func, TCGTemp *ret, int nargs, TCGTemp **args) op = tcg_op_alloc(INDEX_op_call, total_args); #ifdef CONFIG_PLUGIN - /* detect non-plugin helpers */ - if (tcg_ctx->plugin_insn && unlikely(strncmp(info->name, "plugin_", 7))) { + /* flag helpers that are not internal to TCG */ + if (tcg_ctx->plugin_insn && + strncmp(info->name, "plugin_", 7) && + strcmp(info->name, "lookup_tb_ptr")) { tcg_ctx->plugin_insn->calls_helpers = true; } #endif -- 2.34.1