Module Name: src Committed By: tsutsui Date: Sat Feb 26 11:05:54 UTC 2011
Modified Files: src/sys/arch/mips/mips: mips_fputrap.c Log Message: mips_fpu_trap() no longer passes pc to mips_fpuillinst(). Use _R_PC value in trapframe instead for ksi_addr of siginfo. To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/sys/arch/mips/mips/mips_fputrap.c 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/mips_fputrap.c diff -u src/sys/arch/mips/mips/mips_fputrap.c:1.8 src/sys/arch/mips/mips/mips_fputrap.c:1.9 --- src/sys/arch/mips/mips/mips_fputrap.c:1.8 Sat Feb 26 10:56:56 2011 +++ src/sys/arch/mips/mips/mips_fputrap.c Sat Feb 26 11:05:54 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: mips_fputrap.c,v 1.8 2011/02/26 10:56:56 tsutsui Exp $ */ +/* $NetBSD: mips_fputrap.c,v 1.9 2011/02/26 11:05:54 tsutsui Exp $ */ /* * Copyright (c) 2004 @@ -38,7 +38,7 @@ #if defined(FPEMUL) || !defined(NOFPU) void mips_fpuexcept(struct lwp *, uint32_t); -void mips_fpuillinst(struct lwp *, uint32_t, vaddr_t); +void mips_fpuillinst(struct lwp *, uint32_t); static int fpustat2sicode(uint32_t); void @@ -59,7 +59,7 @@ } void -mips_fpuillinst(struct lwp *l, uint32_t opcode, vaddr_t vaddr) +mips_fpuillinst(struct lwp *l, uint32_t opcode) { ksiginfo_t ksi; @@ -72,7 +72,7 @@ ksi.ksi_signo = SIGILL; ksi.ksi_code = ILL_ILLOPC; ksi.ksi_trap = opcode; - ksi.ksi_addr = (void *)vaddr; + ksi.ksi_addr = (void *)(uintptr_t)l->l_md.md_utf->tf_regs[_R_PC]; (*l->l_proc->p_emul->e_trapsignal)(l, &ksi); }