diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2010-04-08 16:37:34 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2010-04-08 16:37:34 +0000 |
commit | 4ad5526709f61e331db6054d3b8e936ebff772ca (patch) | |
tree | ec2b3f0bba068acc45f4f224f762267ae9fa8994 /cpukit/score/cpu/m68k/cpu_asm.S | |
parent | 2010-04-08 Joel Sherrill <joel.sherrilL@OARcorp.com> (diff) | |
download | rtems-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.S | 13 |
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. * |