summaryrefslogtreecommitdiffstats
path: root/cpukit/score/cpu/arm/rtems/score/arm.h
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2002-07-30 23:16:40 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2002-07-30 23:16:40 +0000
commitfa237002ab54222f18109be49dcb8368c253b107 (patch)
treed30d1039ae2ee7aec82f05a479c8d0c716fe0243 /cpukit/score/cpu/arm/rtems/score/arm.h
parent2002-07-30 Joel Sherrill <joel@OARcorp.com> (diff)
downloadrtems-fa237002ab54222f18109be49dcb8368c253b107.tar.bz2
2002-07-30 Jay Monkman <jtm@smoothsmoothie.com>
* cpu.c, cpu_asm.S, rtems/score/arm.h, rtems/score/cpu.h, rtems/score/cpu_asm.h, rtems/score/types.h: ARM port works well enough to run all sptests, tmtests, and ttcp. In addition to general cleanup, there has been considerable optimization to interrupt disable/enable, endian swapping, and context switching.
Diffstat (limited to 'cpukit/score/cpu/arm/rtems/score/arm.h')
-rw-r--r--cpukit/score/cpu/arm/rtems/score/arm.h49
1 files changed, 34 insertions, 15 deletions
diff --git a/cpukit/score/cpu/arm/rtems/score/arm.h b/cpukit/score/cpu/arm/rtems/score/arm.h
index 05aed89892..7d8d135488 100644
--- a/cpukit/score/cpu/arm/rtems/score/arm.h
+++ b/cpukit/score/cpu/arm/rtems/score/arm.h
@@ -29,25 +29,44 @@ extern "C" {
* dependent features are present in a particular member
* of the family.
*/
-#if defined(__arm9__)
-# define CPU_MODEL_NAME "arm9"
-# define ARM_HAS_FPU 0
-#elif defined(__arm9tdmi__)
-# define CPU_MODEL_NAME "arm9tdmi"
-# define ARM_HAS_FPU 0
-#elif defined(__arm7__)
-# define CPU_MODEL_NAME "arm7"
-# define ARM_HAS_FPU 0
-#elif defined(__arm7tdmi__)
-# define CPU_MODEL_NAME "arm7tdmi"
-# define ARM_HAS_FPU 0
-#elif defined(__arm__)
-# define CPU_MODEL_NAME "unknown ARM"
-# define ARM_HAS_FPU 0
+#if defined(__ARM_ARCH_4__)
+# define CPU_MODEL_NAME "ARMv4"
+# define ARM_HAS_CLZ 0
+# define ARM_HAS_THUMB 0
+
+#elif defined(__ARM_ARCH_4T__)
+# define CPU_MODEL_NAME "ARMv4T"
+# define ARM_HAS_CLZ 0
+# define ARM_HAS_THUMB 1
+
+#elif defined(__ARM_ARCH_5__)
+# define CPU_MODEL_NAME "ARMv5"
+# define ARM_HAS_CLZ 1
+# define ARM_HAS_THUMB 0
+
+#elif defined(__ARM_ARCH_5T__)
+# define CPU_MODEL_NAME "ARMv5T"
+# define ARM_HAS_CLZ 1
+# define ARM_HAS_THUMB 1
+
+#elif defined(__ARM_ARCH_5E__)
+# define CPU_MODEL_NAME "ARMv5E"
+# define ARM_HAS_CLZ 1
+# define ARM_HAS_THUMB 0
+
+#elif defined(__ARM_ARCH_5TE__)
+# define CPU_MODEL_NAME "ARMv5TE"
+# define ARM_HAS_CLZ 1
+# define ARM_HAS_THUMB 1
+
#else
# error "Unsupported CPU Model"
+
#endif
+/* All ARM CPUs are assumed to not have floating point units */
+#define ARM_HAS_FPU 0
+
/*
* Define the name of the CPU family.
*/