Module Name: src Committed By: riz Date: Tue Apr 24 19:44:17 UTC 2012
Modified Files: src/sys/arch/sparc64/sparc64 [netbsd-6]: trap.c Log Message: Pull up following revision(s) (requested by martin in ticket #199): sys/arch/sparc64/sparc64/trap.c: revision 1.175 Report faulting data address with SIGBUS (instead of the faulting instruction) To generate a diff of this commit: cvs rdiff -u -r1.168.8.1 -r1.168.8.2 src/sys/arch/sparc64/sparc64/trap.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/sparc64/sparc64/trap.c diff -u src/sys/arch/sparc64/sparc64/trap.c:1.168.8.1 src/sys/arch/sparc64/sparc64/trap.c:1.168.8.2 --- src/sys/arch/sparc64/sparc64/trap.c:1.168.8.1 Wed Mar 21 16:10:21 2012 +++ src/sys/arch/sparc64/sparc64/trap.c Tue Apr 24 19:44:16 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: trap.c,v 1.168.8.1 2012/03/21 16:10:21 riz Exp $ */ +/* $NetBSD: trap.c,v 1.168.8.2 2012/04/24 19:44:16 riz Exp $ */ /* * Copyright (c) 1996-2002 Eduardo Horvath. All rights reserved. @@ -50,7 +50,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: trap.c,v 1.168.8.1 2012/03/21 16:10:21 riz Exp $"); +__KERNEL_RCSID(0, "$NetBSD: trap.c,v 1.168.8.2 2012/04/24 19:44:16 riz Exp $"); #include "opt_ddb.h" #include "opt_multiprocessor.h" @@ -732,7 +732,6 @@ badtrap: l->l_proc->p_pid, l->l_lid, l->l_proc->p_comm, fmt64(dsfsr), fmt64(dsfar), fmt64(isfsr), pc); #endif - } #if defined(DDB) && defined(DEBUG) if (trapdebug & TDB_STOPSIG) { @@ -749,7 +748,8 @@ badtrap: sig = SIGBUS; ksi.ksi_trap = type; ksi.ksi_code = BUS_ADRALN; - ksi.ksi_addr = (void *)pc; + ksi.ksi_addr = (void*)dsfar; + } break; case T_FP_IEEE_754: @@ -1573,7 +1573,7 @@ text_access_error(struct trapframe64 *tf ksi.ksi_signo = SIGBUS; ksi.ksi_code = BUS_OBJERR; ksi.ksi_trap = type; - ksi.ksi_addr = (void *)pc; + ksi.ksi_addr = (void *)afva; trapsignal(l, &ksi); }