aboutsummaryrefslogtreecommitdiffstats
path: root/arch/m68knommu
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2010-10-12 22:26:22 -0400
committerGeert Uytterhoeven <geert@linux-m68k.org>2011-01-07 08:06:59 -0500
commita19185c32dbe975ce1ee86f5fa457f69b1d7f53b (patch)
tree4e140d40bc30e150c28b5bd79206f21130f3c5a2 /arch/m68knommu
parente64f1b7520fa12c8e8e08161a2841ec5510774ac (diff)
m68knommu: Equivalent of "m68k: handle new gcc's"
... from back in 2004; again, it's ifdefed out by CONFIG_FPU. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Acked-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Diffstat (limited to 'arch/m68knommu')
-rw-r--r--arch/m68knommu/kernel/signal.c28
1 files changed, 14 insertions, 14 deletions
diff --git a/arch/m68knommu/kernel/signal.c b/arch/m68knommu/kernel/signal.c
index 1c74f3ae2b97..97a471217bba 100644
--- a/arch/m68knommu/kernel/signal.c
+++ b/arch/m68knommu/kernel/signal.c
@@ -163,8 +163,8 @@ static inline int restore_fpu_state(struct sigcontext *sc)
163 goto out; 163 goto out;
164 164
165 __asm__ volatile (".chip 68k/68881\n\t" 165 __asm__ volatile (".chip 68k/68881\n\t"
166 "fmovemx %0,%/fp0-%/fp1\n\t" 166 "fmovemx %0,%%fp0-%%fp1\n\t"
167 "fmoveml %1,%/fpcr/%/fpsr/%/fpiar\n\t" 167 "fmoveml %1,%%fpcr/%%fpsr/%%fpiar\n\t"
168 ".chip 68k" 168 ".chip 68k"
169 : /* no outputs */ 169 : /* no outputs */
170 : "m" (*sc->sc_fpregs), "m" (*sc->sc_fpcntl)); 170 : "m" (*sc->sc_fpregs), "m" (*sc->sc_fpcntl));
@@ -214,8 +214,8 @@ static inline int rt_restore_fpu_state(struct ucontext *uc)
214 sizeof(fpregs))) 214 sizeof(fpregs)))
215 goto out; 215 goto out;
216 __asm__ volatile (".chip 68k/68881\n\t" 216 __asm__ volatile (".chip 68k/68881\n\t"
217 "fmovemx %0,%/fp0-%/fp7\n\t" 217 "fmovemx %0,%%fp0-%%fp7\n\t"
218 "fmoveml %1,%/fpcr/%/fpsr/%/fpiar\n\t" 218 "fmoveml %1,%%fpcr/%%fpsr/%%fpiar\n\t"
219 ".chip 68k" 219 ".chip 68k"
220 : /* no outputs */ 220 : /* no outputs */
221 : "m" (*fpregs.f_fpregs), 221 : "m" (*fpregs.f_fpregs),
@@ -408,12 +408,12 @@ static inline void save_fpu_state(struct sigcontext *sc, struct pt_regs *regs)
408 if (sc->sc_fpstate[0]) { 408 if (sc->sc_fpstate[0]) {
409 fpu_version = sc->sc_fpstate[0]; 409 fpu_version = sc->sc_fpstate[0];
410 __asm__ volatile (".chip 68k/68881\n\t" 410 __asm__ volatile (".chip 68k/68881\n\t"
411 "fmovemx %/fp0-%/fp1,%0\n\t" 411 "fmovemx %%fp0-%%fp1,%0\n\t"
412 "fmoveml %/fpcr/%/fpsr/%/fpiar,%1\n\t" 412 "fmoveml %%fpcr/%%fpsr/%%fpiar,%1\n\t"
413 ".chip 68k" 413 ".chip 68k"
414 : /* no outputs */ 414 : "=m" (*sc->sc_fpregs),
415 : "m" (*sc->sc_fpregs), 415 "=m" (*sc->sc_fpcntl)
416 "m" (*sc->sc_fpcntl) 416 : /* no inputs */
417 : "memory"); 417 : "memory");
418 } 418 }
419} 419}
@@ -445,12 +445,12 @@ static inline int rt_save_fpu_state(struct ucontext *uc, struct pt_regs *regs)
445 context_size = fpstate[1]; 445 context_size = fpstate[1];
446 fpu_version = fpstate[0]; 446 fpu_version = fpstate[0];
447 __asm__ volatile (".chip 68k/68881\n\t" 447 __asm__ volatile (".chip 68k/68881\n\t"
448 "fmovemx %/fp0-%/fp7,%0\n\t" 448 "fmovemx %%fp0-%%fp7,%0\n\t"
449 "fmoveml %/fpcr/%/fpsr/%/fpiar,%1\n\t" 449 "fmoveml %%fpcr/%%fpsr/%%fpiar,%1\n\t"
450 ".chip 68k" 450 ".chip 68k"
451 : /* no outputs */ 451 : "=m" (*fpregs.f_fpregs),
452 : "m" (*fpregs.f_fpregs), 452 "=m" (*fpregs.f_fpcntl)
453 "m" (*fpregs.f_fpcntl) 453 : /* no inputs */
454 : "memory"); 454 : "memory");
455 err |= copy_to_user(&uc->uc_mcontext.fpregs, &fpregs, 455 err |= copy_to_user(&uc->uc_mcontext.fpregs, &fpregs,
456 sizeof(fpregs)); 456 sizeof(fpregs));