diff options
author | Pierrick Bouvier <pierrick.bouvier@linaro.org> | 2024-02-27 14:43:21 +0000 |
---|---|---|
committer | Alex Bennée <alex.bennee@linaro.org> | 2024-02-28 09:11:34 +0000 |
commit | 926e146eff8d7b89754e8b681f80e962d220f077 (patch) | |
tree | 14648d323c3bbb6cfd6d31ba700a89b81f6f7009 | |
parent | eb37086fb0282a9a4f01ecbb618761d4853efc8c (diff) | |
download | qemu-926e146eff8d7b89754e8b681f80e962d220f077.zip qemu-926e146eff8d7b89754e8b681f80e962d220f077.tar.gz qemu-926e146eff8d7b89754e8b681f80e962d220f077.tar.bz2 |
plugins: remove previous n_vcpus functions from API
This information is already accessible using qemu_info_t during plugin
install.
We will introduce another function (qemu_plugin_num_vcpus) which
represent how many cpus were enabled, by tracking new cpu indexes.
It's a breaking change, so we bump API version.
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20240213094009.150349-2-pierrick.bouvier@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240227144335.1196131-16-alex.bennee@linaro.org>
-rw-r--r-- | contrib/plugins/cache.c | 2 | ||||
-rw-r--r-- | include/qemu/qemu-plugin.h | 10 | ||||
-rw-r--r-- | plugins/api.c | 30 | ||||
-rw-r--r-- | plugins/plugin.h | 2 | ||||
-rw-r--r-- | plugins/qemu-plugins.symbols | 2 |
5 files changed, 5 insertions, 41 deletions
diff --git a/contrib/plugins/cache.c b/contrib/plugins/cache.c index 9e7ade3..c5c8ac7 100644 --- a/contrib/plugins/cache.c +++ b/contrib/plugins/cache.c @@ -767,7 +767,7 @@ int qemu_plugin_install(qemu_plugin_id_t id, const qemu_info_t *info, policy = LRU; - cores = sys ? qemu_plugin_n_vcpus() : 1; + cores = sys ? info->system.smp_vcpus : 1; for (i = 0; i < argc; i++) { char *opt = argv[i]; diff --git a/include/qemu/qemu-plugin.h b/include/qemu/qemu-plugin.h index 4daab6e..e45181c 100644 --- a/include/qemu/qemu-plugin.h +++ b/include/qemu/qemu-plugin.h @@ -50,11 +50,13 @@ typedef uint64_t qemu_plugin_id_t; * * The plugins export the API they were built against by exposing the * symbol qemu_plugin_version which can be checked. + * + * version 2: removed qemu_plugin_n_vcpus and qemu_plugin_n_max_vcpus */ extern QEMU_PLUGIN_EXPORT int qemu_plugin_version; -#define QEMU_PLUGIN_VERSION 1 +#define QEMU_PLUGIN_VERSION 2 /** * struct qemu_info_t - system information for plugins @@ -643,12 +645,6 @@ QEMU_PLUGIN_API void qemu_plugin_register_atexit_cb(qemu_plugin_id_t id, qemu_plugin_udata_cb_t cb, void *userdata); -/* returns -1 in user-mode */ -int qemu_plugin_n_vcpus(void); - -/* returns -1 in user-mode */ -int qemu_plugin_n_max_vcpus(void); - /** * qemu_plugin_outs() - output string via QEMU's logging system * @string: a string diff --git a/plugins/api.c b/plugins/api.c index 5521b0a..2926b19 100644 --- a/plugins/api.c +++ b/plugins/api.c @@ -343,36 +343,6 @@ const char *qemu_plugin_hwaddr_device_name(const struct qemu_plugin_hwaddr *h) } /* - * Queries to the number and potential maximum number of vCPUs there - * will be. This helps the plugin dimension per-vcpu arrays. - */ - -#ifndef CONFIG_USER_ONLY -static MachineState * get_ms(void) -{ - return MACHINE(qdev_get_machine()); -} -#endif - -int qemu_plugin_n_vcpus(void) -{ -#ifdef CONFIG_USER_ONLY - return -1; -#else - return get_ms()->smp.cpus; -#endif -} - -int qemu_plugin_n_max_vcpus(void) -{ -#ifdef CONFIG_USER_ONLY - return -1; -#else - return get_ms()->smp.max_cpus; -#endif -} - -/* * Plugin output */ void qemu_plugin_outs(const char *string) diff --git a/plugins/plugin.h b/plugins/plugin.h index 5eb2fdb..90f3f32 100644 --- a/plugins/plugin.h +++ b/plugins/plugin.h @@ -15,7 +15,7 @@ #include <gmodule.h> #include "qemu/qht.h" -#define QEMU_PLUGIN_MIN_VERSION 0 +#define QEMU_PLUGIN_MIN_VERSION 2 /* global state */ struct qemu_plugin_state { diff --git a/plugins/qemu-plugins.symbols b/plugins/qemu-plugins.symbols index 71f6c90..ca80600 100644 --- a/plugins/qemu-plugins.symbols +++ b/plugins/qemu-plugins.symbols @@ -16,8 +16,6 @@ qemu_plugin_mem_is_sign_extended; qemu_plugin_mem_is_store; qemu_plugin_mem_size_shift; - qemu_plugin_n_max_vcpus; - qemu_plugin_n_vcpus; qemu_plugin_outs; qemu_plugin_path_to_binary; qemu_plugin_register_atexit_cb; |