From owner-freebsd-alpha Wed Feb 23 9: 6:46 2000 Delivered-To: freebsd-alpha@freebsd.org Received: from wall.polstra.com (rtrwan160.accessone.com [206.213.115.74]) by hub.freebsd.org (Postfix) with ESMTP id CDBA037B919 for ; Wed, 23 Feb 2000 09:06:43 -0800 (PST) (envelope-from jdp@polstra.com) Received: from vashon.polstra.com (vashon.polstra.com [206.213.73.13]) by wall.polstra.com (8.9.3/8.9.3) with ESMTP id JAA26433; Wed, 23 Feb 2000 09:06:41 -0800 (PST) (envelope-from jdp@polstra.com) From: John Polstra Received: (from jdp@localhost) by vashon.polstra.com (8.9.3/8.9.1) id JAA38337; Wed, 23 Feb 2000 09:06:40 -0800 (PST) (envelope-from jdp@polstra.com) Date: Wed, 23 Feb 2000 09:06:40 -0800 (PST) Message-Id: <200002231706.JAA38337@vashon.polstra.com> To: dfr@nlsystems.com Subject: Re: pcb_onfault bug on alpha? In-Reply-To: References: Organization: Polstra & Co., Seattle, WA Cc: alpha@freebsd.org Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org In article , Doug Rabson wrote: > On Tue, 22 Feb 2000, John Polstra wrote: > > > Why doesn't copyerr reset "pcb_onfault" to 0? I think it should. > > Yes it should reset pcb_onfault. Scary. "Scary" sums up my feelings about it too. :-) Does this look right as a fix? If so, I'll try to set up a test case and ask Jordan for approval to commit it. LEAF(copyerr, 0) LDGP(pv) ldq ra, (16-8)(sp) /* restore ra. */ lda sp, 16(sp) /* kill stack frame. */ ldq t0, curproc ldq t0, P_ADDR(t0) stq zero, U_PCB_ONFAULT(t0) /* reset fault handler. */ ldiq v0, EFAULT /* return EFAULT. */ RET END(copyerr) John -- John Polstra jdp@polstra.com John D. Polstra & Co., Inc. Seattle, Washington USA "Disappointment is a good sign of basic intelligence." -- Chögyam Trungpa To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message