--- c/src/lib/libbsp/sparc/leon3/include/leon.h | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/c/src/lib/libbsp/sparc/leon3/include/leon.h b/c/src/lib/libbsp/sparc/leon3/include/leon.h index bda28f2..d21f054 100644 --- a/c/src/lib/libbsp/sparc/leon3/include/leon.h +++ b/c/src/lib/libbsp/sparc/leon3/include/leon.h @@ -25,6 +25,7 @@ #include <rtems.h> #include <amba.h> +#include <rtems/score/cpu.h> #ifdef __cplusplus extern "C" { @@ -130,11 +131,12 @@ extern int LEON3_IrqCtrl_EIrq; static __inline__ int bsp_irq_fixup(int irq) { - int eirq; + int eirq, cpu; if (LEON3_IrqCtrl_EIrq != 0 && irq == LEON3_IrqCtrl_EIrq) { /* Get interrupt number from IRQ controller */ - eirq = LEON3_IrqCtrl_Regs->intid[LEON3_Cpu_Index] & 0x1f; + cpu = _LEON3_Get_current_processor(); + eirq = LEON3_IrqCtrl_Regs->intid[cpu] & 0x1f; if (eirq & 0x10) irq = eirq; } -- 1.7.0.4 _______________________________________________ rtems-devel mailing list rtems-devel@rtems.org http://www.rtems.org/mailman/listinfo/rtems-devel