summaryrefslogtreecommitdiff
path: root/sys/arch
diff options
context:
space:
mode:
authorMichael Shalayeff <mickey@cvs.openbsd.org>2005-04-07 00:24:58 +0000
committerMichael Shalayeff <mickey@cvs.openbsd.org>2005-04-07 00:24:58 +0000
commitb002a6f7ff687cab756052f39624f85f917f2f83 (patch)
tree7534c60bf1d6b6a76eb13c4e82ad8819a5e4755a /sys/arch
parent2070244d1c01bfe4d35e5cf2a958a26aaf133981 (diff)
simpler logic for trap exit
Diffstat (limited to 'sys/arch')
-rw-r--r--sys/arch/hppa/hppa/locore.S13
1 files changed, 8 insertions, 5 deletions
diff --git a/sys/arch/hppa/hppa/locore.S b/sys/arch/hppa/hppa/locore.S
index e01d4f3ab13..bd9c193408d 100644
--- a/sys/arch/hppa/hppa/locore.S
+++ b/sys/arch/hppa/hppa/locore.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: locore.S,v 1.148 2005/04/07 00:21:51 mickey Exp $ */
+/* $OpenBSD: locore.S,v 1.149 2005/04/07 00:24:57 mickey Exp $ */
/*
* Copyright (c) 1998-2004 Michael Shalayeff
@@ -1806,6 +1806,9 @@ $trapnowvirt
dep r0, 24, 25, arg0
copy t3, arg1
+ copy arg0, r4
+ copy arg1, r5
+
.import trap, code
ldil L%trap,t1
ldo R%trap(t1),t1
@@ -1814,10 +1817,10 @@ $trapnowvirt
bv,n r0(t1)
nop
+ copy r5, t3
+
/* see if curproc have changed */
- ldw -HPPA_FRAME_SIZE-TRAPFRAME_SIZEOF+TF_FLAGS(sp), arg0
- ldo -HPPA_FRAME_SIZE-TRAPFRAME_SIZEOF(sp), t3
- extru,<> arg0, TFF_LAST_POS, 1, r0
+ extru,<> r4, TFF_LAST_POS, 1, r0
b $syscall_return
/* see if curproc have really changed */
@@ -1826,7 +1829,7 @@ $trapnowvirt
sub,<> r0, t2, r0
ldw P_MD_REGS(t2), t3
- /* means curproc have actually changed */
+ /* means curproc has actually changed */
b $syscall_return
nop
EXIT(TLABEL(all))