Zenghui Yu <[email protected]> writes: > Hi Alex, > > On 2025/12/5 23:11, Alex Bennée wrote: >> When we handle a host call we report state back to the caller via >> registers. Set vcpu_dirty to indicate QEMU is currently the reference >> and hoist the flush_cpu_state() and make the call unconditional. >> >> Fixes: https://gitlab.com/qemu-project/qemu/-/issues/3228 >> Signed-off-by: Alex Bennée <[email protected]> > > This fixes the guest boot issue. > > However I notice that some (all?) HMP commands (e.g., "info registers") > don't return and result in guest hang. Haven't dig further though.
Does this fix it: --8<---------------cut here---------------start------------->8--- target/arm: make HV_EXIT_REASON_CANCELED leave main loop Without this we can spin tightly in the main HVF dispatch loop and never release the lock long enough. Signed-off-by: Alex Bennée <[email protected]> 1 file changed, 1 insertion(+) target/arm/hvf/hvf.c | 1 + modified target/arm/hvf/hvf.c @@ -2020,6 +2020,7 @@ static int hvf_handle_vmexit(CPUState *cpu, hv_vcpu_exit_t *exit) break; case HV_EXIT_REASON_CANCELED: /* we got kicked, no exit to process */ + ret = -1; break; default: g_assert_not_reached(); --8<---------------cut here---------------end--------------->8--- > > Thanks, > Zenghui -- Alex Bennée Virtualisation Tech Lead @ Linaro
