From 17508d02bba1d47f4cf884b190566e72f69adb4e Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Wed, 26 Jul 2000 19:26:28 +0000 Subject: Port of RTEMS to the Texas Instruments C3x/C4x DSP families including a BSP (c4xsim) supporting the simulator included with gdb. This port was done by Joel Sherrill and Jennifer Averett of OAR Corporation. Also included with this port is a space/time optimization to eliminate FP context switch management on CPUs without hardware or software FP. An issue with this port was that sizeof(unsigned32) = sizeof(unsigned8) on this CPU. This required addressing alignment checks and assumptions as well as fixing code that assumed sizeof(unsigned32) == 4. --- cpukit/score/cpu/a29k/rtems/score/cpu.h | 1 + cpukit/score/cpu/c4x/.cvsignore | 13 +++++++++++++ cpukit/score/cpu/c4x/rtems/.cvsignore | 2 ++ cpukit/score/cpu/c4x/rtems/score/.cvsignore | 2 ++ cpukit/score/cpu/hppa1.1/rtems/score/cpu.h | 1 + cpukit/score/cpu/i386/rtems/score/cpu.h | 1 + cpukit/score/cpu/i960/rtems/score/cpu.h | 2 ++ cpukit/score/cpu/mips/rtems/score/cpu.h | 1 + cpukit/score/cpu/mips64orion/rtems/score/cpu.h | 1 + cpukit/score/cpu/sh/rtems/score/cpu.h | 1 + cpukit/score/cpu/sparc/rtems/score/cpu.h | 1 + cpukit/score/cpu/unix/rtems/score/cpu.h | 1 + 12 files changed, 27 insertions(+) create mode 100644 cpukit/score/cpu/c4x/.cvsignore create mode 100644 cpukit/score/cpu/c4x/rtems/.cvsignore create mode 100644 cpukit/score/cpu/c4x/rtems/score/.cvsignore (limited to 'cpukit/score/cpu') diff --git a/cpukit/score/cpu/a29k/rtems/score/cpu.h b/cpukit/score/cpu/a29k/rtems/score/cpu.h index 93528e5d7c..a4330123f2 100644 --- a/cpukit/score/cpu/a29k/rtems/score/cpu.h +++ b/cpukit/score/cpu/a29k/rtems/score/cpu.h @@ -187,6 +187,7 @@ extern void a29k_sigdfl_sup(void); #else #define CPU_HARDWARE_FP FALSE #endif +#define CPU_SOFTWARE_FP FALSE /* * Are all tasks RTEMS_FLOATING_POINT tasks implicitly? diff --git a/cpukit/score/cpu/c4x/.cvsignore b/cpukit/score/cpu/c4x/.cvsignore new file mode 100644 index 0000000000..525275c115 --- /dev/null +++ b/cpukit/score/cpu/c4x/.cvsignore @@ -0,0 +1,13 @@ +Makefile +Makefile.in +aclocal.m4 +config.cache +config.guess +config.log +config.status +config.sub +configure +depcomp +install-sh +missing +mkinstalldirs diff --git a/cpukit/score/cpu/c4x/rtems/.cvsignore b/cpukit/score/cpu/c4x/rtems/.cvsignore new file mode 100644 index 0000000000..282522db03 --- /dev/null +++ b/cpukit/score/cpu/c4x/rtems/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/cpukit/score/cpu/c4x/rtems/score/.cvsignore b/cpukit/score/cpu/c4x/rtems/score/.cvsignore new file mode 100644 index 0000000000..282522db03 --- /dev/null +++ b/cpukit/score/cpu/c4x/rtems/score/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/cpukit/score/cpu/hppa1.1/rtems/score/cpu.h b/cpukit/score/cpu/hppa1.1/rtems/score/cpu.h index e5db793923..037226fa21 100644 --- a/cpukit/score/cpu/hppa1.1/rtems/score/cpu.h +++ b/cpukit/score/cpu/hppa1.1/rtems/score/cpu.h @@ -56,6 +56,7 @@ extern "C" { */ #define CPU_HARDWARE_FP TRUE +#define CPU_SOFTWARE_FP FALSE #define CPU_ALL_TASKS_ARE_FP TRUE #define CPU_IDLE_TASK_IS_FP FALSE #define CPU_USE_DEFERRED_FP_SWITCH FALSE diff --git a/cpukit/score/cpu/i386/rtems/score/cpu.h b/cpukit/score/cpu/i386/rtems/score/cpu.h index ab256cfa57..a0b7c2c4e2 100644 --- a/cpukit/score/cpu/i386/rtems/score/cpu.h +++ b/cpukit/score/cpu/i386/rtems/score/cpu.h @@ -58,6 +58,7 @@ extern "C" { #else #define CPU_HARDWARE_FP FALSE #endif +#define CPU_SOFTWARE_FP FALSE #define CPU_ALL_TASKS_ARE_FP FALSE #define CPU_IDLE_TASK_IS_FP FALSE diff --git a/cpukit/score/cpu/i960/rtems/score/cpu.h b/cpukit/score/cpu/i960/rtems/score/cpu.h index 71834e6dd2..958e27e87b 100644 --- a/cpukit/score/cpu/i960/rtems/score/cpu.h +++ b/cpukit/score/cpu/i960/rtems/score/cpu.h @@ -58,6 +58,8 @@ extern "C" { #define CPU_HARDWARE_FP FALSE #endif +#define CPU_SOFTWARE_FP FALSE + #define CPU_ALL_TASKS_ARE_FP FALSE #define CPU_IDLE_TASK_IS_FP FALSE #define CPU_USE_DEFERRED_FP_SWITCH TRUE diff --git a/cpukit/score/cpu/mips/rtems/score/cpu.h b/cpukit/score/cpu/mips/rtems/score/cpu.h index d7d1b42e0b..35d936ec7e 100644 --- a/cpukit/score/cpu/mips/rtems/score/cpu.h +++ b/cpukit/score/cpu/mips/rtems/score/cpu.h @@ -174,6 +174,7 @@ extern void mips_fatal_error ( int error ); #else #define CPU_HARDWARE_FP FALSE #endif +#define CPU_SOFTWARE_FP FALSE /* * Are all tasks RTEMS_FLOATING_POINT tasks implicitly? diff --git a/cpukit/score/cpu/mips64orion/rtems/score/cpu.h b/cpukit/score/cpu/mips64orion/rtems/score/cpu.h index d7d1b42e0b..35d936ec7e 100644 --- a/cpukit/score/cpu/mips64orion/rtems/score/cpu.h +++ b/cpukit/score/cpu/mips64orion/rtems/score/cpu.h @@ -174,6 +174,7 @@ extern void mips_fatal_error ( int error ); #else #define CPU_HARDWARE_FP FALSE #endif +#define CPU_SOFTWARE_FP FALSE /* * Are all tasks RTEMS_FLOATING_POINT tasks implicitly? diff --git a/cpukit/score/cpu/sh/rtems/score/cpu.h b/cpukit/score/cpu/sh/rtems/score/cpu.h index 43ccf35a73..f6c9252912 100644 --- a/cpukit/score/cpu/sh/rtems/score/cpu.h +++ b/cpukit/score/cpu/sh/rtems/score/cpu.h @@ -132,6 +132,7 @@ extern "C" { */ #define CPU_HARDWARE_FP FALSE +#define CPU_SOFTWARE_FP FALSE /* * Are all tasks RTEMS_FLOATING_POINT tasks implicitly? diff --git a/cpukit/score/cpu/sparc/rtems/score/cpu.h b/cpukit/score/cpu/sparc/rtems/score/cpu.h index 5baf9aac5f..f7fbf121f9 100644 --- a/cpukit/score/cpu/sparc/rtems/score/cpu.h +++ b/cpukit/score/cpu/sparc/rtems/score/cpu.h @@ -105,6 +105,7 @@ extern "C" { #else #define CPU_HARDWARE_FP FALSE #endif +#define CPU_SOFTWARE_FP FALSE /* * Are all tasks FLOATING_POINT tasks implicitly? diff --git a/cpukit/score/cpu/unix/rtems/score/cpu.h b/cpukit/score/cpu/unix/rtems/score/cpu.h index d7019c3eec..7e0cbf7777 100644 --- a/cpukit/score/cpu/unix/rtems/score/cpu.h +++ b/cpukit/score/cpu/unix/rtems/score/cpu.h @@ -158,6 +158,7 @@ extern "C" { */ #define CPU_HARDWARE_FP TRUE +#define CPU_SOFTWARE_FP FALSE /* * Are all tasks RTEMS_FLOATING_POINT tasks implicitly? -- cgit v1.2.3