source: rtems/bsps/m68k/gen68360/include/bsp.h @ d8de6b9

5
Last change on this file since d8de6b9 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 gen68360_bsp
5 *
6 *  @brief Board Support Package for `Generic' Motorola MC68360
7 */
8
9/*
10 *
11 * Based on the `gen68302' board support package, and covered by the
12 * original distribution terms.
13 *
14 * W. Eric Norum
15 * Saskatchewan Accelerator Laboratory
16 * University of Saskatchewan
17 * Saskatoon, Saskatchewan, CANADA
18 * eric@skatter.usask.ca
19 */
20
21/*  bsp.h
22 *
23 *  COPYRIGHT (c) 1989-1999.
24 *  On-Line Applications Research Corporation (OAR).
25 *
26 *  The license and distribution terms for this file may be
27 *  found in the file LICENSE in this distribution or at
28 *  http://www.rtems.org/license/LICENSE.
29 */
30
31#ifndef LIBBSP_M68K_GEN68360_BSP_H
32#define LIBBSP_M68K_GEN68360_BSP_H
33
34#include <bspopts.h>
35#include <bsp/default-initial-extension.h>
36
37#include <rtems.h>
38
39#ifdef __cplusplus
40extern "C" {
41#endif
42
43/**
44 *  @defgroup gen68360_bsp Network driver
45 *
46 *  @ingroup m68k_gen68360
47 *
48 *  @brief Network driver configuration
49 */
50
51struct rtems_bsdnet_ifconfig;
52extern int rtems_scc1_driver_attach (struct rtems_bsdnet_ifconfig *config, int attaching);
53#define RTEMS_BSP_NETWORK_DRIVER_NAME   "scc1"
54#define RTEMS_BSP_NETWORK_DRIVER_ATTACH rtems_scc1_driver_attach
55
56extern rtems_isr_entry M68Kvec[];   /* vector table address */
57
58/* functions */
59
60void M360ExecuteRISC( uint16_t         command );
61void *M360AllocateBufferDescriptors( int count );
62void *M360AllocateRiscTimers( int count );
63extern char M360DefaultWatchdogFeeder;
64
65extern int m360_clock_rate; /* BRG clock rate, defined in console.c */
66
67rtems_isr_entry set_vector(
68  rtems_isr_entry     handler,
69  rtems_vector_number vector,
70  int                 type
71);
72
73/*
74 * Definitions for Atlas Computer Equipment Inc. High Speed Bridge (HSB)
75 */
76#define ATLASHSB_ESR    0x20010000L
77#define ATLASHSB_USICR  0x20010001L
78#define ATLASHSB_DSRR   0x20010002L
79#define ATLASHSB_LED4   0x20010004L
80#define ATLASHSB_ROM_U6 0xFF080000L     /* U6 flash ROM socket */
81
82
83/*
84 * definitions for PGH360 board
85 */
86#if defined(PGH360)
87/*
88 * logical SPI addresses of SPI slaves available
89 */
90#define PGH360_SPI_ADDR_EEPROM     0
91#define PGH360_SPI_ADDR_DISP4_DATA 1
92#define PGH360_SPI_ADDR_DISP4_CTRL 2
93
94/*
95 * Port B bit locations of SPI slave selects
96 */
97#define PGH360_PB_SPI_DISP4_RS_MSK   (1<<15)
98#define PGH360_PB_SPI_DISP4_CE_MSK   (1<<14)
99#define PGH360_PB_SPI_EEP_CE_MSK     (1<< 0)
100#endif /* defined(PGH360) */
101
102/*
103 * Prototypes for BSP methods which cross file boundaries
104 */
105void _Init68360(void);
106
107#ifdef __cplusplus
108}
109#endif
110
111#endif
Note: See TracBrowser for help on using the repository browser.