arch: allow system clock driver selection for cortex m

The selection of the Cortex M systick driver to be used
as a system clock driver is controlled by
CONFIG_CORTEX_M_SYSTICK.

To replace it by another driver CONFIG_CORTEX_M_SYSTICK
must be set to 'n'. Unfortunately this also controls
the interrupt vector for the systick interrupt. It is
now routed to __reserved. More bad the interrupt vector
can not be set by IRQ_CONNECT as it is one of the hard
coded interrupts in the interrupt table.

Route the hard coded systick interrupt to z_clock_isr
and make z_clock_isr a weak symbol that can be overwritten
by an alternative systick system clock driver.

Signed-off-by: Bobby Noelte <b0661n0e17e@gmail.com>
This commit is contained in:
Bobby Noelte 2019-02-03 09:36:40 +01:00 committed by Kumar Gala
commit 666cf22c60
3 changed files with 8 additions and 6 deletions

View file

@ -48,7 +48,7 @@ static u32_t elapsed(void)
}
/* Callout out of platform assembly, not hooked via IRQ_CONNECT... */
void _timer_int_handler(void *arg)
void z_clock_isr(void *arg)
{
ARG_UNUSED(arg);
u32_t dticks;