summaryrefslogtreecommitdiffstats
path: root/sys/lib/libkern/arch
diff options
context:
space:
mode:
authormickey <mickey@openbsd.org>2002-05-20 08:32:28 +0000
committermickey <mickey@openbsd.org>2002-05-20 08:32:28 +0000
commit90b6490f84a6c9643e22a91cf6040a080386520a (patch)
treecb3f03a5bf1e009576f9860337717d23540a53e4 /sys/lib/libkern/arch
parentsave the old onfault where the handler expects it to be, do not zero out on exit, but restore (diff)
downloadwireguard-openbsd-90b6490f84a6c9643e22a91cf6040a080386520a.tar.xz
wireguard-openbsd-90b6490f84a6c9643e22a91cf6040a080386520a.zip
sync
Diffstat (limited to 'sys/lib/libkern/arch')
-rw-r--r--sys/lib/libkern/arch/hppa/bcopy.m45
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/lib/libkern/arch/hppa/bcopy.m4 b/sys/lib/libkern/arch/hppa/bcopy.m4
index f3583432dde..bfd2629dafb 100644
--- a/sys/lib/libkern/arch/hppa/bcopy.m4
+++ b/sys/lib/libkern/arch/hppa/bcopy.m4
@@ -1,4 +1,4 @@
-define(_rcsid,``$OpenBSD: bcopy.m4,v 1.10 2002/03/08 06:17:42 mickey Exp $'')dnl
+define(_rcsid,``$OpenBSD: bcopy.m4,v 1.11 2002/05/20 08:32:28 mickey Exp $'')dnl
dnl
dnl
dnl This is the source file for bcopy.S, spcopy.S
@@ -248,6 +248,7 @@ LEAF_ENTRY(spcopy)
ldil L%copy_on_fault, t2
ldw P_ADDR(r31), r31
ldo R%copy_on_fault(t2), t2
+ ldw PCB_ONFAULT+U_PCB(r31), r1
stw t2, PCB_ONFAULT+U_PCB(r31)
'
mfsp sr2, ret0 /* XXX need this?, sr1 is scratchable */
@@ -258,7 +259,7 @@ LEAF_ENTRY(spcopy)
hppa_copy(spcopy, sr1, arg1, sr2, arg3, ret1, `+')
/* reset fault handler */
- stw r0, PCB_ONFAULT+U_PCB(r31)
+ stw r1, PCB_ONFAULT+U_PCB(r31)
mtsp ret0, sr2
L(spcopy, ret)
bv 0(rp)