diff options
| author | Al Viro <viro@zeniv.linux.org.uk> | 2010-10-12 22:26:22 -0400 |
|---|---|---|
| committer | Geert Uytterhoeven <geert@linux-m68k.org> | 2011-01-07 08:06:59 -0500 |
| commit | a19185c32dbe975ce1ee86f5fa457f69b1d7f53b (patch) | |
| tree | 4e140d40bc30e150c28b5bd79206f21130f3c5a2 | |
| parent | e64f1b7520fa12c8e8e08161a2841ec5510774ac (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>
| -rw-r--r-- | arch/m68knommu/kernel/signal.c | 28 |
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)); |
