diff --git a/plugins/core.c b/plugins/core.c index 8f8bc7219c..b4b783008f 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); } /*