Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/mips/mips mips_fpu_trap() no longer passes pc to mi...



details:   https://anonhg.NetBSD.org/src/rev/1e9fb971f4b7
branches:  trunk
changeset: 762717:1e9fb971f4b7
user:      tsutsui <tsutsui%NetBSD.org@localhost>
date:      Sat Feb 26 11:05:54 2011 +0000

description:
mips_fpu_trap() no longer passes pc to mips_fpuillinst().
Use _R_PC value in trapframe instead for ksi_addr of siginfo.

diffstat:

 sys/arch/mips/mips/mips_fputrap.c |  8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diffs (36 lines):

diff -r 929aa0df3575 -r 1e9fb971f4b7 sys/arch/mips/mips/mips_fputrap.c
--- a/sys/arch/mips/mips/mips_fputrap.c Sat Feb 26 10:56:56 2011 +0000
+++ b/sys/arch/mips/mips/mips_fputrap.c Sat Feb 26 11:05:54 2011 +0000
@@ -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);
 }
 



Home | Main Index | Thread Index | Old Index