mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-09-21 07:46:20 +08:00
2000-11-14 Jiri Gaisler <jgais@ws.estec.esa.nl>
* cpu.c, rtems/cpu/sparc.h: Make floating point optional based on gcc arguments. Do not initialize FP context if there is no FPU. Flush instruction cache after installing RTEMS trap handler.
This commit is contained in:
@@ -1,3 +1,9 @@
|
||||
2000-11-14 Jiri Gaisler <jgais@ws.estec.esa.nl>
|
||||
|
||||
* cpu.c, rtems/cpu/sparc.h: Make floating point optional based
|
||||
on gcc arguments. Do not initialize FP context if there is
|
||||
no FPU. Flush instruction cache after installing RTEMS trap handler.
|
||||
|
||||
2000-11-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* Makefile.am: Use ... instead of RTEMS_TOPdir in ACLOCAL_AMFLAGS.
|
||||
|
||||
@@ -86,6 +86,8 @@ void _CPU_Initialize(
|
||||
|
||||
#endif
|
||||
|
||||
#if (SPARC_HAS_FPU == 1)
|
||||
|
||||
/*
|
||||
* This seems to be the most appropriate way to obtain an initial
|
||||
* FP context on the SPARC. The NULL fp context is copied it to
|
||||
@@ -94,6 +96,7 @@ void _CPU_Initialize(
|
||||
|
||||
pointer = &_CPU_Null_fp_context;
|
||||
_CPU_Context_save_fp( &pointer );
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Grab our own copy of the user's CPU table.
|
||||
@@ -222,6 +225,11 @@ void _CPU_ISR_install_raw_handler(
|
||||
slot->sethi_of_handler_to_l4 |=
|
||||
(u32_handler & HIGH_BITS_MASK) >> HIGH_BITS_SHIFT;
|
||||
slot->jmp_to_low_of_handler_plus_l4 |= (u32_handler & LOW_BITS_MASK);
|
||||
|
||||
/* need to flush icache after this !!! */
|
||||
|
||||
rtems_cache_invalidate_entire_instruction();
|
||||
|
||||
}
|
||||
|
||||
/*PAGE
|
||||
|
||||
@@ -65,7 +65,12 @@ extern "C" {
|
||||
* cpp predefine but gcc does not currently give us that information.
|
||||
*/
|
||||
|
||||
#define SPARC_HAS_FPU 1
|
||||
|
||||
#if defined(_SOFT_FLOAT)
|
||||
#define SPARC_HAS_FPU 0
|
||||
#else
|
||||
#define SPARC_HAS_FPU 1
|
||||
#endif
|
||||
|
||||
#if SPARC_HAS_FPU
|
||||
#define CPU_MODEL_NAME "w/FPU"
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
2000-11-14 Jiri Gaisler <jgais@ws.estec.esa.nl>
|
||||
|
||||
* cpu.c, rtems/cpu/sparc.h: Make floating point optional based
|
||||
on gcc arguments. Do not initialize FP context if there is
|
||||
no FPU. Flush instruction cache after installing RTEMS trap handler.
|
||||
|
||||
2000-11-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* Makefile.am: Use ... instead of RTEMS_TOPdir in ACLOCAL_AMFLAGS.
|
||||
|
||||
@@ -86,6 +86,8 @@ void _CPU_Initialize(
|
||||
|
||||
#endif
|
||||
|
||||
#if (SPARC_HAS_FPU == 1)
|
||||
|
||||
/*
|
||||
* This seems to be the most appropriate way to obtain an initial
|
||||
* FP context on the SPARC. The NULL fp context is copied it to
|
||||
@@ -94,6 +96,7 @@ void _CPU_Initialize(
|
||||
|
||||
pointer = &_CPU_Null_fp_context;
|
||||
_CPU_Context_save_fp( &pointer );
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Grab our own copy of the user's CPU table.
|
||||
@@ -222,6 +225,11 @@ void _CPU_ISR_install_raw_handler(
|
||||
slot->sethi_of_handler_to_l4 |=
|
||||
(u32_handler & HIGH_BITS_MASK) >> HIGH_BITS_SHIFT;
|
||||
slot->jmp_to_low_of_handler_plus_l4 |= (u32_handler & LOW_BITS_MASK);
|
||||
|
||||
/* need to flush icache after this !!! */
|
||||
|
||||
rtems_cache_invalidate_entire_instruction();
|
||||
|
||||
}
|
||||
|
||||
/*PAGE
|
||||
|
||||
@@ -65,7 +65,12 @@ extern "C" {
|
||||
* cpp predefine but gcc does not currently give us that information.
|
||||
*/
|
||||
|
||||
#define SPARC_HAS_FPU 1
|
||||
|
||||
#if defined(_SOFT_FLOAT)
|
||||
#define SPARC_HAS_FPU 0
|
||||
#else
|
||||
#define SPARC_HAS_FPU 1
|
||||
#endif
|
||||
|
||||
#if SPARC_HAS_FPU
|
||||
#define CPU_MODEL_NAME "w/FPU"
|
||||
|
||||
Reference in New Issue
Block a user