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);
 }
 

Reply via email to