From 3a76d830983653224ceea9217bdb2b8db00ca67c Mon Sep 17 00:00:00 2001 From: Daniel Hellstrom Date: Mon, 19 May 2014 22:52:18 +0200 Subject: LEON3: add support for IRQ16..31 for CPU!=0 --- c/src/lib/libbsp/sparc/leon3/include/leon.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'c/src/lib/libbsp/sparc/leon3/include/leon.h') diff --git a/c/src/lib/libbsp/sparc/leon3/include/leon.h b/c/src/lib/libbsp/sparc/leon3/include/leon.h index 7e8188d463..57601459b0 100644 --- a/c/src/lib/libbsp/sparc/leon3/include/leon.h +++ b/c/src/lib/libbsp/sparc/leon3/include/leon.h @@ -132,11 +132,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; } -- cgit v1.2.3