RTEMS 5.2
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
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
66extern "C" {
67#endif
68
69void BSP_rtems_irq_mng_init(unsigned cpuId);
70
71#ifdef __cplusplus
72}
73#endif
74
75#endif
76#endif