[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 26/32] timer: stm32f2xx_timer: add check for prescale
From: |
Peter Maydell |
Subject: |
[Qemu-devel] [PULL 26/32] timer: stm32f2xx_timer: add check for prescaler value |
Date: |
Mon, 24 Oct 2016 18:25:22 +0100 |
From: Prasad J Pandit <address@hidden>
The STM32F2XX Timer emulator uses a 16 bit prescaler value to
limit the timer clock rate. It does that by dividing the timer
frequency. If the prescaler 's->tim_psc' was set to be UINT_MAX,
it'd lead to divide by zero error. Limit prescaler value to 16
bits to avoid it.
Reported-by: Huawei PSIRT <address@hidden>
Signed-off-by: Prasad J Pandit <address@hidden>
Message-id: address@hidden
Reviewed-by: Peter Maydell <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
---
hw/timer/stm32f2xx_timer.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/timer/stm32f2xx_timer.c b/hw/timer/stm32f2xx_timer.c
index 8c4c1f9..e5f5e14 100644
--- a/hw/timer/stm32f2xx_timer.c
+++ b/hw/timer/stm32f2xx_timer.c
@@ -217,7 +217,7 @@ static void stm32f2xx_timer_write(void *opaque, hwaddr
offset,
return;
case TIM_PSC:
timer_val = stm32f2xx_ns_to_ticks(s, now) - s->tick_offset;
- s->tim_psc = value;
+ s->tim_psc = value & 0xFFFF;
value = timer_val;
break;
case TIM_CNT:
--
2.7.4
- [Qemu-devel] [PULL 30/32] hw/display: QOM'ify pl110.c, (continued)
- [Qemu-devel] [PULL 30/32] hw/display: QOM'ify pl110.c, Peter Maydell, 2016/10/24
- [Qemu-devel] [PULL 16/32] hw/ptimer: Add "no counter round down" policy, Peter Maydell, 2016/10/24
- [Qemu-devel] [PULL 27/32] hw/arm: QOM'ify musicpal.c, Peter Maydell, 2016/10/24
- [Qemu-devel] [PULL 24/32] timer: a9gtimer: remove loop to auto-increment comparator, Peter Maydell, 2016/10/24
- [Qemu-devel] [PULL 12/32] hw/ptimer: Add "no immediate trigger" policy, Peter Maydell, 2016/10/24
- [Qemu-devel] [PULL 14/32] hw/ptimer: Add "no immediate reload" policy, Peter Maydell, 2016/10/24
- [Qemu-devel] [PULL 07/32] hw/arm/virt: Set minimum_page_bits to 12, Peter Maydell, 2016/10/24
- [Qemu-devel] [PULL 11/32] tests: ptimer: Add tests for "continuous trigger" policy, Peter Maydell, 2016/10/24
- [Qemu-devel] [PULL 06/32] target-arm: Make page size a runtime setting, Peter Maydell, 2016/10/24
- [Qemu-devel] [PULL 25/32] i2c: Fix SMBus read transactions to avoid double events, Peter Maydell, 2016/10/24
- [Qemu-devel] [PULL 26/32] timer: stm32f2xx_timer: add check for prescaler value,
Peter Maydell <=
- [Qemu-devel] [PULL 31/32] target-arm: Implement new HLT trap for semihosting, Peter Maydell, 2016/10/24
- [Qemu-devel] [PULL 18/32] tests: ptimer: Change the copyright comment, Peter Maydell, 2016/10/24
- [Qemu-devel] [PULL 10/32] hw/ptimer: Add "continuous trigger" policy, Peter Maydell, 2016/10/24
- [Qemu-devel] [PULL 21/32] tests: Add tests for the ARM MPTimer, Peter Maydell, 2016/10/24
- [Qemu-devel] [PULL 13/32] tests: ptimer: Add tests for "no immediate trigger" policy, Peter Maydell, 2016/10/24
- [Qemu-devel] [PULL 02/32] exec.c: Remove static allocation of sub_section of sub_page, Peter Maydell, 2016/10/24
- [Qemu-devel] [PULL 28/32] hw/arm: QOM'ify pxa2xx_gpio.c, Peter Maydell, 2016/10/24
- [Qemu-devel] [PULL 08/32] hw/ptimer: Add "wraparound after one period" policy, Peter Maydell, 2016/10/24
- [Qemu-devel] [PULL 05/32] migration/savevm.c: migrate non-default page size, Peter Maydell, 2016/10/24
- [Qemu-devel] [PULL 19/32] tests: ptimer: Replace 10000 with 1, Peter Maydell, 2016/10/24