From: deraadt Date: Fri, 5 Jun 2015 18:36:07 +0000 (+0000) Subject: And part 2 of the onfault repair. Do the actual clearing of pcb_onfault X-Git-Url: http://artulab.com/gitweb/?a=commitdiff_plain;h=17b1cd0bca58ca3bd4b305a99f470b4663de0640;p=openbsd And part 2 of the onfault repair. Do the actual clearing of pcb_onfault in copyerr itself, like other architectures of this type do. as a result of chatter between miod and kettenis --- diff --git a/sys/arch/alpha/alpha/locore.s b/sys/arch/alpha/alpha/locore.s index 08359644b5b..14ad2656bc6 100644 --- a/sys/arch/alpha/alpha/locore.s +++ b/sys/arch/alpha/alpha/locore.s @@ -1,4 +1,4 @@ -/* $OpenBSD: locore.s,v 1.38 2014/01/26 17:40:09 miod Exp $ */ +/* $OpenBSD: locore.s,v 1.39 2015/06/05 18:36:07 deraadt Exp $ */ /* $NetBSD: locore.s,v 1.94 2001/04/26 03:10:44 ross Exp $ */ /*- @@ -1060,6 +1060,10 @@ NESTED(copyout, 3, 16, ra, IM_RA|IM_S0, 0) LEAF(copyerr, 0) LDGP(pv) + .set noat + ldq at_reg, P_ADDR(at_reg) /* clear handler. */ + stq zero, U_PCB_ONFAULT(at_reg) + .set at ldq ra, (16-8)(sp) /* restore ra. */ ldq s0, (16-16)(sp) /* restore s0. */ lda sp, 16(sp) /* kill stack frame. */