source: rtems/c/src/lib/libbsp/arm/vegaplus/irq/bsp_irq_init.c @ 4564566

4.104.114.84.95
Last change on this file since 4564566 was 4564566, checked in by Joel Sherrill <joel.sherrill@…>, on 09/13/00 at 13:45:05

2000-09-13 Emmanuel Raguet <raguet@…>

  • vegaplus BSP submitted by Emmanuel Raguet <raguet@…> and Eric Valette <valette@…>.
  • vegaplus/bsp_specs, configure.in, console/Makefile.am, include/Makefile.am, include/bsp.h, include/registers.h, irq/Makefile.am, irq/bsp_irq_asm.S, irq/bsp_irq_init.c, irq/irq.c, irq/irq.h, start/Makefile.am, start/start.S, startup/Makefile.am, startup/bspstart.c, startup/exit.c, startup/linkcmds, wrapup/Makefile.am: New files.
  • Property mode set to 100644
File size: 962 bytes
Line 
1/* irq_init.c
2 *
3 *  This file contains the implementation of rtems initialization
4 *  related to interrupt handling.
5 *
6 *  CopyRight (C) 2000 Canon Research Centre France SA.
7 *  Emmanuel Raguet, mailto:raguet@crf.canon.fr
8 *
9 *  The license and distribution terms for this file may be
10 *  found in the file LICENSE in this distribution or at
11 *  http://www.OARcorp.com/rtems/license.html.
12 *
13 *  $Id$
14 */
15#include <irq.h>
16#include <bsp.h>
17#include <registers.h>
18
19
20void BSP_rtems_irq_mngt_init() {
21
22  /* Initialize the vector table address in internal RAM */
23  Regs[INTTAB] = VECTOR_TABLE;
24 
25  /* Initialize the GLOBAL INT CONTROL register */
26  Regs[INTGCNTL] = 0x00;
27
28  /* Mask all the interrupts */
29  Regs[INTMASK] = 0xFFFF;
30
31  /* Unmask the 2 arm interrupts IRQ and FIQ on the INT controller */
32  Regs[INTMASKALL] = 0x0;
33
34  /* Ack pending interrupt */
35  while ( ( Regs[INTSTAT] & 0xF433 ) != 0 ) {
36    Regs[INTACK] = 0xFFFF;     
37    Regs[INTEOI] = EOI;
38  }
39}
Note: See TracBrowser for help on using the repository browser.