summaryrefslogtreecommitdiffstats
path: root/arch/mips/kernel/r2300_fpu.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips/kernel/r2300_fpu.S')
-rw-r--r--arch/mips/kernel/r2300_fpu.S13
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