Message ID | 20250620172751.94231-14-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-accel-ops.c | 12 +++++++++++- > 1 file changed, 11 insertions(+), 1 deletion(-) Reviewed-by: Richard Henderson <richard.henderson@linaro.org> r~ > > diff --git a/accel/split/split-accel-ops.c b/accel/split/split-accel-ops.c > index 39495fdff14..d4fa07c2dec 100644 > --- a/accel/split/split-accel-ops.c > +++ b/accel/split/split-accel-ops.c > @@ -10,6 +10,7 @@ > #include "qemu/main-loop.h" > #include "qemu/guest-random.h" > #include "exec/cpu-common.h" > +#include "hw/core/cpu.h" > #include "system/accel-ops.h" > #include "system/cpus.h" > #include "split-accel.h" > @@ -121,7 +122,16 @@ static void split_cpu_common_unrealize(CPUState *cpu) > > static void split_cpu_reset_hold(CPUState *cpu) > { > - g_assert_not_reached(); > + SplitAccelState *sas = SPLIT_ACCEL(cpu->accel->accel); > + AccelClass *hwc = ACCEL_GET_CLASS(sas->hw); > + AccelClass *swc = ACCEL_GET_CLASS(sas->sw); > + > + if (hwc->ops->cpu_reset_hold) { > + hwc->ops->cpu_reset_hold(cpu); > + } > + if (swc->ops->cpu_reset_hold) { > + swc->ops->cpu_reset_hold(cpu); > + } > } > > static void split_kick_vcpu_thread(CPUState *cpu)
diff --git a/accel/split/split-accel-ops.c b/accel/split/split-accel-ops.c index 39495fdff14..d4fa07c2dec 100644 --- a/accel/split/split-accel-ops.c +++ b/accel/split/split-accel-ops.c @@ -10,6 +10,7 @@ #include "qemu/main-loop.h" #include "qemu/guest-random.h" #include "exec/cpu-common.h" +#include "hw/core/cpu.h" #include "system/accel-ops.h" #include "system/cpus.h" #include "split-accel.h" @@ -121,7 +122,16 @@ static void split_cpu_common_unrealize(CPUState *cpu) static void split_cpu_reset_hold(CPUState *cpu) { - g_assert_not_reached(); + SplitAccelState *sas = SPLIT_ACCEL(cpu->accel->accel); + AccelClass *hwc = ACCEL_GET_CLASS(sas->hw); + AccelClass *swc = ACCEL_GET_CLASS(sas->sw); + + if (hwc->ops->cpu_reset_hold) { + hwc->ops->cpu_reset_hold(cpu); + } + if (swc->ops->cpu_reset_hold) { + swc->ops->cpu_reset_hold(cpu); + } } static void split_kick_vcpu_thread(CPUState *cpu)
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> --- accel/split/split-accel-ops.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-)