diff options
Diffstat (limited to 'arch/mips/kernel/r2300_fpu.S')
-rw-r--r-- | arch/mips/kernel/r2300_fpu.S | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/arch/mips/kernel/r2300_fpu.S b/arch/mips/kernel/r2300_fpu.S index 74671f58c..efb00dce1 100644 --- a/arch/mips/kernel/r2300_fpu.S +++ b/arch/mips/kernel/r2300_fpu.S @@ -1,4 +1,5 @@ -/* $Id: r2300_fpu.S,v 1.5 1999/05/01 22:40:36 ralf Exp $ +/* $Id: r2300_fpu.S,v 1.6 1999/08/09 19:43:14 harald Exp $ + * * r2300_fpu.S: Save/restore floating point context for signal handlers. * * This file is subject to the terms and conditions of the GNU General Public @@ -14,6 +15,7 @@ * Copyright (c) 1998 Harald Koerfgen */ #include <asm/asm.h> +#include <asm/errno.h> #include <asm/fpregdef.h> #include <asm/mipsregs.h> #include <asm/offset.h> @@ -29,7 +31,7 @@ .set mips1 /* Save floating point context */ LEAF(save_fp_context) - + li v0, 0 # assume success cfc1 t1,fcr31 EX(swc1 $f0,(SC_FPREGS+0)(a0)) EX(swc1 $f1,(SC_FPREGS+8)(a0)) @@ -81,6 +83,7 @@ LEAF(save_fp_context) * stack frame which might have been changed by the user. */ LEAF(restore_fp_context) + li v0, 0 # assume success EX(lw t0,SC_FPC_CSR(a0)) EX(lwc1 $f0,(SC_FPREGS+0)(a0)) EX(lwc1 $f1,(SC_FPREGS+8)(a0)) @@ -117,3 +120,9 @@ LEAF(restore_fp_context) jr ra ctc1 t0,fcr31 END(restore_fp_context) + + .type fault@function + .ent fault +fault: li v0, -EFAULT + jr ra + .end fault |