LEON3_MP ISR: shared-IRQ setup overwrite SMP/MP ISR trap handler

Basically the shared-irq handler overwrite the SMP/MP traphandler
previously initialized with set_vector(). That caused IPIs to enter
BSP spurious handler.
This commit is contained in:
Daniel Hellstrom
2013-10-31 15:23:19 +01:00
committed by Sebastian Huber
parent ba120d1aaa
commit e1b53274d0

View File

@@ -32,6 +32,11 @@ void BSP_shared_interrupt_init(void)
int i;
for (i=0; i <= BSP_INTERRUPT_VECTOR_MAX_STD; i++) {
#if defined(RTEMS_SMP) || defined(RTEMS_MULTIPROCESSING)
/* Don't install IRQ handler on IPI interrupt */
if (i == LEON3_MP_IRQ)
continue;
#endif
vector = SPARC_ASYNCHRONOUS_TRAP(i) + 0x10;
rtems_interrupt_catch(BSP_ISR_handler, vector, &previous_isr);
}