mirror of
https://github.com/qemu/qemu.git
synced 2026-07-08 17:46:17 +00:00
plugins: remove qemu_plugin_id_t from qemu_plugin_udata_cb_t
We can now rely on userdata being always available to pass down this id if needed. In our plugins, only tests/tcg/plugins/reset.c was using it. Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org> Link: https://lore.kernel.org/qemu-devel/20260615193526.2883349-6-pierrick.bouvier@oss.qualcomm.com Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>
This commit is contained in:
@@ -28,7 +28,7 @@ static char *filename;
|
||||
static struct qemu_plugin_scoreboard *vcpus;
|
||||
static uint64_t interval = 100000000;
|
||||
|
||||
static void plugin_exit(qemu_plugin_id_t id, void *p)
|
||||
static void plugin_exit(void *p)
|
||||
{
|
||||
Vcpu *vcpu;
|
||||
|
||||
|
||||
@@ -694,7 +694,7 @@ finish:
|
||||
g_list_free(miss_insns);
|
||||
}
|
||||
|
||||
static void plugin_exit(qemu_plugin_id_t id, void *p)
|
||||
static void plugin_exit(void *p)
|
||||
{
|
||||
log_stats();
|
||||
log_top_insns();
|
||||
|
||||
@@ -134,7 +134,7 @@ static gboolean filter_non_branches(gpointer key, gpointer value,
|
||||
return node->dest_count == 0;
|
||||
}
|
||||
|
||||
static void plugin_exit(qemu_plugin_id_t id, void *p)
|
||||
static void plugin_exit(void *p)
|
||||
{
|
||||
g_autoptr(GString) result = g_string_new("collected ");
|
||||
GList *data;
|
||||
|
||||
@@ -86,7 +86,7 @@ static void count_block(gpointer data, gpointer user_data)
|
||||
}
|
||||
}
|
||||
|
||||
static void plugin_exit(qemu_plugin_id_t id, void *p)
|
||||
static void plugin_exit(void *p)
|
||||
{
|
||||
unsigned long count = 0;
|
||||
g_mutex_lock(&lock);
|
||||
|
||||
@@ -400,7 +400,7 @@ static void vcpu_init(qemu_plugin_id_t id, unsigned int vcpu_index)
|
||||
/**
|
||||
* On plugin exit, print last instruction in cache
|
||||
*/
|
||||
static void plugin_exit(qemu_plugin_id_t id, void *p)
|
||||
static void plugin_exit(void *p)
|
||||
{
|
||||
guint i;
|
||||
g_rw_lock_reader_lock(&expand_array_lock);
|
||||
|
||||
@@ -70,7 +70,7 @@ static void exec_count_free(gpointer key, gpointer value, gpointer user_data)
|
||||
qemu_plugin_scoreboard_free(cnt->exec_count);
|
||||
}
|
||||
|
||||
static void plugin_exit(qemu_plugin_id_t id, void *p)
|
||||
static void plugin_exit(void *p)
|
||||
{
|
||||
g_autoptr(GString) report = g_string_new("collected ");
|
||||
GList *counts, *sorted_counts, *it;
|
||||
|
||||
@@ -73,7 +73,7 @@ static gint cmp_access_count(gconstpointer a, gconstpointer b, gpointer d)
|
||||
}
|
||||
|
||||
|
||||
static void plugin_exit(qemu_plugin_id_t id, void *p)
|
||||
static void plugin_exit(void *p)
|
||||
{
|
||||
g_autoptr(GString) report = g_string_new("Addr, RCPUs, Reads, WCPUs, Writes\n");
|
||||
int i;
|
||||
|
||||
@@ -172,7 +172,7 @@ static void free_record(gpointer data)
|
||||
g_free(rec);
|
||||
}
|
||||
|
||||
static void plugin_exit(qemu_plugin_id_t id, void *p)
|
||||
static void plugin_exit(void *p)
|
||||
{
|
||||
g_autoptr(GString) report = g_string_new("Instruction Classes:\n");
|
||||
int i;
|
||||
|
||||
@@ -106,7 +106,7 @@ static void fmt_dev_record(GString *s, DeviceCounts *rec)
|
||||
g_string_append_c(s, '\n');
|
||||
}
|
||||
|
||||
static void plugin_exit(qemu_plugin_id_t id, void *p)
|
||||
static void plugin_exit(void *p)
|
||||
{
|
||||
g_autoptr(GString) report = g_string_new("");
|
||||
GList *counts;
|
||||
|
||||
@@ -124,7 +124,7 @@ static void vcpu_tb_trans(qemu_plugin_id_t id, struct qemu_plugin_tb *tb)
|
||||
quantum_insn, max_insn_per_quantum, NULL);
|
||||
}
|
||||
|
||||
static void plugin_exit(qemu_plugin_id_t id, void *udata)
|
||||
static void plugin_exit(void *udata)
|
||||
{
|
||||
qemu_plugin_scoreboard_free(vcpus);
|
||||
}
|
||||
|
||||
@@ -77,7 +77,7 @@ static char *path_to_unlink;
|
||||
|
||||
static bool verbose;
|
||||
|
||||
static void plugin_cleanup(qemu_plugin_id_t id, void *userdata)
|
||||
static void plugin_cleanup(void *userdata)
|
||||
{
|
||||
/* Free our block data */
|
||||
g_slist_free_full(blocks, &g_free);
|
||||
@@ -90,7 +90,7 @@ static void plugin_cleanup(qemu_plugin_id_t id, void *userdata)
|
||||
}
|
||||
}
|
||||
|
||||
static void plugin_exit(qemu_plugin_id_t id, void *p)
|
||||
static void plugin_exit(void *p)
|
||||
{
|
||||
g_autoptr(GString) out = g_string_new("No divergence :-)\n");
|
||||
g_string_append_printf(out, "Executed %ld/%d blocks\n",
|
||||
@@ -98,7 +98,7 @@ static void plugin_exit(qemu_plugin_id_t id, void *p)
|
||||
g_string_append_printf(out, "Executed ~%ld instructions\n", insn_count);
|
||||
qemu_plugin_outs(out->str);
|
||||
|
||||
plugin_cleanup(id, NULL);
|
||||
plugin_cleanup(NULL);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -393,6 +393,6 @@ QEMU_PLUGIN_EXPORT int qemu_plugin_install(qemu_plugin_id_t id,
|
||||
our_id = id;
|
||||
|
||||
qemu_plugin_register_vcpu_tb_trans_cb(id, vcpu_tb_trans);
|
||||
qemu_plugin_register_atexit_cb(id, plugin_exit, NULL);
|
||||
qemu_plugin_register_atexit_cb(id, plugin_exit, (void *)id);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -93,7 +93,7 @@ static void vcpu_tb_trans(qemu_plugin_id_t id, struct qemu_plugin_tb *tb)
|
||||
}
|
||||
}
|
||||
|
||||
static void plugin_exit(qemu_plugin_id_t id, void *p)
|
||||
static void plugin_exit(void *p)
|
||||
{
|
||||
g_hash_table_destroy(addrs_ht);
|
||||
qemu_plugin_scoreboard_free(insn_count_sb);
|
||||
|
||||
@@ -44,7 +44,7 @@ static void vcpu_discon(qemu_plugin_id_t id, unsigned int vcpu_index,
|
||||
}
|
||||
}
|
||||
|
||||
static void plugin_exit(qemu_plugin_id_t id, void *p)
|
||||
static void plugin_exit(void *p)
|
||||
{
|
||||
g_autoptr(GString) report;
|
||||
report = g_string_new("VCPU, interrupts, exceptions, hostcalls\n");
|
||||
|
||||
@@ -928,7 +928,7 @@ static void vcpu_end(unsigned int vcpu_index)
|
||||
memset(cpu, 0, sizeof(Cpu));
|
||||
}
|
||||
|
||||
static void at_exit(qemu_plugin_id_t id, void *data)
|
||||
static void at_exit(void *data)
|
||||
{
|
||||
bool system_emulation = (bool) data;
|
||||
g_autoptr(GArray) traces = g_array_new(0, 0, sizeof(Trace *));
|
||||
|
||||
Reference in New Issue
Block a user