1.1 --- a/stage2/board-minipc.c Tue Mar 01 00:55:13 2016 +0100
1.2 +++ b/stage2/board-minipc.c Fri Mar 11 21:58:52 2016 +0100
1.3 @@ -89,6 +89,12 @@
1.4 __intc_unmask_irq(TIMER_CHAN_IRQ);
1.5 }
1.6
1.7 +void timer_clear(void)
1.8 +{
1.9 + __intc_ack_irq(TIMER_CHAN_IRQ);
1.10 + __ost_clear_uf(TIMER_CHAN);
1.11 +}
1.12 +
1.13 /* Board startup detection. */
1.14
1.15 int is_started(void)
2.1 --- a/stage2/board-nanonote.c Tue Mar 01 00:55:13 2016 +0100
2.2 +++ b/stage2/board-nanonote.c Fri Mar 11 21:58:52 2016 +0100
2.3 @@ -147,6 +147,12 @@
2.4 __intc_unmask_irq(TIMER_CHAN_IRQ);
2.5 }
2.6
2.7 +void timer_clear(void)
2.8 +{
2.9 + __intc_ack_irq(TIMER_CHAN_IRQ);
2.10 + __tcu_clear_full_match_flag(TIMER_CHAN);
2.11 +}
2.12 +
2.13 /* Board startup detection. */
2.14
2.15 int is_started(void)
3.1 --- a/stage2/board-specific.h Tue Mar 01 00:55:13 2016 +0100
3.2 +++ b/stage2/board-specific.h Fri Mar 11 21:58:52 2016 +0100
3.3 @@ -8,6 +8,7 @@
3.4 void rtc_init(void);
3.5 void timer_init(void);
3.6 void timer_init_irq(void);
3.7 +void timer_clear(void);
3.8 int is_started(void);
3.9
3.10 #endif /* __BOARD_SPECIFIC_H__ */
4.1 --- a/stage2/irq.c Tue Mar 01 00:55:13 2016 +0100
4.2 +++ b/stage2/irq.c Fri Mar 11 21:58:52 2016 +0100
4.3 @@ -97,8 +97,7 @@
4.4
4.5 /* Clear interrupt status. */
4.6
4.7 - __intc_ack_irq(TIMER_CHAN_IRQ);
4.8 - __tcu_clear_full_match_flag(TIMER_CHAN);
4.9 + timer_clear();
4.10
4.11 /* Handle other interrupts, anyway. */
4.12