From owner-cvs-src-old@FreeBSD.ORG Sat Feb 20 07:34:50 2010 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 469C41065714 for ; Sat, 20 Feb 2010 07:34:50 +0000 (UTC) (envelope-from neel@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 342F58FC12 for ; Sat, 20 Feb 2010 07:34:50 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id o1K7YoUV044257 for ; Sat, 20 Feb 2010 07:34:50 GMT (envelope-from neel@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o1K7YoK1044256 for cvs-src-old@freebsd.org; Sat, 20 Feb 2010 07:34:50 GMT (envelope-from neel@repoman.freebsd.org) Message-Id: <201002200734.o1K7YoK1044256@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to neel@repoman.freebsd.org using -f From: Neel Natu Date: Sat, 20 Feb 2010 07:34:37 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/mips/mips exception.S X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 20 Feb 2010 07:34:50 -0000 neel 2010-02-20 07:34:37 UTC FreeBSD src repository Modified files: sys/mips/mips exception.S Log: SVN rev 204109 on 2010-02-20 07:34:37Z by neel Fix DDB backtrace that includes a kernel exception frame. The backtrace code tries to look for an instruction of the form "sw ra, x(sp)" to figure out the program counter of the calling function. When we generate the kernel exception frame we store the 'ra' at the time of the exception using an instruction of the same form. The problem is that the 'ra' at the time of the exception is not the same as the 'program counter' at the time of the exception. The fix is to save the 'exception program counter' register by staging it through the 'ra' register. Revision Changes Path 1.8 +14 -2 src/sys/mips/mips/exception.S