diff options
author | Daniel Hellstrom <daniel@gaisler.com> | 2012-04-06 05:05:07 -0500 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@oarcorp.com> | 2012-04-06 08:17:58 -0500 |
commit | 95518e59bd6dda4bda22f4f02a22613b67e39400 (patch) | |
tree | 6cfb21ea5492179731efad5a3a91813eb0f76df3 /c/src/lib/libbsp/sparc/leon3/amba/amba.c | |
parent | LEON3: console use register pointers instead of UART indexes (diff) | |
download | rtems-95518e59bd6dda4bda22f4f02a22613b67e39400.tar.bz2 |
SPARC BSPs: implemented shared-irq using libbsp/shared layer
The implementation use IRQ number instead of vector number since
some IRQs does not have a unique vector, for example the extended
interrupts all enter the same trap vector entry.
Added support for the LEON3 extended interrupt controller when using
the shared IRQ layer.
ERC32 patches untested.
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
Regenerate
Diffstat (limited to 'c/src/lib/libbsp/sparc/leon3/amba/amba.c')
-rw-r--r-- | c/src/lib/libbsp/sparc/leon3/amba/amba.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/sparc/leon3/amba/amba.c b/c/src/lib/libbsp/sparc/leon3/amba/amba.c index b0a43f9c19..03af2265d2 100644 --- a/c/src/lib/libbsp/sparc/leon3/amba/amba.c +++ b/c/src/lib/libbsp/sparc/leon3/amba/amba.c @@ -18,6 +18,9 @@ /* Structure containing address to devices found on the Amba Plug&Play bus */ amba_confarea_type amba_conf; +/* GRLIB extended IRQ controller register */ +extern void leon3_ext_irq_init(void); + /* Pointers to Interrupt Controller configuration registers */ volatile LEON3_IrqCtrl_Regs_Map *LEON3_IrqCtrl_Regs; @@ -48,6 +51,9 @@ void amba_initialize(void) LEON3_IrqCtrl_Regs = (volatile LEON3_IrqCtrl_Regs_Map *) dev.start; } + /* Init Extended IRQ controller if available */ + leon3_ext_irq_init(); + /* find GP Timer */ i = amba_find_apbslv(&amba_conf,VENDOR_GAISLER,GAISLER_GPTIMER,&dev); if ( i > 0 ){ |