Hi Alex,

November 28, 2025 at 7:21 PM, "Alex Bennée" wrote:
> We have protections that prevent callbacks that didn't declare
> themselves as wanting to access registers. However for discontinuities
> the system state is fully rectified so they should always be able to
> read the register values.
> 
> a1688bc86ce (plugins: add hooks for new discontinuity related callbacks)
> Signed-off-by: Alex Bennée <[email protected]>
> Cc: Julian Ganz <[email protected]>
> ---
>  plugins/core.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/plugins/core.c b/plugins/core.c
> index 8f8bc7219c2..b4b783008f7 100644
> --- a/plugins/core.c
> +++ b/plugins/core.c
> @@ -119,6 +119,7 @@ static void plugin_vcpu_cb__discon(CPUState *cpu,
>  struct qemu_plugin_cb *cb, *next;
>  uint64_t to = cpu->cc->get_pc(cpu);
>  
> + qemu_plugin_set_cb_flags(cpu, QEMU_PLUGIN_CB_RW_REGS);
>  if (cpu->cpu_index < plugin.num_vcpus) {
>  /* iterate safely; plugins might uninstall themselves at any time */
>  QLIST_FOREACH_SAFE_RCU(cb, &plugin.cb_lists[ev], entry, next) {
> @@ -127,6 +128,7 @@ static void plugin_vcpu_cb__discon(CPUState *cpu,
>  func(cb->ctx->id, cpu->cpu_index, type, from, to);
>  }
>  }
> + qemu_plugin_set_cb_flags(cpu, QEMU_PLUGIN_CB_NO_REGS);
>  }

Yes, we definitely want this.

Reviewed-by: Julian Ganz <[email protected]>

Regards,
Julian

Reply via email to