source: rtems/c/src/exec/rtems/include/rtems.h @ f817b02

4.104.114.84.95
Last change on this file since f817b02 was f817b02, checked in by Joel Sherrill <joel.sherrill@…>, on 11/04/99 at 18:05:09

The files in libcpu should not be directly dependent on any BSP. In
particular, using bsp.h, or getting information from the BSP which
should properly be obtained from RTEMS is forbidden. This is
necessary to strengthen the division between the BSP independent
parts of RTEMS and the BSPs themselves. This started after
comments and analysis by Ralf Corsepius <corsepiu@…>.
The changes primarily eliminated the need to include bsp.h and
peeking at BSP_Configuration. The use of Cpu_table in each
BSP needs to be eliminated.

  • Property mode set to 100644
File size: 3.4 KB
Line 
1/*  rtems.h
2 *
3 *  This include file contains information about RTEMS executive that
4 *  is required by the application and is CPU independent.  It includes
5 *  two (2) CPU dependent files to tailor its data structures for a
6 *  particular processor.
7 *
8 *  COPYRIGHT (c) 1989-1998.
9 *  On-Line Applications Research Corporation (OAR).
10 *  Copyright assigned to U.S. Government, 1994.
11 *
12 *  The license and distribution terms for this file may be
13 *  found in the file LICENSE in this distribution or at
14 *  http://www.OARcorp.com/rtems/license.html.
15 *
16 *  $Id$
17 */
18
19#ifndef __RTEMS_RTEMS_GENERIC_h
20#define __RTEMS_RTEMS_GENERIC_h
21
22#ifdef __cplusplus
23extern "C" {
24#endif
25
26/*
27 *  Unless told otherwise, the RTEMS include files will hide some stuff
28 *  from normal application code.  Defining this crosses a boundary which
29 *  is undesirable since it means your application is using RTEMS features
30 *  which are not included in the formally defined and supported API. 
31 *  Define this at your own risk.
32 */
33
34#if !defined(__RTEMS_VIOLATE_KERNEL_VISIBILITY__) && !defined(__RTEMS_INSIDE__)
35#define __RTEMS_APPLICATION__
36#endif
37
38#include <rtems/system.h>
39#include <rtems/rtems/status.h>
40#include <rtems/rtems/types.h>
41
42#include <rtems/config.h>
43#include <rtems/init.h>
44#include <rtems/rtems/tasks.h>
45#include <rtems/rtems/intr.h>
46#include <rtems/rtems/clock.h>
47#include <rtems/extension.h>
48#include <rtems/rtems/timer.h>
49#include <rtems/rtems/sem.h>
50#include <rtems/rtems/message.h>
51#include <rtems/rtems/event.h>
52#include <rtems/rtems/signal.h>
53#include <rtems/rtems/event.h>
54#include <rtems/rtems/part.h>
55#include <rtems/rtems/region.h>
56#include <rtems/rtems/dpmem.h>
57#include <rtems/io.h>
58#include <rtems/fatal.h>
59#include <rtems/rtems/ratemon.h>
60#if defined(RTEMS_MULTIPROCESSING)
61#include <rtems/rtems/mp.h>
62#endif
63
64#include <rtems/rtems/support.h>
65#include <rtems/score/sysstate.h>
66
67#define RTEMS_HAS_HARDWARE_FP CPU_HARDWARE_FP
68
69/*
70 *  The following define the constants which may be used in name searches.
71 */
72 
73#define RTEMS_SEARCH_ALL_NODES   OBJECTS_SEARCH_ALL_NODES
74#define RTEMS_SEARCH_OTHER_NODES OBJECTS_SEARCH_OTHER_NODES
75#define RTEMS_SEARCH_LOCAL_NODE  OBJECTS_SEARCH_LOCAL_NODE
76#define RTEMS_WHO_AM_I           OBJECTS_WHO_AM_I
77 
78/*
79 * Parameters and return id's for _Objects_Get_next
80 */
81 
82#define RTEMS_OBJECT_ID_INITIAL_INDEX        OBJECTS_ID_INITIAL_INDEX
83#define RTEMS_OBJECT_ID_FINAL_INDEX          OBJECTS_ID_FINAL_INDEX
84 
85#define RTEMS_OBJECT_ID_INITIAL(class, node) OBJECTS_ID_INITIAL(class, node)
86#define RTEMS_OBJECT_ID_FINAL                OBJECTS_ID_FINAL
87 
88/*
89 *  The following constant defines the minimum stack size which every
90 *  thread must exceed.
91 */
92
93#define RTEMS_MINIMUM_STACK_SIZE  STACK_MINIMUM_SIZE
94
95/*
96 *  Constant for indefinite wait.  (actually an illegal interval)
97 */
98
99#define RTEMS_NO_TIMEOUT  WATCHDOG_NO_TIMEOUT
100
101/*
102 *  An MPCI must support packets of at least this size.
103 */
104 
105#define RTEMS_MINIMUM_PACKET_SIZE  MP_PACKET_MINIMUM_PACKET_SIZE
106 
107/*
108 *  The following constant defines the number of unsigned32's
109 *  in a packet which must be converted to native format in a
110 *  heterogeneous system.  In packets longer than
111 *  MP_PACKET_MINIMUN_HETERO_CONVERSION unsigned32's, some of the "extra" data
112 *  may a user message buffer which is not automatically endian swapped.
113 */
114 
115#define RTEMS_MINIMUN_HETERO_CONVERSION  MP_PACKET_MINIMUN_HETERO_CONVERSION
116
117#ifdef __cplusplus
118}
119#endif
120
121#endif
122/* end of include file */
Note: See TracBrowser for help on using the repository browser.