summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormickey <mickey@openbsd.org>2003-10-15 19:54:13 +0000
committermickey <mickey@openbsd.org>2003-10-15 19:54:13 +0000
commit5d28cdf3edaf5df2a338b9f2c3b284a4ac7b062c (patch)
treef2636c1659280417523c424b9f8020be43b0eb3d
parentless global name space pollution (diff)
downloadwireguard-openbsd-5d28cdf3edaf5df2a338b9f2c3b284a4ac7b062c.tar.xz
wireguard-openbsd-5d28cdf3edaf5df2a338b9f2c3b284a4ac7b062c.zip
have to fetch the rctr while still in real mode for it is not valid after
-rw-r--r--sys/arch/hppa/hppa/locore.S13
1 files changed, 7 insertions, 6 deletions
diff --git a/sys/arch/hppa/hppa/locore.S b/sys/arch/hppa/hppa/locore.S
index 19e13dbb7ef..43ebe98972d 100644
--- a/sys/arch/hppa/hppa/locore.S
+++ b/sys/arch/hppa/hppa/locore.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: locore.S,v 1.116 2003/10/15 18:54:55 mickey Exp $ */
+/* $OpenBSD: locore.S,v 1.117 2003/10/15 19:54:13 mickey Exp $ */
/*
* Copyright (c) 1998-2003 Michael Shalayeff
@@ -1510,6 +1510,8 @@ $trap_from_kernel
stw t2, TF_CR19(t3)
stw r1, TF_FLAGS(t3)
+ mfctl rctr, t1 /* gotta get it before R is up */
+
copy sp, t3
ldo HPPA_FRAME_SIZE+TRAPFRAME_SIZEOF(sp), sp
rfir
@@ -1520,6 +1522,10 @@ $trapnowvirt
* sp is loaded w/ the right VA (we did not need it being physical)
*/
+ mfctl ccr, t2
+ stw t1, TF_CR0(t3)
+ stw t2, TF_CR10(t3)
+
mfsp sr0, t1
mfsp sr1, t2
stw t1, TF_SR0(sr3, t3)
@@ -1618,11 +1624,6 @@ $trapnowvirt
* Save the necessary control registers that have not already saved.
*/
- mfctl rctr, t1
- mfctl ccr, t2
- stw t1, TF_CR0(t3)
- stw t2, TF_CR10(t3)
-
#ifdef DDB
/*
* Save hpt mask and v2p translation table pointer