source: rtems/bsps/arm/raspberrypi/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: 1.9 KB
Line 
1/**
2 * @file
3 *
4 * @ingroup raspberrypi_interrupt
5 *
6 * @brief Interrupt definitions.
7 */
8
9/**
10 * Copyright (c) 2013 Alan Cudmore
11 *
12 *  The license and distribution terms for this file may be
13 *  found in the file LICENSE in this distribution or at
14 *
15 *  http://www.rtems.org/license/LICENSE
16 *
17 */
18
19#ifndef LIBBSP_ARM_RASBPERRYPI_IRQ_H
20#define LIBBSP_ARM_RASPBERRYPI_IRQ_H
21
22#ifndef ASM
23
24#include <rtems.h>
25#include <rtems/irq.h>
26#include <rtems/irq-extension.h>
27
28/**
29 * @defgroup raspberrypi_interrupt Interrrupt Support
30 *
31 * @ingroup arm_raspberrypi
32 *
33 * @brief Interrupt support.
34 */
35
36#define BCM2835_INTC_TOTAL_IRQ       64 + 8
37
38
39#define BCM2835_IRQ_ID_GPU_TIMER_M0  0
40#define BCM2835_IRQ_ID_GPU_TIMER_M1  1
41#define BCM2835_IRQ_ID_GPU_TIMER_M2  2
42#define BCM2835_IRQ_ID_GPU_TIMER_M3  3
43
44#define BCM2835_IRQ_ID_USB           9
45#define BCM2835_IRQ_ID_AUX           29
46#define BCM2835_IRQ_ID_SPI_SLAVE     43
47#define BCM2835_IRQ_ID_PWA0          45
48#define BCM2835_IRQ_ID_PWA1          46
49#define BCM2835_IRQ_ID_SMI           48
50#define BCM2835_IRQ_ID_GPIO_0        49
51#define BCM2835_IRQ_ID_GPIO_1        50
52#define BCM2835_IRQ_ID_GPIO_2        51
53#define BCM2835_IRQ_ID_GPIO_3        52
54#define BCM2835_IRQ_ID_I2C           53
55#define BCM2835_IRQ_ID_SPI           54
56#define BCM2835_IRQ_ID_PCM           55
57#define BCM2835_IRQ_ID_UART          57
58#define BCM2835_IRQ_ID_SD            62
59
60#define BCM2835_IRQ_ID_BASIC_BASE_ID 64
61#define BCM2835_IRQ_ID_TIMER_0       64
62#define BCM2835_IRQ_ID_MAILBOX_0     65
63#define BCM2835_IRQ_ID_DOORBELL_0    66
64#define BCM2835_IRQ_ID_DOORBELL_1    67
65#define BCM2835_IRQ_ID_GPU0_HALTED   68
66#define BCM2835_IRQ_ID_GPU1_HALTED   69
67#define BCM2835_IRQ_ID_ILL_ACCESS_1  70
68#define BCM2835_IRQ_ID_ILL_ACCESS_0  71
69
70#define BSP_INTERRUPT_VECTOR_MIN    (0)
71#define BSP_INTERRUPT_VECTOR_MAX    (BCM2835_INTC_TOTAL_IRQ - 1)
72
73#define BSP_IRQ_COUNT               (BCM2835_INTC_TOTAL_IRQ)
74
75#endif /* ASM */
76#endif /* LIBBSP_ARM_RASPBERRYPI_IRQ_H */
Note: See TracBrowser for help on using the repository browser.