On Thu, Oct 31, 2013 at 9:58 AM, Daniel Hellstrom <dan...@gaisler.com> wrote: > Basically the shared-irq handler overwrite the SMP/MP traphandler > previously initialized with set_vector(). That caused IPIs to enter > BSP spurious handler. > > Signed-off-by: Daniel Hellstrom <dan...@gaisler.com> RTEMS Project has not defined what it means to "sign-off" a commit, so please leave this off.
> --- > c/src/lib/libbsp/sparc/shared/irq/irq-shared.c | 5 +++++ > 1 files changed, 5 insertions(+), 0 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 c84eeb3..16119ff 100644 > --- a/c/src/lib/libbsp/sparc/shared/irq/irq-shared.c > +++ b/c/src/lib/libbsp/sparc/shared/irq/irq-shared.c > @@ -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 This is fine for now. I wonder if there will be more such early initialization handlers that need to be ignored. If so then we might consider a more elegant solution. > vector = SPARC_ASYNCHRONOUS_TRAP(i) + 0x10; > rtems_interrupt_catch(BSP_ISR_handler, vector, &previous_isr); > } > -- > 1.7.0.4 > > _______________________________________________ > rtems-devel mailing list > rtems-devel@rtems.org > http://www.rtems.org/mailman/listinfo/rtems-devel _______________________________________________ rtems-devel mailing list rtems-devel@rtems.org http://www.rtems.org/mailman/listinfo/rtems-devel