arm_mptimer: Convert to use ptimer
commit226fb5aaff8157472f97c63193660732a215d87f
authorDmitry Osipenko <digetx@gmail.com>
Mon, 24 Oct 2016 15:26:53 +0000 (24 16:26 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Mon, 24 Oct 2016 15:26:53 +0000 (24 16:26 +0100)
treef892fbb5d25a85d5bcd3288ec507fa350a7d0552
parent33d44cdf00f5e2520c2ff3ece162a317f408cefb
arm_mptimer: Convert to use ptimer

Current ARM MPTimer implementation uses QEMUTimer for the actual timer,
this implementation isn't complete and mostly tries to duplicate of what
generic ptimer is already doing fine.

Conversion to ptimer brings the following benefits and fixes:
- Simple timer pausing implementation
- Fixes counter value preservation after stopping the timer
- Properly handles prescaler != 0 / counter = 0 / load = 0 cases
- Code simplification and reduction

Bump VMSD to version 3, since VMState is changed and is not compatible
with the previous implementation.

Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Reviewed-by: Peter Crosthwaite <crosthwaite.peter@gmail.com>
Message-id: 37f378c33bb5a28d5cd71167a6bd5bff5e59cbc3.1475421224.git.digetx@gmail.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
hw/timer/arm_mptimer.c
include/hw/timer/arm_mptimer.h