Extract arm_timer_reset_hold() before converting this model to QOM/QDev in few commits. This will become our ResettableHoldPhase handler.
Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> --- hw/timer/arm_timer.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/hw/timer/arm_timer.c b/hw/timer/arm_timer.c index 8dae845998..0d7fac4d78 100644 --- a/hw/timer/arm_timer.c +++ b/hw/timer/arm_timer.c @@ -172,13 +172,20 @@ static const VMStateDescription vmstate_arm_timer = { } }; +static void arm_timer_reset_hold(ArmTimer *s) +{ + s->limit = 0; + s->int_level = 0; + s->control = TIMER_CTRL_IE; +} + static ArmTimer *arm_timer_init(uint32_t freq) { ArmTimer *s; s = g_new0(ArmTimer, 1); s->freq = freq; - s->control = TIMER_CTRL_IE; + arm_timer_reset_hold(s); s->timer = ptimer_init(arm_timer_tick, s, PTIMER_POLICY_LEGACY); vmstate_register(NULL, VMSTATE_INSTANCE_ID_ANY, &vmstate_arm_timer, s); -- 2.38.1