Message ID | 20240216135137.8668-5-atp.exp@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Misc: Make watchdog devices using qemu_system_reset_request() use watchdog_perfom_action() | expand |
On Fri, 16 Feb 2024 at 13:56, Abhiram Tilak <atp.exp@gmail.com> wrote: > > A few watchdog devices use qemu_system_reset_request(). This is not ideal since > behaviour of watchdog-expiry can't be changed by QMP using `watchdog_action`. > As stated in BiteSizedTasks wiki page, instead of using qemu_system_reset_request() > to reset when a watchdog timer expires, let watchdog_perform_action() decide > what to do. > > Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2124 > Signed-off-by: Abhiram Tilak <atp.exp@gmail.com> > --- > hw/timer/pxa2xx_timer.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/hw/timer/pxa2xx_timer.c b/hw/timer/pxa2xx_timer.c > index 6a7d5551f4..6479ab1a8b 100644 > --- a/hw/timer/pxa2xx_timer.c > +++ b/hw/timer/pxa2xx_timer.c > @@ -18,6 +18,7 @@ > #include "qemu/log.h" > #include "qemu/module.h" > #include "qom/object.h" > +#include "sysemu/watchdog.h" > > #define OSMR0 0x00 > #define OSMR1 0x04 > @@ -417,7 +418,7 @@ static void pxa2xx_timer_tick(void *opaque) > if (t->num == 3) > if (i->reset3 & 1) { > i->reset3 = 0; > - qemu_system_reset_request(SHUTDOWN_CAUSE_GUEST_RESET); > + watchdog_perform_action(); > } > } Reviewed-by: Peter Maydell <peter.maydell@linaro.org> thanks -- PMM
diff --git a/hw/timer/pxa2xx_timer.c b/hw/timer/pxa2xx_timer.c index 6a7d5551f4..6479ab1a8b 100644 --- a/hw/timer/pxa2xx_timer.c +++ b/hw/timer/pxa2xx_timer.c @@ -18,6 +18,7 @@ #include "qemu/log.h" #include "qemu/module.h" #include "qom/object.h" +#include "sysemu/watchdog.h" #define OSMR0 0x00 #define OSMR1 0x04 @@ -417,7 +418,7 @@ static void pxa2xx_timer_tick(void *opaque) if (t->num == 3) if (i->reset3 & 1) { i->reset3 = 0; - qemu_system_reset_request(SHUTDOWN_CAUSE_GUEST_RESET); + watchdog_perform_action(); } }
A few watchdog devices use qemu_system_reset_request(). This is not ideal since behaviour of watchdog-expiry can't be changed by QMP using `watchdog_action`. As stated in BiteSizedTasks wiki page, instead of using qemu_system_reset_request() to reset when a watchdog timer expires, let watchdog_perform_action() decide what to do. Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2124 Signed-off-by: Abhiram Tilak <atp.exp@gmail.com> --- hw/timer/pxa2xx_timer.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)