source: rtems/bsps/arm/altera-cyclone-v/include/bsp/socal/alt_dmanonsecure.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: 6.3 KB
Line 
1/*******************************************************************************
2*                                                                              *
3* Copyright 2013 Altera Corporation. All Rights Reserved.                      *
4*                                                                              *
5* Redistribution and use in source and binary forms, with or without           *
6* modification, are permitted provided that the following conditions are met:  *
7*                                                                              *
8* 1. Redistributions of source code must retain the above copyright notice,    *
9*    this list of conditions and the following disclaimer.                     *
10*                                                                              *
11* 2. Redistributions in binary form must reproduce the above copyright notice, *
12*    this list of conditions and the following disclaimer in the documentation *
13*    and/or other materials provided with the distribution.                    *
14*                                                                              *
15* 3. The name of the author may not be used to endorse or promote products     *
16*    derived from this software without specific prior written permission.     *
17*                                                                              *
18* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER "AS IS" AND ANY EXPRESS OR *
19* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF *
20* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED. IN NO  *
21* EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,       *
22* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, *
23* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;  *
24* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,     *
25* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR      *
26* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF       *
27* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.                                   *
28*                                                                              *
29*******************************************************************************/
30
31/* Altera - ALT_DMANONSECURE */
32
33#ifndef __ALTERA_ALT_DMANONSECURE_H__
34#define __ALTERA_ALT_DMANONSECURE_H__
35
36#ifdef __cplusplus
37extern "C"
38{
39#endif  /* __cplusplus */
40
41/*
42 * Component : nonsecure DMA Module Address Space - ALT_DMANONSECURE
43 * nonsecure DMA Module Address Space
44 *
45 * Address space allocated to the nonsecure DMA. For detailed information about the
46 * use of this address space,
47 * [url=http://infocenter.arm.com/help/topic/com.arm.doc.ddi0424b/index.html]click
48 * here[/url] to access the ARM documentation for the DMA-330.
49 *
50 */
51/*
52 * Register : Empty - reg
53 *
54 * Placeholder
55 *
56 * Register Layout
57 *
58 *  Bits   | Access | Reset   | Description
59 * :-------|:-------|:--------|:------------
60 *  [31:0] | RW     | Unknown | Empty     
61 *
62 */
63/*
64 * Field : Empty - fld
65 *
66 * Placeholder
67 *
68 * Field Access Macros:
69 *
70 */
71/* The Least Significant Bit (LSB) position of the ALT_DMANONSECURE_REG_FLD register field. */
72#define ALT_DMANONSECURE_REG_FLD_LSB        0
73/* The Most Significant Bit (MSB) position of the ALT_DMANONSECURE_REG_FLD register field. */
74#define ALT_DMANONSECURE_REG_FLD_MSB        31
75/* The width in bits of the ALT_DMANONSECURE_REG_FLD register field. */
76#define ALT_DMANONSECURE_REG_FLD_WIDTH      32
77/* The mask used to set the ALT_DMANONSECURE_REG_FLD register field value. */
78#define ALT_DMANONSECURE_REG_FLD_SET_MSK    0xffffffff
79/* The mask used to clear the ALT_DMANONSECURE_REG_FLD register field value. */
80#define ALT_DMANONSECURE_REG_FLD_CLR_MSK    0x00000000
81/* The reset value of the ALT_DMANONSECURE_REG_FLD register field is UNKNOWN. */
82#define ALT_DMANONSECURE_REG_FLD_RESET      0x0
83/* Extracts the ALT_DMANONSECURE_REG_FLD field value from a register. */
84#define ALT_DMANONSECURE_REG_FLD_GET(value) (((value) & 0xffffffff) >> 0)
85/* Produces a ALT_DMANONSECURE_REG_FLD register field value suitable for setting the register. */
86#define ALT_DMANONSECURE_REG_FLD_SET(value) (((value) << 0) & 0xffffffff)
87
88#ifndef __ASSEMBLY__
89/*
90 * WARNING: The C register and register group struct declarations are provided for
91 * convenience and illustrative purposes. They should, however, be used with
92 * caution as the C language standard provides no guarantees about the alignment or
93 * atomicity of device memory accesses. The recommended practice for writing
94 * hardware drivers is to use the SoCAL access macros and alt_read_word() and
95 * alt_write_word() functions.
96 *
97 * The struct declaration for register ALT_DMANONSECURE_REG.
98 */
99struct ALT_DMANONSECURE_REG_s
100{
101    uint32_t  fld : 32;  /* Empty */
102};
103
104/* The typedef declaration for register ALT_DMANONSECURE_REG. */
105typedef volatile struct ALT_DMANONSECURE_REG_s  ALT_DMANONSECURE_REG_t;
106#endif  /* __ASSEMBLY__ */
107
108/* The byte offset of the ALT_DMANONSECURE_REG register from the beginning of the component. */
109#define ALT_DMANONSECURE_REG_OFST        0x0
110
111#ifndef __ASSEMBLY__
112/*
113 * WARNING: The C register and register group struct declarations are provided for
114 * convenience and illustrative purposes. They should, however, be used with
115 * caution as the C language standard provides no guarantees about the alignment or
116 * atomicity of device memory accesses. The recommended practice for writing
117 * hardware drivers is to use the SoCAL access macros and alt_read_word() and
118 * alt_write_word() functions.
119 *
120 * The struct declaration for register group ALT_DMANONSECURE.
121 */
122struct ALT_DMANONSECURE_s
123{
124    volatile ALT_DMANONSECURE_REG_t  reg;  /* ALT_DMANONSECURE_REG */
125};
126
127/* The typedef declaration for register group ALT_DMANONSECURE. */
128typedef volatile struct ALT_DMANONSECURE_s  ALT_DMANONSECURE_t;
129/* The struct declaration for the raw register contents of register group ALT_DMANONSECURE. */
130struct ALT_DMANONSECURE_raw_s
131{
132    volatile uint32_t  reg;  /* ALT_DMANONSECURE_REG */
133};
134
135/* The typedef declaration for the raw register contents of register group ALT_DMANONSECURE. */
136typedef volatile struct ALT_DMANONSECURE_raw_s  ALT_DMANONSECURE_raw_t;
137#endif  /* __ASSEMBLY__ */
138
139
140#ifdef __cplusplus
141}
142#endif  /* __cplusplus */
143#endif  /* __ALTERA_ALT_DMANONSECURE_H__ */
144
Note: See TracBrowser for help on using the repository browser.