RTEMS 7.0-rc1
Loading...
Searching...
No Matches
irq.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-2-Clause */
2
18/*
19 * Copyright (c) 1998 Eric Valette <eric.valette@free.fr>
20 *
21 * Redistribution and use in source and binary forms, with or without
22 * modification, are permitted provided that the following conditions
23 * are met:
24 * 1. Redistributions of source code must retain the above copyright
25 * notice, this list of conditions and the following disclaimer.
26 * 2. Redistributions in binary form must reproduce the above copyright
27 * notice, this list of conditions and the following disclaimer in the
28 * documentation and/or other materials provided with the distribution.
29 *
30 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
31 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
32 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
33 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
34 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
35 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
36 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
37 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
38 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
39 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
40 * POSSIBILITY OF SUCH DAMAGE.
41 */
42
50#ifndef _IRQ_H_
51#define _IRQ_H_
52
53#ifdef __cplusplus
54extern "C" {
55#endif
56
61#include <bsp/irq_asm.h>
62#include <rtems.h>
63#ifndef BSP_SHARED_HANDLER_SUPPORT
64#define BSP_SHARED_HANDLER_SUPPORT 1
65#endif
66#include <rtems/irq.h>
67#include <rtems/irq-extension.h>
68
69/*-------------------------------------------------------------------------+
70| Constants
71+--------------------------------------------------------------------------*/
72
74#define BSP_IRQ_VECTOR_BASE BSP_ASM_IRQ_VECTOR_BASE
75#define BSP_IRQ_LINES_NUMBER 16
76#define BSP_IRQ_MAX_ON_i8259A (BSP_IRQ_LINES_NUMBER - 1)
77
78/*
79 * Define the number of valid vectors. This is different to the number of IRQ
80 * signals supported. Use this value to allocation vector data or range check.
81 */
82#define BSP_IRQ_VECTOR_NUMBER 17
83#define BSP_IRQ_VECTOR_LOWEST_OFFSET 0
84#define BSP_IRQ_VECTOR_MAX_OFFSET (BSP_IRQ_VECTOR_NUMBER - 1)
85
92#define BSP_PERIODIC_TIMER 0 /* fixed on all builds of PC */
93#define BSP_KEYBOARD 1 /* fixed on all builds of PC */
94#define BSP_UART_COM2_IRQ 3 /* fixed for ISA bus */
95#define BSP_UART_COM1_IRQ 4 /* fixed for ISA bus */
96#define BSP_UART_COM3_IRQ 5
97#define BSP_UART_COM4_IRQ 6
98#define BSP_RT_TIMER1 8
99#define BSP_RT_TIMER3 10
100#define BSP_SMP_IPI 16 /* not part of the ATPIC */
101
102#define BSP_INTERRUPT_VECTOR_COUNT BSP_IRQ_VECTOR_NUMBER
103
107typedef unsigned short rtems_i8259_masks;
108
111#ifdef __cplusplus
112}
113#endif
114
115#endif /* _IRQ_H_ */
Interrupt Handler Support.
unsigned short rtems_i8259_masks
Type definition for RTEMS managed interrupts.
Definition: irq.h:107
This header file is provided for backward compatiblility.
i8259 related
This header file defines the RTEMS Classic API.