Module Name: src Committed By: tsutsui Date: Sat Feb 26 13:58:35 UTC 2011
Modified Files: src/sys/arch/mips/mips: locore.S Log Message: - clear MIPS_FPU_EXCEPTION_BITS in MIPS_FPU_CSR in SIGILL case as noted in commit log of rev 1.158 - update comment to reflect changes in rev 1.109 To generate a diff of this commit: cvs rdiff -u -r1.182 -r1.183 src/sys/arch/mips/mips/locore.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/mips/mips/locore.S diff -u src/sys/arch/mips/mips/locore.S:1.182 src/sys/arch/mips/mips/locore.S:1.183 --- src/sys/arch/mips/mips/locore.S:1.182 Sat Feb 26 09:47:24 2011 +++ src/sys/arch/mips/mips/locore.S Sat Feb 26 13:58:34 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: locore.S,v 1.182 2011/02/26 09:47:24 tsutsui Exp $ */ +/* $NetBSD: locore.S,v 1.183 2011/02/26 13:58:34 tsutsui Exp $ */ /* * Copyright (c) 1992, 1993 @@ -645,12 +645,12 @@ * Check to see if the instruction to be emulated is a floating-point * instruction. */ - srl t0, a0, MIPS_OPCODE_SHIFT - beq t0, MIPS_OPCODE_C1, 4f + srl t2, a0, MIPS_OPCODE_SHIFT + beq t2, MIPS_OPCODE_C1, 4f nop /* - * Send a floating point exception signal to the current LWP. + * Send an ILL signal to the current LWP if the instruction can't be emulated. */ srl a2, 8 sll a2, 8 @@ -659,6 +659,9 @@ REG_S a2, TF_REG_CAUSE(a1) REG_EPILOGUE + and t2, t0, ~MIPS_FPU_EXCEPTION_BITS + ctc1 t2, MIPS_FPU_CSR + move a1, a0 # code = instruction jal _C_LABEL(mips_fpuillinst) move a0, MIPS_CURLWP # get current LWP