summary refs log tree commit diff stats
path: root/plugins/api.c
diff options
context:
space:
mode:
authorAlex Bennée <alex.bennee@linaro.org>2025-03-04 22:24:35 +0000
committerAlex Bennée <alex.bennee@linaro.org>2025-03-10 10:30:01 +0000
commit1d3e745f7ada921d544f29fbf84c6f0f63025e61 (patch)
tree1321a3a0132ba26e79e704a9bf8c8c6878285c5e /plugins/api.c
parent455a2d265cf6c3947243d772b9e5d1b8dd13a9bf (diff)
downloadfocaccia-qemu-1d3e745f7ada921d544f29fbf84c6f0f63025e61.tar.gz
focaccia-qemu-1d3e745f7ada921d544f29fbf84c6f0f63025e61.zip
plugins/api: split out time control helpers
These are only usable in system mode where we control the timer. For
user-mode make them NOPs.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20250304222439.2035603-29-alex.bennee@linaro.org>
Diffstat (limited to 'plugins/api.c')
-rw-r--r--plugins/api.c41
1 files changed, 0 insertions, 41 deletions
diff --git a/plugins/api.c b/plugins/api.c
index 82241699a5..832bf6ee5e 100644
--- a/plugins/api.c
+++ b/plugins/api.c
@@ -526,44 +526,3 @@ uint64_t qemu_plugin_u64_sum(qemu_plugin_u64 entry)
     return total;
 }
 
-/*
- * Time control
- */
-static bool has_control;
-#ifdef CONFIG_SOFTMMU
-static Error *migration_blocker;
-#endif
-
-const void *qemu_plugin_request_time_control(void)
-{
-    if (!has_control) {
-        has_control = true;
-#ifdef CONFIG_SOFTMMU
-        error_setg(&migration_blocker,
-                   "TCG plugin time control does not support migration");
-        migrate_add_blocker(&migration_blocker, NULL);
-#endif
-        return &has_control;
-    }
-    return NULL;
-}
-
-#ifdef CONFIG_SOFTMMU
-static void advance_virtual_time__async(CPUState *cpu, run_on_cpu_data data)
-{
-    int64_t new_time = data.host_ulong;
-    qemu_clock_advance_virtual_time(new_time);
-}
-#endif
-
-void qemu_plugin_update_ns(const void *handle, int64_t new_time)
-{
-#ifdef CONFIG_SOFTMMU
-    if (handle == &has_control) {
-        /* Need to execute out of cpu_exec, so bql can be locked. */
-        async_run_on_cpu(current_cpu,
-                         advance_virtual_time__async,
-                         RUN_ON_CPU_HOST_ULONG(new_time));
-    }
-#endif
-}