zephyr/drivers/timer
Benjamin Walsh 3c66686a43 sys_clock: start the microkernel ticker in the MICROKERNEL init level
The ticker was always initialized in the NANOKERNEL init level. In a
microkernel, this can cause problems if for the some reason the
initialization of the microkernel server is delayed, such as devices
initialization in the NANOKERNEL level taking non-insignificant time to
complete. What happens in that case is the ticker ISR will start firing
and piling up events in the microkernel server stack, and quite quickly
overrun it, since it has a finite size, causing random crashes.

So, in the microkernel, initialize the ticker once the microkernel
server is available. There is no point in sending ticker event before
anyway.

Change-Id: Ie9e13184f6ad35954023faf3bbff26242284b7be
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
2016-02-10 01:35:14 +00:00
..
arcv2_timer0.c irq: rename irq_connect() to IRQ_CONNECT() 2016-02-05 20:25:25 -05:00
cortex_m_systick_gdb.S Fixed file description and applied doxygen style 2016-02-05 20:24:58 -05:00
cortex_m_systick.c Fixed file description and applied doxygen style 2016-02-05 20:24:58 -05:00
hpet.c irq: rename irq_connect() to IRQ_CONNECT() 2016-02-05 20:25:25 -05:00
Kconfig clock: Make sure the clock is initialized prior to devices 2016-02-05 20:25:22 -05:00
loapic_timer.c irq: rename irq_connect() to IRQ_CONNECT() 2016-02-05 20:25:25 -05:00
Makefile timers: don't build if there is no system clock in use 2016-02-05 20:25:16 -05:00
sys_clock_init.c sys_clock: start the microkernel ticker in the MICROKERNEL init level 2016-02-10 01:35:14 +00:00