Message ID | 20250620172751.94231-9-philmd@linaro.org |
---|---|
State | New |
Headers | show |
Series | accel/split/arm: Run EL2 using TCG and EL1/EL0 in hardware with HVF | expand |
On 6/20/25 10:27, Philippe Mathieu-Daudé wrote: > Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> > --- > accel/split/split-all.c | 14 +++++++++++++- > 1 file changed, 13 insertions(+), 1 deletion(-) > > diff --git a/accel/split/split-all.c b/accel/split/split-all.c > index cb910300931..413954af96c 100644 > --- a/accel/split/split-all.c > +++ b/accel/split/split-all.c > @@ -77,7 +77,19 @@ static bool split_supports_guest_debug(AccelState *as) > > static int split_gdbstub_supported_sstep_flags(AccelState *as) > { > - g_assert_not_reached(); > + SplitAccelState *sas = SPLIT_ACCEL(as); > + AccelClass *hwc = ACCEL_GET_CLASS(sas->hw); > + AccelClass *swc = ACCEL_GET_CLASS(sas->sw); > + int flags = -1; This only works if one of hw/sw implements the hook. r~ > + > + if (hwc->gdbstub_supported_sstep_flags) { > + flags &= hwc->gdbstub_supported_sstep_flags(sas->hw); > + } > + if (swc->gdbstub_supported_sstep_flags) { > + flags &= swc->gdbstub_supported_sstep_flags(sas->sw); > + } > + > + return flags; > } > > static void split_get_stats(AccelState *as, GString *buf)
diff --git a/accel/split/split-all.c b/accel/split/split-all.c index cb910300931..413954af96c 100644 --- a/accel/split/split-all.c +++ b/accel/split/split-all.c @@ -77,7 +77,19 @@ static bool split_supports_guest_debug(AccelState *as) static int split_gdbstub_supported_sstep_flags(AccelState *as) { - g_assert_not_reached(); + SplitAccelState *sas = SPLIT_ACCEL(as); + AccelClass *hwc = ACCEL_GET_CLASS(sas->hw); + AccelClass *swc = ACCEL_GET_CLASS(sas->sw); + int flags = -1; + + if (hwc->gdbstub_supported_sstep_flags) { + flags &= hwc->gdbstub_supported_sstep_flags(sas->hw); + } + if (swc->gdbstub_supported_sstep_flags) { + flags &= swc->gdbstub_supported_sstep_flags(sas->sw); + } + + return flags; } static void split_get_stats(AccelState *as, GString *buf)
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> --- accel/split/split-all.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-)