On 2025/12/9 01:08, Alex Bennée wrote: > 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---
Yes it works. Please feel free to add Tested-by: Zenghui Yu <[email protected]> on it and patch #2. Thanks for the fixes! Zenghui
