diff options
author | Daniel Hellstrom <daniel@gaisler.com> | 2017-04-25 09:10:03 +0200 |
---|---|---|
committer | Daniel Hellstrom <daniel@gaisler.com> | 2017-05-14 12:31:56 +0200 |
commit | 011efee8139a5ec526c549704c78372b2205a92f (patch) | |
tree | b63fdd2f98ac3be47c56b8cf2d6e2b489de5c932 | |
parent | leon, greth: new option and change soft-reset logic for EDCL (diff) | |
download | rtems-011efee8139a5ec526c549704c78372b2205a92f.tar.bz2 |
leon, irq: single CPU SMP configuration does not need IPI ISR
-rw-r--r-- | c/src/lib/libbsp/sparc/shared/irq/irq-shared.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/c/src/lib/libbsp/sparc/shared/irq/irq-shared.c b/c/src/lib/libbsp/sparc/shared/irq/irq-shared.c index 174324fb46..f219e49f45 100644 --- a/c/src/lib/libbsp/sparc/shared/irq/irq-shared.c +++ b/c/src/lib/libbsp/sparc/shared/irq/irq-shared.c @@ -47,9 +47,14 @@ void BSP_shared_interrupt_init(void) for (i=0; i <= BSP_INTERRUPT_VECTOR_MAX_STD; i++) { #if defined(LEON3) && \ (defined(RTEMS_SMP) || defined(RTEMS_MULTIPROCESSING)) - /* Don't install IRQ handler on IPI interrupt */ - if (i == LEON3_mp_irq) - continue; + /* Don't install IRQ handler on IPI interrupt. An SMP kernel with max one + * CPU does not use IPIs + */ +#ifdef RTEMS_SMP + if (rtems_configuration_get_maximum_processors() > 1) +#endif + if (i == LEON3_mp_irq) + continue; #endif vector = SPARC_ASYNCHRONOUS_TRAP(i) + 0x10; rtems_interrupt_catch(bsp_isr_handler, vector, &previous_isr); |