On 1/12/26 12:15, Thomas Huth wrote:
On 01/12/2025 22.49, Ilya Leoshkevich wrote:
Hi,
Here is my attempt to fix [1] based on the discussion in [2].
I'm sending this as an RFC, because I have definitely misunderstood a
thing or two about record-replay, missed some timer bookkeeping
intricacies, and haven't split arch-dependent and independent parts
into different patches.
This survives "make check" and "make check-tcg" with the test from [2],
both with and without extra load in background.
Please let me know what you think about the approach.
...
diff --git a/stubs/async-run-on-cpu.c b/stubs/async-run-on-cpu.c
new file mode 100644
index 00000000000..adf1867ad21
--- /dev/null
+++ b/stubs/async-run-on-cpu.c
@@ -0,0 +1,7 @@
+#include "qemu/osdep.h"
+#include "hw/core/cpu.h"
+
+void async_run_on_cpu(CPUState *cpu, run_on_cpu_func func,
run_on_cpu_data data)
+{
+ abort();
+}
diff --git a/stubs/cpus-queue.c b/stubs/cpus-queue.c
new file mode 100644
index 00000000000..fd678f42969
--- /dev/null
+++ b/stubs/cpus-queue.c
@@ -0,0 +1,4 @@
+#include "qemu/osdep.h"
+#include "hw/core/cpu.h"
+
+CPUTailQ cpus_queue = QTAILQ_HEAD_INITIALIZER(cpus_queue);
FYI, I'll add a "SPDX-License-Identifier: GPL-2.0-or-later" to the new
stubs files to avoid an error with checkpatch.pl here. Please let me
know if you'd rather use another license identifier instead.
Thomas
GPL-2.0 is fine. Sorry about forgetting this!