summary refs log tree commit diff stats
path: root/gitlab/issues/target_missing/host_missing/accel_missing/2035.toml
diff options
context:
space:
mode:
Diffstat (limited to 'gitlab/issues/target_missing/host_missing/accel_missing/2035.toml')
-rw-r--r--gitlab/issues/target_missing/host_missing/accel_missing/2035.toml62
1 files changed, 0 insertions, 62 deletions
diff --git a/gitlab/issues/target_missing/host_missing/accel_missing/2035.toml b/gitlab/issues/target_missing/host_missing/accel_missing/2035.toml
deleted file mode 100644
index b2833b78..00000000
--- a/gitlab/issues/target_missing/host_missing/accel_missing/2035.toml
+++ /dev/null
@@ -1,62 +0,0 @@
-id = 2035
-title = "TCG Plugin exit callback not executing"
-state = "opened"
-created_at = "2023-12-13T15:46:34.693Z"
-closed_at = "n/a"
-labels = ["TCG plugins", "workflow::Needs Info"]
-url = "https://gitlab.com/qemu-project/qemu/-/issues/2035"
-host-os = "RHEL 8"
-host-arch = "x86"
-qemu-version = "master, 8.1.3"
-guest-os = "n/a"
-guest-arch = "n/a"
-description = """I cannot get the plugin exit callback to register/execute. I should see "Goodbye from plugin" but dont. I have also tried using `qemu_plugin_outs` without success.
-
-**Update: If I make my test binary an infinite loop and kill it with CTRL-C, then the callback is called as expected. Am I just using it wrong?**"""
-reproduce = """1. Configured QEMU with `--target-list=riscv32-linux-user,riscv64-linux-user --enable-plugins --disable-system`
-2. Compiled plugin with 
-```
-gcc -I./qemu/include/qemu `pkg-config --libs glib-2.0` -O0 -fvisibility=hidden -Wall -shared -fPIC `pkg-config --cflags glib-2.0`
-```
-3. Compiled test binary (just a hello world) with `riscv64-unknown-elf-gcc test_qemu.c -o test_qemu`
-4. Ran ./qemu/build/qemu-riscv64 -plugin ./test_plugin.so -d plugin ./test_qemu"""
-additional = """test_plugin.c
-```
-#include <inttypes.h>
-#include <assert.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <stdio.h>
-#include <qemu-plugin.h>
-
-QEMU_PLUGIN_EXPORT int qemu_plugin_version = QEMU_PLUGIN_VERSION;
-
-static void vcpu_tb_trans(qemu_plugin_id_t id, struct qemu_plugin_tb *tb)
-{
-    int n_insns = qemu_plugin_tb_n_insns(tb);
-    printf("> New TB of size %d\\n", n_insns);
-
-    for (int i = 0; i < n_insns; i++) {
-        struct qemu_plugin_insn * insn = qemu_plugin_tb_get_insn(tb, i);
-        char * disassembly = qemu_plugin_insn_disas(insn);
-        printf(" > Instruciton: %s\\n", disassembly);
-    }
-}
-
-static void plugin_exit(qemu_plugin_id_t id, void *p)
-{
-    printf("> Goodbye from plugin. %d\\n", id);
-}
-
-QEMU_PLUGIN_EXPORT int qemu_plugin_install(qemu_plugin_id_t id,
-                                           const qemu_info_t *info,
-                                           int argc, char **argv)
-{
-    printf("> Hello From Plugin!\\n");
-    qemu_plugin_register_vcpu_tb_trans_cb(id, vcpu_tb_trans);
-    qemu_plugin_register_atexit_cb(id, plugin_exit, NULL);
-    printf("> Everything was registered\\n");
-    return 0;
-}
-```"""