source: rtems/cpukit/score/cpu/arm/rtems/score/arm.h @ 536b41a

Last change on this file since 536b41a was 536b41a, checked in by Ralf Corsepius <ralf.corsepius@…>, on 02/26/03 at 07:16:01

2003-02-26 Ralf Corsepius <corsepiu@…>

  • rtems/score/arm.h: Set up ARM_HAS_FPU based on -DSOFTFP.
  • Property mode set to 100644
File size: 1.9 KB
Line 
1/* 
2 *  $Id$
3 *
4 *
5 *  COPYRIGHT (c) 2000 Canon Research Centre France SA.
6 *  Emmanuel Raguet, mailto:raguet@crf.canon.fr
7 *
8 *  Copyright (c) 2002 Advent Networks, Inc.
9 *       Jay Monkman <jmonkman@adventnetworks.com>
10 *
11 *  The license and distribution terms for this file may be
12 *  found in the file LICENSE in this distribution or at
13 *  http://www.OARcorp.com/rtems/license.html.
14 *
15 */
16
17#ifndef _INCLUDE_ARM_h
18#define _INCLUDE_ARM_h
19
20#ifdef __cplusplus
21extern "C" {
22#endif
23
24/*
25 *  This file contains the information required to build
26 *  RTEMS for a particular member of the "arm"
27 *  family when executing in protected mode.  It does
28 *  this by setting variables to indicate which implementation
29 *  dependent features are present in a particular member
30 *  of the family.
31 */
32#if defined(__ARM_ARCH_4__)
33#  define CPU_MODEL_NAME  "ARMv4"
34#  define ARM_HAS_CLZ     0
35#  define ARM_HAS_THUMB   0
36
37#elif defined(__ARM_ARCH_4T__)
38#  define CPU_MODEL_NAME  "ARMv4T"
39#  define ARM_HAS_CLZ     0
40#  define ARM_HAS_THUMB   1
41
42#elif defined(__ARM_ARCH_5__)
43#  define CPU_MODEL_NAME  "ARMv5"
44#  define ARM_HAS_CLZ     1
45#  define ARM_HAS_THUMB   0
46
47#elif defined(__ARM_ARCH_5T__)
48#  define CPU_MODEL_NAME  "ARMv5T"
49#  define ARM_HAS_CLZ     1
50#  define ARM_HAS_THUMB   1
51
52#elif defined(__ARM_ARCH_5E__)
53#  define CPU_MODEL_NAME  "ARMv5E"
54#  define ARM_HAS_CLZ     1
55#  define ARM_HAS_THUMB   0
56
57#elif defined(__ARM_ARCH_5TE__)
58#  define CPU_MODEL_NAME  "ARMv5TE"
59#  define ARM_HAS_CLZ     1
60#  define ARM_HAS_THUMB   1
61
62#else
63#  error "Unsupported CPU Model"
64
65#endif
66
67/* All ARM CPUs are assumed to not have floating point units */
68#if defined(__SOFTFP__)
69#define ARM_HAS_FPU     0
70#else
71#define ARM_HAS_FPU     1
72# error "FPU-support not yet implemented for the arm"
73#endif
74
75
76/*
77 *  Define the name of the CPU family.
78 */
79
80#define CPU_NAME "ARM"
81
82#ifdef __cplusplus
83}
84#endif
85
86#endif /* ! _INCLUDE_ARM_h */
87/* end of include file */
Note: See TracBrowser for help on using the repository browser.