RTEMS  5.0.0
irq.h
Go to the documentation of this file.
1 
7 /* irq.h
8  *
9  * This include file describe the data structure and the functions implemented
10  * by rtems to write interrupt handlers.
11  *
12  * CopyRight (C) 1998 valette@crf.canon.fr
13  *
14  * This code is heavilly inspired by the public specification of STREAM V2
15  * that can be found at :
16  *
17  * <http://www.chorus.com/Documentation/index.html> by following
18  * the STREAM API Specification Document link.
19  *
20  * The license and distribution terms for this file may be
21  * found in the file LICENSE in this distribution or at
22  * http://www.rtems.org/license/LICENSE.
23  */
24 
32 #ifndef _IRQ_H_
33 #define _IRQ_H_
34 
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38 
43 #include <bsp/irq_asm.h>
44 #include <rtems.h>
45 #define BSP_SHARED_HANDLER_SUPPORT 1
46 #include <rtems/irq.h>
47 #include <rtems/irq-extension.h>
48 
49 /*-------------------------------------------------------------------------+
50 | Constants
51 +--------------------------------------------------------------------------*/
52 
54 #define BSP_IRQ_VECTOR_BASE BSP_ASM_IRQ_VECTOR_BASE
55 #define BSP_IRQ_LINES_NUMBER 16
56 #define BSP_IRQ_MAX_ON_i8259A (BSP_IRQ_LINES_NUMBER - 1)
57 
58 /*
59  * Define the number of valid vectors. This is different to the number of IRQ
60  * signals supported. Use this value to allocation vector data or range check.
61  */
62 #define BSP_IRQ_VECTOR_NUMBER 17
63 #define BSP_IRQ_VECTOR_LOWEST_OFFSET 0
64 #define BSP_IRQ_VECTOR_MAX_OFFSET (BSP_IRQ_VECTOR_NUMBER - 1)
65 
72 #define BSP_PERIODIC_TIMER 0 /* fixed on all builds of PC */
73 #define BSP_KEYBOARD 1 /* fixed on all builds of PC */
74 #define BSP_UART_COM2_IRQ 3 /* fixed for ISA bus */
75 #define BSP_UART_COM1_IRQ 4 /* fixed for ISA bus */
76 #define BSP_UART_COM3_IRQ 5
77 #define BSP_UART_COM4_IRQ 6
78 #define BSP_RT_TIMER1 8
79 #define BSP_RT_TIMER3 10
80 #define BSP_SMP_IPI 16 /* not part of the ATPIC */
81 
82 #define BSP_INTERRUPT_VECTOR_MIN BSP_IRQ_VECTOR_LOWEST_OFFSET
83 #define BSP_INTERRUPT_VECTOR_MAX BSP_IRQ_VECTOR_MAX_OFFSET
84 
88 typedef unsigned short rtems_i8259_masks;
89 
92 #ifdef __cplusplus
93 }
94 #endif
95 
96 #endif /* _IRQ_H_ */
unsigned short rtems_i8259_masks
Type definition for RTEMS managed interrupts.
Definition: irq.h:88
Header file for the Interrupt Manager Extension.