bsp/leon3: Fix bsp_interrupt_is_valid_vector()

The fix to address CID 1399742 (NO_EFFECT) in commit
f8b6359415 introduced a bug since
LEON3_IrqCtrl_EIrq == -1 in case no extended interrupts are supported by
the interrupt controller.  Fix this by checking for
LEON3_IrqCtrl_EIrq > 0.

In addition, interrupt number 0 is reserved and should not be used.
This commit is contained in:
Sebastian Huber
2021-07-01 16:32:41 +02:00
parent 737e18dbca
commit 52fb74ca65

View File

@@ -34,11 +34,15 @@
*/
static inline bool bsp_interrupt_is_valid_vector(rtems_vector_number vector)
{
if (LEON3_IrqCtrl_EIrq != 0) {
return vector <= BSP_INTERRUPT_VECTOR_MAX_EXT;
} else {
return vector <= BSP_INTERRUPT_VECTOR_MAX_STD;
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(