Lines Matching full:plugin

2  * QEMU Plugin Core Loader Code
6 * generated code is flushed when we remove a plugin so we cannot end
30 #include "qemu/plugin.h"
35 #include "plugin.h"
38 * For convenience we use a bitmap for plugin.mask, but really all we need is a
56 .name = "plugin",
67 extern struct qemu_plugin_state plugin;
74 inserted = qht_insert(&plugin.dyn_cb_arr_ht, arr, hash, NULL); in qemu_plugin_add_dyn_cb_arr()
100 printf("Plugin options\n"); in plugin_add()
101 printf(" file=<path/to/plugin.so>\n"); in plugin_add()
102 printf(" plugin specific arguments\n"); in plugin_add()
118 error_setg(errp, "missing earlier '-plugin file=' option"); in plugin_add()
150 opts = qemu_opts_parse_noisily(qemu_find_opts("plugin"), optstr, true); in qemu_plugin_opt_parse()
192 error_setg(errp, "Could not load plugin %s: %s", desc->path, g_module_error()); in plugin_load()
197 error_setg(errp, "Could not load plugin %s: %s", desc->path, g_module_error()); in plugin_load()
203 error_setg(errp, "Could not load plugin %s: qemu_plugin_install is NULL", in plugin_load()
209 error_setg(errp, "Could not load plugin %s: plugin does not declare API version %s", in plugin_load()
215 error_setg(errp, "Could not load plugin %s: plugin requires API version %d, but " in plugin_load()
220 error_setg(errp, "Could not load plugin %s: plugin requires API version %d, but " in plugin_load()
227 qemu_rec_mutex_lock(&plugin.lock); in plugin_load()
235 existing = g_hash_table_lookup(plugin.id_ht, &ctx->id); in plugin_load()
239 success = g_hash_table_insert(plugin.id_ht, &ctx->id, &ctx->id); in plugin_load()
244 QTAILQ_INSERT_TAIL(&plugin.ctxs, ctx, entry); in plugin_load()
249 error_setg(errp, "Could not load plugin %s: qemu_plugin_install returned error code %d", in plugin_load()
252 * we cannot rely on the plugin doing its own cleanup, so in plugin_load()
253 * call a full uninstall if the plugin did not yet call it. in plugin_load()
260 qemu_rec_mutex_unlock(&plugin.lock); in plugin_load()
289 * Note: the descriptor of each successfully installed plugin is removed
348 /* we cannot dlclose if we are going to return to plugin code */ in plugin_reset_destroy__locked()
355 success = g_hash_table_remove(plugin.id_ht, &ctx->id); in plugin_reset_destroy__locked()
357 QTAILQ_REMOVE(&plugin.ctxs, ctx, entry); in plugin_reset_destroy__locked()
371 qemu_rec_mutex_lock(&plugin.lock); in plugin_reset_destroy()
373 qemu_rec_mutex_unlock(&plugin.lock); in plugin_reset_destroy()
392 WITH_QEMU_LOCK_GUARD(&plugin.lock) { in plugin_reset_uninstall()