summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorTheofilos Augoustis <theofilos.augoustis@gmail.com>2025-10-08 16:01:20 +0200
committerTheofilos Augoustis <theofilos.augoustis@gmail.com>2025-10-08 16:01:20 +0200
commitc797173d37d64b92d5cfa225dcb63d9c69bd31da (patch)
tree2e89275849e2beca8ddcf15ecccd322cc9d60a72
parent0adf626718bc0ca9c46550249a76047f8e45da15 (diff)
downloadfocaccia-qemu-c797173d37d64b92d5cfa225dcb63d9c69bd31da.tar.gz
focaccia-qemu-c797173d37d64b92d5cfa225dcb63d9c69bd31da.zip
Add basic Focaccia stub
-rw-r--r--contrib/plugins/focaccia.c29
-rw-r--r--contrib/plugins/meson.build2
2 files changed, 30 insertions, 1 deletions
diff --git a/contrib/plugins/focaccia.c b/contrib/plugins/focaccia.c
new file mode 100644
index 0000000000..c638647d95
--- /dev/null
+++ b/contrib/plugins/focaccia.c
@@ -0,0 +1,29 @@
+#include <qemu-plugin.h>
+
+static void plugin_init(void) {
+}
+
+static void plugin_exit(qemu_plugin_id_t id, void* p) {
+    printf("Plugin has completed!\n");
+}
+
+// argc and argv correspond to the arguments passed via -plugin focaccia.so,arg1=<arg1>,arg2=<arg2>
+QEMU_PLUGIN_EXPORT 
+int qemu_plugin_install(qemu_plugin_id_t id,
+                        const qemu_info_t *info,
+                        int argc, char **argv)
+{
+    int i;
+
+    // Process plugin arguments
+    printf("Received plugin options:\n");
+    for (i = 0; i < argc; i++) {
+        printf("%s\n", argv[i]);
+    }
+
+    plugin_init();
+
+    qemu_plugin_register_atexit_cb(id, plugin_exit, NULL);
+    return 0;
+}
+
diff --git a/contrib/plugins/meson.build b/contrib/plugins/meson.build
index fa8a426c8b..cd97cc15a2 100644
--- a/contrib/plugins/meson.build
+++ b/contrib/plugins/meson.build
@@ -1,5 +1,5 @@
 contrib_plugins = ['bbv', 'cache', 'cflow', 'drcov', 'execlog', 'hotblocks',
-                   'hotpages', 'howvec', 'hwprofile', 'ips', 'stoptrigger']
+                   'hotpages', 'howvec', 'hwprofile', 'ips', 'stoptrigger', 'focaccia']
 if host_os != 'windows'
   # lockstep uses socket.h
   contrib_plugins += 'lockstep'