summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/sparc/leon3/include/leon.h
diff options
context:
space:
mode:
authorDaniel Hellstrom <daniel@gaisler.com>2014-05-19 22:52:18 +0200
committerDaniel Hellstrom <daniel@gaisler.com>2014-05-28 17:33:22 +0200
commit3a76d830983653224ceea9217bdb2b8db00ca67c (patch)
tree13ad3018143adcc9f80ab56ee53d8e4e145dfd1e /c/src/lib/libbsp/sparc/leon3/include/leon.h
parentbsps: Do not build tests that require a tick interrupt. (diff)
downloadrtems-3a76d830983653224ceea9217bdb2b8db00ca67c.tar.bz2
LEON3: add support for IRQ16..31 for CPU!=0
Diffstat (limited to 'c/src/lib/libbsp/sparc/leon3/include/leon.h')
-rw-r--r--c/src/lib/libbsp/sparc/leon3/include/leon.h5
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 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;
}