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