Message ID | 20210502203121.630944-4-f4bug@amsat.org |
---|---|
State | New |
Headers | show |
Series | hw: Fix reset of bus-less devices | expand |
On Sun, 2 May 2021 at 21:31, Philippe Mathieu-Daudé <f4bug@amsat.org> wrote: > > The OR_IRQ device is bus-less, thus isn't reset automatically. > Manually reset the OR IRQs in the armsse_reset() handler. > > Fixes: bb75e16d5e6 ("hw/arm/iotkit: Wire up MPC interrupt lines") > Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > --- > hw/arm/armsse.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/hw/arm/armsse.c b/hw/arm/armsse.c > index 2e5d0679e7b..a5f8e89950e 100644 > --- a/hw/arm/armsse.c > +++ b/hw/arm/armsse.c > @@ -1668,6 +1668,10 @@ static void armsse_reset(DeviceState *dev) > ARMSSE *s = ARM_SSE(dev); > > s->nsccfg = 0; > + > + device_cold_reset(DEVICE(&s->mpc_irq_orgate)); > + device_cold_reset(DEVICE(&s->ppc_irq_orgate)); > + device_cold_reset(DEVICE(&s->sec_resp_splitter)); > } I guess we should put in this temporary fix pending figuring out the better more systematic one. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> thanks -- PMM
diff --git a/hw/arm/armsse.c b/hw/arm/armsse.c index 2e5d0679e7b..a5f8e89950e 100644 --- a/hw/arm/armsse.c +++ b/hw/arm/armsse.c @@ -1668,6 +1668,10 @@ static void armsse_reset(DeviceState *dev) ARMSSE *s = ARM_SSE(dev); s->nsccfg = 0; + + device_cold_reset(DEVICE(&s->mpc_irq_orgate)); + device_cold_reset(DEVICE(&s->ppc_irq_orgate)); + device_cold_reset(DEVICE(&s->sec_resp_splitter)); } static void armsse_class_init(ObjectClass *klass, void *data)
The OR_IRQ device is bus-less, thus isn't reset automatically. Manually reset the OR IRQs in the armsse_reset() handler. Fixes: bb75e16d5e6 ("hw/arm/iotkit: Wire up MPC interrupt lines") Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> --- hw/arm/armsse.c | 4 ++++ 1 file changed, 4 insertions(+)