On Mon, 23 Jun 2025 at 13:19, Philippe Mathieu-Daudé <phi...@linaro.org> wrote: > > Allow distinguishing HV_ILLEGAL_GUEST_STATE in trace events. > > Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> > Reviewed-by: Richard Henderson <richard.hender...@linaro.org> > --- > target/arm/hvf/hvf.c | 10 +++++++++- > target/arm/hvf/trace-events | 1 + > 2 files changed, 10 insertions(+), 1 deletion(-) > > diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c > index ef76dcd28de..cc5bbc155d2 100644 > --- a/target/arm/hvf/hvf.c > +++ b/target/arm/hvf/hvf.c > @@ -1916,7 +1916,15 @@ int hvf_vcpu_exec(CPUState *cpu) > bql_unlock(); > r = hv_vcpu_run(cpu->accel->fd); > bql_lock(); > - assert_hvf_ok(r); > + switch (r) { > + case HV_SUCCESS: > + break; > + case HV_ILLEGAL_GUEST_STATE: > + trace_hvf_illegal_guest_state(); > + /* fall through */ > + default: > + g_assert_not_reached();
This seems kind of odd. If it can happen, we shouldn't g_assert_not_reached(). If it can't happen, we shouldn't trace it. But the hvf code already has a lot of "assert success rather than handling possible-but-fatal errors more gracefully", so I guess it's OK. -- PMM