riscv32: add _arch_irq_connect_dynamic()

Implements dynamic interrupts.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
This commit is contained in:
Andrew Boie 2018-10-31 17:00:22 -07:00 committed by Anas Nashif
commit 383c451214

View file

@ -28,3 +28,20 @@ void _irq_spurious(void *unused)
_NanoFatalErrorHandler(_NANO_ERR_SPURIOUS_INT, &_default_esf);
}
#ifdef CONFIG_DYNAMIC_INTERRUPTS
int _arch_irq_connect_dynamic(unsigned int irq, unsigned int priority,
void (*routine)(void *parameter), void *parameter,
u32_t flags)
{
ARG_UNUSED(flags);
z_isr_install(irq, routine, parameter);
#if defined(CONFIG_RISCV_HAS_PLIC)
riscv_plic_set_priority(irq, priority);
#else
ARG_UNUSED(priority);
#endif
return irq;
}
#endif /* CONFIG_DYNAMIC_INTERRUPTS */