diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2019-12-06 20:24:37 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-02-12 09:08:35 +0100 |
commit | bf39a9e2a8f94f44a0bb0415e8a15a1a51418568 (patch) | |
tree | c49132cb6b256262a08609cf940f12cad7778e0b /cpukit/score/cpu/or1k | |
parent | arm/xilinx-zynq: Split console driver files (diff) | |
download | rtems-bf39a9e2a8f94f44a0bb0415e8a15a1a51418568.tar.bz2 |
score: Remove superfluous FP types/defines
Update #3835.
Diffstat (limited to 'cpukit/score/cpu/or1k')
-rw-r--r-- | cpukit/score/cpu/or1k/include/rtems/score/cpu.h | 122 |
1 files changed, 5 insertions, 117 deletions
diff --git a/cpukit/score/cpu/or1k/include/rtems/score/cpu.h b/cpukit/score/cpu/or1k/include/rtems/score/cpu.h index 917cb35601..39920bebc3 100644 --- a/cpukit/score/cpu/or1k/include/rtems/score/cpu.h +++ b/cpukit/score/cpu/or1k/include/rtems/score/cpu.h @@ -50,93 +50,15 @@ extern "C" { #define CPU_ISR_PASSES_FRAME_POINTER TRUE -/* - * Does the CPU have hardware floating point? - * - * If TRUE, then the RTEMS_FLOATING_POINT task attribute is supported. - * If FALSE, then the RTEMS_FLOATING_POINT task attribute is ignored. - * - * If there is a FP coprocessor such as the i387 or mc68881, then - * the answer is TRUE. - * - * The macro name "OR1K_HAS_FPU" should be made CPU specific. - * It indicates whether or not this CPU model has FP support. For - * example, it would be possible to have an i386_nofp CPU model - * which set this to false to indicate that you have an i386 without - * an i387 and wish to leave floating point support out of RTEMS. - * - * The CPU_SOFTWARE_FP is used to indicate whether or not there - * is software implemented floating point that must be context - * switched. The determination of whether or not this applies - * is very tool specific and the state saved/restored is also - * compiler specific. - * - * Or1k Specific Information: - * - * At this time there are no implementations of Or1k that are - * expected to implement floating point. More importantly, the - * floating point architecture is expected to change significantly - * before such chips are fabricated. - */ +#define CPU_HARDWARE_FP FALSE -#define CPU_HARDWARE_FP FALSE -#define CPU_SOFTWARE_FP FALSE +#define CPU_SOFTWARE_FP FALSE -/* - * Are all tasks RTEMS_FLOATING_POINT tasks implicitly? - * - * If TRUE, then the RTEMS_FLOATING_POINT task attribute is assumed. - * If FALSE, then the RTEMS_FLOATING_POINT task attribute is followed. - * - * If CPU_HARDWARE_FP is FALSE, then this should be FALSE as well. - * - */ +#define CPU_ALL_TASKS_ARE_FP FALSE -#define CPU_ALL_TASKS_ARE_FP FALSE +#define CPU_IDLE_TASK_IS_FP FALSE -/* - * Should the IDLE task have a floating point context? - * - * If TRUE, then the IDLE task is created as a RTEMS_FLOATING_POINT task - * and it has a floating point context which is switched in and out. - * If FALSE, then the IDLE task does not have a floating point context. - * - * Setting this to TRUE negatively impacts the time required to preempt - * the IDLE task from an interrupt because the floating point context - * must be saved as part of the preemption. - * - */ - -#define CPU_IDLE_TASK_IS_FP FALSE - -/* - * Should the saving of the floating point registers be deferred - * until a context switch is made to another different floating point - * task? - * - * If TRUE, then the floating point context will not be stored until - * necessary. It will remain in the floating point registers and not - * disturned until another floating point task is switched to. - * - * If FALSE, then the floating point context is saved when a floating - * point task is switched out and restored when the next floating point - * task is restored. The state of the floating point registers between - * those two operations is not specified. - * - * If the floating point context does NOT have to be saved as part of - * interrupt dispatching, then it should be safe to set this to TRUE. - * - * Setting this flag to TRUE results in using a different algorithm - * for deciding when to save and restore the floating point context. - * The deferred FP switch algorithm minimizes the number of times - * the FP context is saved and restored. The FP context is not saved - * until a context switch is made to another, different FP task. - * Thus in a system with only one FP task, the FP context will never - * be saved or restored. - * - */ - -#define CPU_USE_DEFERRED_FP_SWITCH TRUE +#define CPU_USE_DEFERRED_FP_SWITCH TRUE #define CPU_ENABLE_ROBUST_THREAD_DISPATCH FALSE @@ -255,26 +177,9 @@ typedef struct { #define _CPU_Context_Get_SP( _context ) \ (_context)->r1 -typedef struct { - /** FPU registers are listed here */ - double some_float_register; -} Context_Control_fp; - typedef Context_Control CPU_Interrupt_frame; /* - * The size of the floating point context area. On some CPUs this - * will not be a "sizeof" because the format of the floating point - * area is not defined -- only the size is. This is usually on - * CPUs with a "floating point save context" instruction. - * - * Or1k Specific Information: - * - */ - -#define CPU_CONTEXT_FP_SIZE 0 - -/* * Amount of extra stack (above minimum stack size) required by * MPCI receive server thread. Remember that in a multiprocessor * system this thread must exist and be able to process all directives. @@ -508,23 +413,6 @@ void _CPU_Context_Initialize( #define _CPU_Context_Restart_self( _the_context ) \ _CPU_Context_restore( (_the_context) ); -/* - * This routine is responsible to initialize the FP context. - * - * The FP area pointer is passed by reference to allow the initial pointer - * into a floating point context area (used to save the floating point - * context) to be at an arbitrary place in the floating point context area. - * - * This is necessary because some FP units are designed to have - * their context saved as a stack which grows into lower addresses. - * Other FP units can be saved by simply moving registers into offsets - * from the base of the context area. Finally some FP units provide - * a "dump context" instruction which could fill in from high to low - * or low to high based on the whim of the CPU designers. - */ -#define _CPU_Context_Initialize_fp( _fp_area_p ) \ - memset( *( _fp_area_p ), 0, CPU_CONTEXT_FP_SIZE ) - /* end of Context handler macros */ /* Fatal Error manager macros */ |