source: rtems/bsps/m68k/gen68340/include/m340timer.h @ d7d66d7

5
Last change on this file since d7d66d7 was 2afb22b, checked in by Chris Johns <chrisj@…>, on Dec 23, 2017 at 7:18:56 AM

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.0 KB
RevLine 
[56ac38e]1/**
2 * @file
3 *
4 * @ingroup m68k_gen68340
5 *
6 * @brief Time driver definitions.
7 */
8
[132f194]9/*
10 *  Header file for timer driver
11 *  defines for accessing M68340 timer registers
12 *
13 *  Author:
14 *  Geoffroy Montel
15 *  France Telecom - CNET/DSM/TAM/CAT
16 *  4, rue du Clos Courtel
17 *  35512 CESSON-SEVIGNE
18 *  FRANCE
[6128a4a]19 *
20 *  e-mail: g_montel@yahoo.com
[132f194]21 *
[08311cc3]22 *  COPYRIGHT (c) 1989-1999.
[132f194]23 *  On-Line Applications Research Corporation (OAR).
24 *
25 *  The license and distribution terms for this file may be
26 *  found in the file LICENSE in this distribution or at
[c499856]27 *  http://www.rtems.org/license/LICENSE.
[132f194]28 */
29
30#ifndef __m340timer_H__
31#define __m340timer_H__
32
[722ab6d]33extern void Fifo_Full_benchmark_timer_initialize (void);
[132f194]34
35extern void (*Restart_Fifo_Full_A_Timer)();
36extern void (*Restart_Check_A_Timer)();
37extern void (*Restart_Fifo_Full_B_Timer)();
38extern void (*Restart_Check_B_Timer)();
39
40/*  CR */
41#define m340_SWR                (1<<15)
42#define m340_Polling_Mode       (0<<12)
43#define m340_TC_Enabled         (1<<12)
44#define m340_TG_Enabled         (2<<12)
45#define m340_TG_TC_Enabled      (3<<12)
46#define m340_TO_Enabled         (4<<12)
47#define m340_TO_TC_Enabled      (5<<12)
48#define m340_TG_TG_Enabled      (6<<12)
49#define m340_TO_TG_TG_Enabled   (7<<12)
50#define m340_TGE                (1<<11)
51#define m340_PSE                (1<<10)
52#define m340_CPE                (1<<9)
53#define m340_CLK                (1<<8)
54#define m340_Divide_by_2        (1<<5)
55#define m340_Divide_by_4        (2<<5)
56#define m340_Divide_by_8        (3<<5)
57#define m340_Divide_by_16       (4<<5)
58#define m340_Divide_by_32       (5<<5)
59#define m340_Divide_by_64       (6<<5)
60#define m340_Divide_by_128      (7<<5)
61#define m340_Divide_by_256      (0<<5)
62#define m340_ICOC               (0<<2)
63#define m340_SWG                (1<<2)
64#define m340_VDCSWG             (2<<2)
65#define m340_VWSSPG             (3<<2)
66#define m340_PWM                (4<<2)
67#define m340_PM                 (5<<2)
68#define m340_EC                 (6<<2)
69#define m340_TB                 (7<<2)
70#define m340_Disabled           0
71#define m340_Toggle_Mode        1
72#define m340_Zero_Mode          2
73#define m340_One_Mode           3
74
75/*  SR */
76#define m340_IRQ                (1<<15)
77#define m340_TO                 (1<<14)
78#define m340_TG                 (1<<13)
79#define m340_TC                 (1<<12)
80#define m340_TGL                (1<<11)
81#define m340_ON                 (1<<10)
82#define m340_OUT                (1<<9)
83#define m340_COM                (1<<8)
84
85#endif
Note: See TracBrowser for help on using the repository browser.