leon, irq: single CPU SMP configuration does not need IPI ISR

This commit is contained in:
Daniel Hellstrom
2017-04-25 09:10:03 +02:00
parent fa27fe5c82
commit 011efee813

View File

@@ -47,9 +47,14 @@ void BSP_shared_interrupt_init(void)
for (i=0; i <= BSP_INTERRUPT_VECTOR_MAX_STD; i++) { for (i=0; i <= BSP_INTERRUPT_VECTOR_MAX_STD; i++) {
#if defined(LEON3) && \ #if defined(LEON3) && \
(defined(RTEMS_SMP) || defined(RTEMS_MULTIPROCESSING)) (defined(RTEMS_SMP) || defined(RTEMS_MULTIPROCESSING))
/* Don't install IRQ handler on IPI interrupt */ /* Don't install IRQ handler on IPI interrupt. An SMP kernel with max one
if (i == LEON3_mp_irq) * CPU does not use IPIs
continue; */
#ifdef RTEMS_SMP
if (rtems_configuration_get_maximum_processors() > 1)
#endif
if (i == LEON3_mp_irq)
continue;
#endif #endif
vector = SPARC_ASYNCHRONOUS_TRAP(i) + 0x10; vector = SPARC_ASYNCHRONOUS_TRAP(i) + 0x10;
rtems_interrupt_catch(bsp_isr_handler, vector, &previous_isr); rtems_interrupt_catch(bsp_isr_handler, vector, &previous_isr);