riscv32: add _arch_irq_connect_dynamic()
Implements dynamic interrupts. Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
This commit is contained in:
parent
b3c398fd8d
commit
383c451214
1 changed files with 17 additions and 0 deletions
|
@ -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 */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue