source: rtems/c/src/lib/libbsp/powerpc/virtex5/include/irq.h @ 655bd39

4.115
Last change on this file since 655bd39 was 655bd39, checked in by Ric Claus <claus@…>, on 11/30/12 at 23:58:32

Virtex5 BSP: Various updates and improvements.

This BSP now uses the MPC6xx clock driver instead of a modified PPC403 clock
driver. Support for the MMU has been added, but is not enabled by default.

  • Property mode set to 100644
File size: 2.8 KB
Line 
1/*===============================================================*\
2| Project: RTEMS virtex BSP                                       |
3+-----------------------------------------------------------------+
4|                    Copyright (c) 2007                           |
5|                    Embedded Brains GmbH                         |
6|                    Obere Lagerstr. 30                           |
7|                    D-82178 Puchheim                             |
8|                    Germany                                      |
9|                    rtems@embedded-brains.de                     |
10+-----------------------------------------------------------------+
11| The license and distribution terms for this file may be         |
12| found in the file LICENSE in this distribution or at            |
13|                                                                 |
14| http://www.rtems.com/license/LICENSE.                           |
15|                                                                 |
16+-----------------------------------------------------------------+
17| this file declares constants of the interrupt controller        |
18\*===============================================================*/
19#ifndef VIRTEX5_IRQ_IRQ_H
20#define VIRTEX5_IRQ_IRQ_H
21
22#include <rtems/irq.h>
23
24/*
25 * the following definitions specify the indices used
26 * to interface the interrupt handler API
27 */
28
29/*
30 * Peripheral IRQ handlers related definitions
31 */
32  /* Not supported at this level */
33
34/*
35 * Processor IRQ handlers related definitions
36 */
37#define BSP_PROCESSOR_IRQ_NUMBER        3
38#define BSP_PROCESSOR_IRQ_LOWEST_OFFSET 0
39#define BSP_PROCESSOR_IRQ_MAX_OFFSET    (BSP_PROCESSOR_IRQ_LOWEST_OFFSET\
40                                         +BSP_PROCESSOR_IRQ_NUMBER-1)
41
42#define BSP_IS_PROCESSOR_IRQ(irqnum)                 \
43  (((irqnum) >= BSP_PROCESSOR_IRQ_LOWEST_OFFSET) &&  \
44   ((irqnum) <= BSP_PROCESSOR_IRQ_MAX_OFFSET))
45
46/*
47 * Summary
48 */
49#define BSP_IRQ_NUMBER                  (BSP_PROCESSOR_IRQ_MAX_OFFSET+1)
50#define BSP_LOWEST_OFFSET                BSP_PROCESSOR_IRQ_LOWEST_OFFSET
51#define BSP_MAX_OFFSET                   BSP_PROCESSOR_IRQ_MAX_OFFSET
52
53#define BSP_IS_VALID_IRQ(irqnum)        (BSP_IS_PROCESSOR_IRQ(irqnum))
54
55#ifndef ASM
56#ifdef __cplusplus
57extern "C" {
58#endif
59
60/*
61 * index table for the module specific handlers, a few entries are only placeholders
62 */
63  typedef enum {
64    BSP_EXT               = BSP_PROCESSOR_IRQ_LOWEST_OFFSET + 0,
65    BSP_PIT               = BSP_PROCESSOR_IRQ_LOWEST_OFFSET + 1,
66    BSP_CRIT              = BSP_PROCESSOR_IRQ_LOWEST_OFFSET + 2
67  } rtems_irq_symbolic_name;
68
69  extern rtems_irq_connect_data *BSP_rtems_irq_tbl;
70  void BSP_rtems_irq_mngt_init(unsigned cpuId);
71
72#ifdef __cplusplus
73}
74
75#define BSP_DEC           BSP_PIT
76#define BSP_DECREMENTER   BSP_PIT
77
78#endif
79#endif /* ASM */
80
81#endif /* VIRTEX5_IRQ_IRQ_H */
Note: See TracBrowser for help on using the repository browser.