RTEMS  5.0.0
irq.h
1 /* irq.h
2  *
3  * This include file describe the data structure and the functions implemented
4  * by rtems to write interrupt handlers.
5  *
6  * CopyRight (C) 1999 valette@crf.canon.fr
7  *
8  * This code is heavilly inspired by the public specification of STREAM V2
9  * that can be found at :
10  *
11  * <http://www.chorus.com/Documentation/index.html> by following
12  * the STREAM API Specification Document link.
13  *
14  * The license and distribution terms for this file may be
15  * found in the file LICENSE in this distribution or at
16  * http://www.rtems.org/license/LICENSE.
17  */
18 
19 #ifndef LIBBSP_POWERPC_IRQ_H
20 #define LIBBSP_POWERPC_IRQ_H
21 
22 #define BSP_SHARED_HANDLER_SUPPORT 1
23 
24 #ifndef ASM
25 
26 #include <rtems/irq.h>
27 
28 
29 /*
30  * Symblolic IRQ names and related definitions.
31  */
32 
33 /*
34  * PCI IRQ handlers related definitions
35  * CAUTION : BSP_PCI_IRQ_LOWEST_OFFSET should be equal to OPENPIC_VEC_SOURCE
36  */
37 /* FIXME: do we need PCI interrrupts here ? */
38 #define BSP_PCI_IRQ_NUMBER (16)
39 #define BSP_PCI_IRQ_LOWEST_OFFSET (0)
40 #define BSP_PCI_IRQ_MAX_OFFSET (BSP_PCI_IRQ_LOWEST_OFFSET + BSP_PCI_IRQ_NUMBER - 1)
41 
42 #define BSP_PROCESSOR_IRQ_NUMBER (1)
43 #define BSP_PROCESSOR_IRQ_LOWEST_OFFSET (BSP_PCI_IRQ_MAX_OFFSET)
44 #define BSP_PROCESSOR_IRQ_MAX_OFFSET (BSP_PROCESSOR_IRQ_LOWEST_OFFSET+BSP_PROCESSOR_IRQ_NUMBER-1)
45 
46 
47  /*
48  * Summary
49  */
50 #define BSP_IRQ_NUMBER (BSP_PROCESSOR_IRQ_MAX_OFFSET + 1)
51 #define BSP_LOWEST_OFFSET (BSP_PCI_IRQ_LOWEST_OFFSET)
52 #define BSP_MAX_OFFSET (BSP_IRQ_NUMBER - 1)
53 
54  /*
55  * Some Processor execption handled as rtems IRQ symbolic name definition
56  */
57 #define BSP_DECREMENTER (BSP_PROCESSOR_IRQ_LOWEST_OFFSET)
58 
59 #define BSP_INTERRUPT_VECTOR_MIN BSP_LOWEST_OFFSET
60 
61 #define BSP_INTERRUPT_VECTOR_MAX BSP_MAX_OFFSET
62 
63 /* #include <bsp/irq_supp.h> */
64 
65 #ifdef __cplusplus
66 extern "C" {
67 #endif
68 
69 void BSP_rtems_irq_mng_init(unsigned cpuId);
70 
71 #ifdef __cplusplus
72 }
73 #endif
74 
75 #endif
76 #endif