From fa237002ab54222f18109be49dcb8368c253b107 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Tue, 30 Jul 2002 23:16:40 +0000 Subject: 2002-07-30 Jay Monkman * 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. --- cpukit/score/cpu/arm/rtems/score/arm.h | 49 +++++++++++++++++++++++----------- 1 file changed, 34 insertions(+), 15 deletions(-) (limited to 'cpukit/score/cpu/arm/rtems/score/arm.h') 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. */ -- cgit v1.2.3