xemu/hw/timer
Kurban Mallachiev c98c9eba88 ARM i.MX timers: fix reset handling
The i.MX timer device can be reset by writing to the SWR bit
of the CR register. This has to behave differently from hard
(power-on) reset because it does not reset all of the bits
in the CR register.

We were incorrectly implementing soft reset and hard reset
the same way, and in addition had a logic error which meant
that we were clearing the bits that soft-reset is supposed
to preserve and not touching the bits that soft-reset clears.
This was not correct behaviour for either kind of reset.

Separate out the soft reset and hard reset code paths, and
correct the handling of reset of the CR register so that it
is correct in both cases.

Signed-off-by: Kurban Mallachiev <mallachiev@ispras.ru>
[PMM: rephrased commit message, spacing on operators;
 use bool rather than int for is_soft_reset]
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2017-02-28 12:08:16 +00:00
..
a9gtimer.c timer: a9gtimer: remove loop to auto-increment comparator 2016-10-24 16:26:54 +01:00
allwinner-a10-pit.c hw/ptimer: Introduce timer policy feature 2016-09-22 18:13:06 +01:00
altera_timer.c nios2: Add periodic timer emulation 2017-01-24 13:10:35 -08:00
arm_mptimer.c arm_mptimer: Convert to use ptimer 2016-10-24 16:26:53 +01:00
arm_timer.c hw/ptimer: Introduce timer policy feature 2016-09-22 18:13:06 +01:00
aspeed_timer.c hw/timer: Add value matching support to aspeed_timer 2016-06-17 15:23:51 +01:00
cadence_ttc.c arm: Clean up includes 2016-01-29 15:07:23 +00:00
digic-timer.c hw/ptimer: Introduce timer policy feature 2016-09-22 18:13:06 +01:00
ds1338.c i2c: Allow I2C devices to NAK start events 2017-01-09 11:40:20 +00:00
etraxfs_timer.c hw/ptimer: Introduce timer policy feature 2016-09-22 18:13:06 +01:00
exynos4210_mct.c hw/ptimer: Introduce timer policy feature 2016-09-22 18:13:06 +01:00
exynos4210_pwm.c hw/ptimer: Introduce timer policy feature 2016-09-22 18:13:06 +01:00
exynos4210_rtc.c hw/ptimer: Introduce timer policy feature 2016-09-22 18:13:06 +01:00
grlib_gptimer.c clean-up: removed duplicate #includes 2016-10-28 18:17:24 +03:00
hpet.c hw/timer: Revert "hpet: inverse polarity when pin above ISA_NUM_IRQS" 2016-04-08 00:07:43 +02:00
i8254_common.c Replaced get_tick_per_sec() by NANOSECONDS_PER_SECOND 2016-03-22 22:20:17 +01:00
i8254.c Replaced get_tick_per_sec() by NANOSECONDS_PER_SECOND 2016-03-22 22:20:17 +01:00
imx_epit.c imx: Use 'const char', not 'char const' 2016-09-22 18:13:09 +01:00
imx_gpt.c ARM i.MX timers: fix reset handling 2017-02-28 12:08:16 +00:00
lm32_timer.c hw/ptimer: Introduce timer policy feature 2016-09-22 18:13:06 +01:00
m48t59-internal.h Split ISA and sysbus versions of m48t59 device 2017-02-06 12:33:21 +11:00
m48t59-isa.c Split ISA and sysbus versions of m48t59 device 2017-02-06 12:33:21 +11:00
m48t59.c migration: consolidate VMStateField.start 2017-02-13 17:27:13 +00:00
Makefile.objs Split ISA and sysbus versions of m48t59 device 2017-02-06 12:33:21 +11:00
mc146818rtc.c replay: don't use rtc clock on loadvm phase 2017-01-27 18:07:30 +01:00
milkymist-sysctl.c hw/ptimer: Introduce timer policy feature 2016-09-22 18:13:06 +01:00
mips_gictimer.c hw/mips_gictimer: provide API for retrieving frequency 2017-02-21 22:24:58 +00:00
omap_gptimer.c The only 64bit parameter of muldiv64() is the first one. 2016-06-07 18:02:49 +03:00
omap_synctimer.c Replaced get_tick_per_sec() by NANOSECONDS_PER_SECOND 2016-03-22 22:20:17 +01:00
pl031.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
puv3_ost.c hw/ptimer: Introduce timer policy feature 2016-09-22 18:13:06 +01:00
pxa2xx_timer.c Replaced get_tick_per_sec() by NANOSECONDS_PER_SECOND 2016-03-22 22:20:17 +01:00
sh_timer.c hw/ptimer: Introduce timer policy feature 2016-09-22 18:13:06 +01:00
slavio_timer.c hw/ptimer: Introduce timer policy feature 2016-09-22 18:13:06 +01:00
stm32f2xx_timer.c timer: stm32f2xx_timer: add check for prescaler value 2016-10-24 16:26:55 +01:00
sun4v-rtc.c target-sparc: move common cpu initialisation routines to sparc64.c 2017-01-18 22:03:44 +01:00
trace-events trace-events: fix first line comment in trace-events 2016-08-12 10:36:01 +01:00
twl92230.c migration: extend VMStateInfo 2017-01-24 17:54:47 +00:00
xilinx_timer.c hw/ptimer: Introduce timer policy feature 2016-09-22 18:13:06 +01:00