Tested-by: Joelle van Dyne <[email protected]> (With HV_EXIT_REASON_CANCELED change, otherwise it hangs on shutdown)
On Mon, Dec 8, 2025 at 4:56 PM Zenghui Yu <[email protected]> wrote: > > 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 >
