source: rtems/bsps/arm/realview-pbx-a9/include/bsp/irq.h @ 2afb22b

5
Last change on this file since 2afb22b was 2afb22b, checked in by Chris Johns <chrisj@…>, on 12/23/17 at 07:18:56

Remove make preinstall

A speciality of the RTEMS build system was the make preinstall step. It
copied header files from arbitrary locations into the build tree. The
header files were included via the -Bsome/build/tree/path GCC command
line option.

This has at least seven problems:

  • The make preinstall step itself needs time and disk space.
  • Errors in header files show up in the build tree copy. This makes it hard for editors to open the right file to fix the error.
  • There is no clear relationship between source and build tree header files. This makes an audit of the build process difficult.
  • The visibility of all header files in the build tree makes it difficult to enforce API barriers. For example it is discouraged to use BSP-specifics in the cpukit.
  • An introduction of a new build system is difficult.
  • Include paths specified by the -B option are system headers. This may suppress warnings.
  • The parallel build had sporadic failures on some hosts.

This patch removes the make preinstall step. All installed header
files are moved to dedicated include directories in the source tree.
Let @RTEMS_CPU@ be the target architecture, e.g. arm, powerpc, sparc,
etc. Let @RTEMS_BSP_FAMILIY@ be a BSP family base directory, e.g.
erc32, imx, qoriq, etc.

The new cpukit include directories are:

  • cpukit/include
  • cpukit/score/cpu/@RTEMS_CPU@/include
  • cpukit/libnetworking

The new BSP include directories are:

  • bsps/include
  • bsps/@RTEMS_CPU@/include
  • bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILIY@/include

There are build tree include directories for generated files.

The include directory order favours the most general header file, e.g.
it is not possible to override general header files via the include path
order.

The "bootstrap -p" option was removed. The new "bootstrap -H" option
should be used to regenerate the "headers.am" files.

Update #3254.

  • Property mode set to 100644
File size: 2.4 KB
Line 
1/**
2 * @file
3 *
4 * @ingroup realview-pbx-a9_interrupt
5 *
6 * @brief Interrupt definitions.
7 */
8
9/*
10 * Copyright (c) 2013 embedded brains GmbH.  All rights reserved.
11 *
12 *  embedded brains GmbH
13 *  Dornierstr. 4
14 *  82178 Puchheim
15 *  Germany
16 *  <info@embedded-brains.de>
17 *
18 * The license and distribution terms for this file may be
19 * found in the file LICENSE in this distribution or at
20 * http://www.rtems.org/license/LICENSE.
21 */
22
23#ifndef LIBBSP_ARM_REALVIEW_PBX_A9_IRQ_H
24#define LIBBSP_ARM_REALVIEW_PBX_A9_IRQ_H
25
26#ifndef ASM
27
28#include <rtems/irq.h>
29#include <rtems/irq-extension.h>
30
31#include <bsp/arm-a9mpcore-irq.h>
32#include <bsp/arm-gic-irq.h>
33
34/**
35 * @defgroup realview-pbx-a9_interrupt Interrrupt Support
36 *
37 * @ingroup arm_realview-pbx-a9
38 *
39 * @brief Interrupt support.
40 */
41
42#ifdef __cplusplus
43extern "C" {
44#endif /* __cplusplus */
45
46#define RVPBXA9_IRQ_WATCHDOG_0 32
47#define RVPBXA9_IRQ_SW_IRQ 33
48#define RVPBXA9_IRQ_TIMER_0_1 36
49#define RVPBXA9_IRQ_TIMER_2_3 37
50#define RVPBXA9_IRQ_GPIO_0 38
51#define RVPBXA9_IRQ_GPIO_1 39
52#define RVPBXA9_IRQ_GPIO_2 40
53#define RVPBXA9_IRQ_RTC 42
54#define RVPBXA9_IRQ_SSP 43
55#define RVPBXA9_IRQ_UART_0 44
56#define RVPBXA9_IRQ_UART_1 45
57#define RVPBXA9_IRQ_UART_2 46
58#define RVPBXA9_IRQ_UART_3 47
59#define RVPBXA9_IRQ_SCI 48
60#define RVPBXA9_IRQ_MCI_A 49
61#define RVPBXA9_IRQ_MCI_B 50
62#define RVPBXA9_IRQ_AACI 51
63#define RVPBXA9_IRQ_KMI0 52
64#define RVPBXA9_IRQ_KMI1 53
65#define RVPBXA9_IRQ_CLCD 55
66#define RVPBXA9_IRQ_DMAC 56
67#define RVPBXA9_IRQ_PWRFAIL 57
68#define RVPBXA9_IRQ_CF_INT 59
69#define RVPBXA9_IRQ_ETHERNET 60
70#define RVPBXA9_IRQ_USB 61
71#define RVPBXA9_IRQ_T1_INT_0 64
72#define RVPBXA9_IRQ_T1_INT_1 65
73#define RVPBXA9_IRQ_T1_INT_2 66
74#define RVPBXA9_IRQ_T1_INT_3 67
75#define RVPBXA9_IRQ_T1_INT_4 68
76#define RVPBXA9_IRQ_T1_INT_5 69
77#define RVPBXA9_IRQ_T1_INT_6 70
78#define RVPBXA9_IRQ_T1_INT_7 71
79#define RVPBXA9_IRQ_WATCHDOG_1 72
80#define RVPBXA9_IRQ_TIMER_4_5 73
81#define RVPBXA9_IRQ_TIMER_6_7 74
82#define RVPBXA9_IRQ_PCI_INTR 80
83#define RVPBXA9_IRQ_P_NMI 81
84#define RVPBXA9_IRQ_P_NINT_0 82
85#define RVPBXA9_IRQ_P_NINT_1 83
86#define RVPBXA9_IRQ_P_NINT_2 84
87#define RVPBXA9_IRQ_P_NINT_3 85
88#define RVPBXA9_IRQ_P_NINT_4 86
89#define RVPBXA9_IRQ_P_NINT_5 87
90#define RVPBXA9_IRQ_P_NINT_6 88
91#define RVPBXA9_IRQ_P_NINT_7 89
92
93#define BSP_INTERRUPT_VECTOR_MIN 0
94#define BSP_INTERRUPT_VECTOR_MAX 89
95
96#ifdef __cplusplus
97}
98#endif /* __cplusplus */
99
100#endif /* ASM */
101
102#endif /* LIBBSP_ARM_REALVIEW_PBX_A9_IRQ_H */
Note: See TracBrowser for help on using the repository browser.