summaryrefslogtreecommitdiffstats
path: root/cpukit/score/cpu/m68k/cpu_asm.S
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2010-04-08 16:37:34 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2010-04-08 16:37:34 +0000
commit4ad5526709f61e331db6054d3b8e936ebff772ca (patch)
treeec2b3f0bba068acc45f4f224f762267ae9fa8994 /cpukit/score/cpu/m68k/cpu_asm.S
parent2010-04-08 Joel Sherrill <joel.sherrilL@OARcorp.com> (diff)
downloadrtems-4ad5526709f61e331db6054d3b8e936ebff772ca.tar.bz2
2010-04-08 Till Straumann <strauman@slac.stanford.edu>
* cpu_asm.S, rtems/score/cpu.h: On uC5282, the thread restart needed to reload the frame pointer. As part of doing this, the code was moved from inline asm to the .S file.
Diffstat (limited to '')
-rw-r--r--cpukit/score/cpu/m68k/cpu_asm.S13
1 files changed, 13 insertions, 0 deletions
diff --git a/cpukit/score/cpu/m68k/cpu_asm.S b/cpukit/score/cpu/m68k/cpu_asm.S
index a6f5c317f3..a8bbdef2ea 100644
--- a/cpukit/score/cpu/m68k/cpu_asm.S
+++ b/cpukit/score/cpu/m68k/cpu_asm.S
@@ -61,10 +61,23 @@ cacr_set: movew sr,d1 | get content of sr in d1
movec d0,cacr | enable FPU in cacr
#endif
+
restore: movml a0@,d1-d7/a2-a7 | restore context
movw d1,sr | restore status register
rts
+ .global SYM (_CPU_Context_Restart_self)
+.set CONTEXT_ARG, 4 | context arg
+
+#if defined( __mcoldfire__ ) && ( M68K_HAS_FPU == 1 )
+/* XXX _CPU_Context_switch maintains FPU context -- do we have to restore
+ * that, too??
+ */
+#warning "_CPU_Context_Restart_self restoring FPU context not implemented"
+#endif
+SYM(_CPU_Context_Restart_self):
+ moval a7@(CONTEXT_ARG),a0
+ bra restore
/*
* Floating point context save and restore.
*