diff options
Diffstat (limited to 'bsps/sparc/leon3/start/eirq.c')
-rw-r--r-- | bsps/sparc/leon3/start/eirq.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/bsps/sparc/leon3/start/eirq.c b/bsps/sparc/leon3/start/eirq.c index b4cd6d2948..e3ae5b1a4d 100644 --- a/bsps/sparc/leon3/start/eirq.c +++ b/bsps/sparc/leon3/start/eirq.c @@ -12,6 +12,7 @@ #include <leon.h> #include <bsp/irq.h> +#include <bsp/irq-generic.h> /* GRLIB extended IRQ controller IRQ number */ int LEON3_IrqCtrl_EIrq = -1; @@ -25,6 +26,19 @@ void leon3_ext_irq_init(void) } } +bool bsp_interrupt_is_valid_vector(rtems_vector_number vector) +{ + if (vector == 0) { + return false; + } + + if (LEON3_IrqCtrl_EIrq > 0) { + return vector <= BSP_INTERRUPT_VECTOR_MAX_EXT; + } + + return vector <= BSP_INTERRUPT_VECTOR_MAX_STD; +} + void bsp_interrupt_set_affinity( rtems_vector_number vector, const Processor_mask *affinity |