diff options
Diffstat (limited to 'c/src/lib/libbsp/powerpc/qoriq/irq/irq.c')
-rw-r--r-- | c/src/lib/libbsp/powerpc/qoriq/irq/irq.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/powerpc/qoriq/irq/irq.c b/c/src/lib/libbsp/powerpc/qoriq/irq/irq.c index 92d918fd4c..2af3c513eb 100644 --- a/c/src/lib/libbsp/powerpc/qoriq/irq/irq.c +++ b/c/src/lib/libbsp/powerpc/qoriq/irq/irq.c @@ -35,6 +35,10 @@ #include <bsp/utility.h> #include <bsp/qoriq.h> +#ifdef RTEMS_SMP +#include <rtems/score/smpimpl.h> +#endif + RTEMS_INTERRUPT_LOCK_DEFINE(static, lock, "QorIQ IRQ") #define SPURIOUS 0xffff @@ -94,6 +98,13 @@ void bsp_interrupt_dispatch(uintptr_t exception_number) return; } +#ifdef RTEMS_SMP + if (exception_number == 36) { + _SMP_Inter_processor_interrupt_handler(); + return; + } +#endif + ev_int_iack(0, &vector); if (vector != SPURIOUS) { |