[PATCH v2] LEON3: add support for IRQ16..31 for CPU!=0

Daniel Hellstrom daniel at gaisler.com
Mon May 26 16:11:45 UTC 2014


---
 c/src/lib/libbsp/sparc/leon3/include/leon.h |    5 +++--
 1 files changed, 3 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..f2ac8e0 100644
--- a/c/src/lib/libbsp/sparc/leon3/include/leon.h
+++ b/c/src/lib/libbsp/sparc/leon3/include/leon.h
@@ -130,11 +130,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




More information about the devel mailing list