summaryrefslogtreecommitdiffstats
path: root/cpukit/score
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2016-11-22 10:13:27 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-11-28 16:08:43 +0100
commit6a1b9e41521fffc0abc82cb4426fc0e4ca8ca17e (patch)
tree55facda04d71966fbffe36c1c1b6de7d8dbf547d /cpukit/score
parentscore: Fix thread queue context initialization (diff)
downloadrtems-6a1b9e41521fffc0abc82cb4426fc0e4ca8ca17e.tar.bz2
sparc: Optimize _ISR_Handler()
Use _Thread_Do_dispatch() instead of _Thread_Dispatch(). Restore the PSR[EF] state of the interrupted context via new system call syscall_irqdis_fp in case floating-point support is enabled.
Diffstat (limited to 'cpukit/score')
-rw-r--r--cpukit/score/cpu/sparc/rtems/score/sparc.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/cpukit/score/cpu/sparc/rtems/score/sparc.h b/cpukit/score/cpu/sparc/rtems/score/sparc.h
index ecac74de3c..5fe8b6ada7 100644
--- a/cpukit/score/cpu/sparc/rtems/score/sparc.h
+++ b/cpukit/score/cpu/sparc/rtems/score/sparc.h
@@ -153,6 +153,9 @@ extern "C" {
#define SPARC_SWTRAP_SYSCALL 0
#define SPARC_SWTRAP_IRQDIS 9
#define SPARC_SWTRAP_IRQEN 10
+#if SPARC_HAS_FPU == 1
+#define SPARC_SWTRAP_IRQDIS_FP 11
+#endif
#ifndef ASM