Invert cpu_handle_halt()'s logic to read in cpu_exec() as "if halted, try to process async events and find work; if no work, return". Rename as cpu_has_work_after_processing_async_events().
Signed-off-by: Philippe Mathieu-Daudé <[email protected]> --- accel/tcg/cpu-exec.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/accel/tcg/cpu-exec.c b/accel/tcg/cpu-exec.c index 46b723cb734..1a942664895 100644 --- a/accel/tcg/cpu-exec.c +++ b/accel/tcg/cpu-exec.c @@ -654,18 +654,18 @@ static inline void tb_add_jump(TranslationBlock *tb, int n, } #ifndef CONFIG_USER_ONLY -static inline bool cpu_handle_halt(CPUState *cpu) +static bool cpu_has_work_after_processing_async_events(CPUState *cpu) { const TCGCPUOps *tcg_ops = cpu->cc->tcg_ops; bool leave_halt = tcg_ops->cpu_exec_halt(cpu); if (!leave_halt) { - return true; + return false; } cpu->halted = 0; /* allow execution */ - return false; + return true; } #endif /* !CONFIG_USER_ONLY */ @@ -1027,7 +1027,7 @@ int cpu_exec(CPUState *cpu) #ifndef CONFIG_USER_ONLY if (cpu->halted) { - if (cpu_handle_halt(cpu)) { + if (!cpu_has_work_after_processing_async_events(cpu)) { return EXCP_HALTED; } assert(!cpu->halted); -- 2.53.0
