On 8/30/25 01:31, Paolo Bonzini wrote:
@@ -624,8 +624,7 @@ static target_ulong h_confer(PowerPCCPU *cpu,
SpaprMachineState *spapr,
}
cs->exception_index = EXCP_YIELD;
- qatomic_set(&cs->exit_request, true);
- cpu_loop_exit(cs);
+ cpu_exit(cs);
return H_SUCCESS;
}
cpu_loop_exit does a longjmp; cpu_exit does not.
This may be a bug fix, but it's hard to tell.
If it is a bug fix, it should be separated.
I'm also having a hard time with e.g.
+++ b/system/cpu-timers.c
@@ -246,14 +246,14 @@ void qemu_timer_notify_cb(void *opaque, QEMUClockType
type)
if (qemu_in_vcpu_thread()) {
/*
- * A CPU is currently running; kick it back out to the
+ * A CPU is currently running; kick it back out of the
* tcg_cpu_exec() loop so it will recalculate its
* icount deadline immediately.
*/
- qemu_cpu_kick(current_cpu);
+ cpu_exit(current_cpu);
where the comment still says kick and we're replacing kick with exit.
I guess the root of this problem is that "kick" isn't a precise term, we ought to name it
something else, and we should paint the bike shed green.
r~