source: rtems/c/src/exec/score/cpu/no_cpu/rtems/score/no_cpu.h @ a3f5b6b

Last change on this file since a3f5b6b was a3f5b6b, checked in by Joel Sherrill <joel.sherrill@…>, on 05/28/00 at 20:14:45

Added a special CPU model of "rtems_multilib". This is the beginnings
of an experiment to determine what it will take to multilib most of
RTEMS per GNU multilib conventions. It is thought that only
interrupt processing and IO are not multlib-able. This means that
a BSP Kit should include IRQ processing from score/cpu, all peripheral
support (header files from score/cpu, libchip, and libcpu), and the
BSPs themselves. The rest of RTEMS should be multlib-able. But to do
this, all RTEMS CPU model feature flags must be derivable from gcc
cpp predefines. By configuring the bare bsp with the rtems_multilib
CPU model, you can try any combination of CPU CFLAGS and see well how the
logic in that section of the <CPU>.h works. Once all CPU multilib
variations can be built, then RTEMS proper can be multilib'ed and
separated from the BSPs.

  • Property mode set to 100644
File size: 1.4 KB
Line 
1/*  no_cpu.h
2 *
3 *  This file is an example (i.e. no CPU) of the file which is
4 *  created for each CPU family port of RTEMS.
5 *
6 *
7 *  COPYRIGHT (c) 1989-1999.
8 *  On-Line Applications Research Corporation (OAR).
9 *
10 *  The license and distribution terms for this file may be
11 *  found in the file LICENSE in this distribution or at
12 *  http://www.OARcorp.com/rtems/license.html.
13 *
14 *  $Id$
15 *
16 */
17
18#ifndef _INCLUDE_NO_CPU_h
19#define _INCLUDE_NO_CPU_h
20
21#ifdef __cplusplus
22extern "C" {
23#endif
24
25/*
26 *  This file contains the information required to build
27 *  RTEMS for a particular member of the no CPU family.
28 *  It does this by setting variables to indicate which
29 *  implementation dependent features are present in a particular
30 *  member of the family.
31 *
32 *  This is a good place to list all the known CPU models
33 *  that this port supports and which RTEMS CPU model they correspond
34 *  to.
35 */
36 
37#if defined(rtems_multilib)
38/*
39 *  Figure out all CPU Model Feature Flags based upon compiler
40 *  predefines.
41 */
42
43#define CPU_MODEL_NAME  "rtems_multilib"
44#define NOCPU_HAS_FPU     1
45
46#elif defined(no_cpu)
47 
48#define CPU_MODEL_NAME  "no_cpu_model"
49#define NOCPU_HAS_FPU     1
50 
51#else
52 
53#error "Unsupported CPU Model"
54 
55#endif
56
57/*
58 *  Define the name of the CPU family.
59 */
60
61#define CPU_NAME "NO CPU"
62
63#ifdef __cplusplus
64}
65#endif
66
67#endif /* ! _INCLUDE_NO_CPU_h */
68/* end of include file */
Note: See TracBrowser for help on using the repository browser.