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:
Joel Sherrill
2000-11-15 21:33:35 +00:00
parent 603f30f144
commit 477e2d195f
6 changed files with 40 additions and 2 deletions
+6
View File
@@ -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.
+8
View File
@@ -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"
+6
View File
@@ -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.
+8
View File
@@ -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
+6 -1
View File
@@ -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"