V2-V3 Split following patches out V1-V2 1. Fixes review comments 2. Increase QEMU_PLUGIN_VERSION to 1 for compat QEMU_PLUGIN_VERSION 0 3. Revise the loader to support for version 0 and 1 4. By export function qemu_plugin_initialize in plugin, and call it in loader= , so we have no need call it in every plugin. And also provide a standard implem= entation, anyway, use can also override it.
Add this feature on msys2/mingw by using glib provided cross-platform dlsym f= unctional. Yonggang Luo (6): plugins: Fixes a issue when dlsym failed, the handle not closed plugin: Fixes compiling errors on msys2/mingw cirrus: Enable plugin in cirrus for windows plugin: define QEMU_PLUGIN_API_IMPLEMENTATION first plugin: getting qemu_plugin_get_hwaddr only expose one function prototype plugin: Getting qemu-plugin works under win32. .cirrus.yml | 3 +- Makefile | 1 - configure | 71 ------------- contrib/plugins/hotblocks.c | 3 +- contrib/plugins/hotpages.c | 1 + contrib/plugins/howvec.c | 1 + contrib/plugins/lockstep.c | 1 + include/qemu/qemu-plugin.h | 197 +++++++++++++++++++++++++++-------- meson.build | 6 +- plugins/api.c | 71 +++++++------ plugins/core.c | 11 +- plugins/loader.c | 51 ++++++++- plugins/meson.build | 10 +- plugins/plugin.h | 1 + plugins/qemu-plugins.symbols | 40 ------- tests/plugin/bb.c | 5 +- tests/plugin/empty.c | 1 + tests/plugin/insn.c | 1 + tests/plugin/mem.c | 1 + 19 files changed, 262 insertions(+), 214 deletions(-) delete mode 100644 plugins/qemu-plugins.symbols --=20 2.28.0.windows.1