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