summaryrefslogtreecommitdiff
path: root/sys/arch
diff options
context:
space:
mode:
authorMichael Shalayeff <mickey@cvs.openbsd.org>2002-10-29 03:03:39 +0000
committerMichael Shalayeff <mickey@cvs.openbsd.org>2002-10-29 03:03:39 +0000
commit9fba6fcec31ebb3eddd97af189989ed93fbb62d0 (patch)
treec7125a6142afcfa34ff403a9ed32481089f7b77a /sys/arch
parenta26041a9691e8f9d6c52bdf146b8a6b008da73cb (diff)
no need to restore shadowed reg, shaves 10% from runtime for tlb handler on pcxl, more on pcxs/pcxt due to conditional pte ref update; tested on pcxt,pcxl by me on pcxs by miod
Diffstat (limited to 'sys/arch')
-rw-r--r--sys/arch/hppa/hppa/locore.S6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/arch/hppa/hppa/locore.S b/sys/arch/hppa/hppa/locore.S
index 5cefae5686b..868be4da592 100644
--- a/sys/arch/hppa/hppa/locore.S
+++ b/sys/arch/hppa/hppa/locore.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: locore.S,v 1.94 2002/10/25 22:02:19 mickey Exp $ */
+/* $OpenBSD: locore.S,v 1.95 2002/10/29 03:03:38 mickey Exp $ */
/*
* Copyright (c) 1998-2002 Michael Shalayeff
@@ -1252,8 +1252,9 @@ EXIT(TLABEL(emu))
ldwax,s r16(r24), r17 /* va -> pa:prot */ ! \
sh2addl r16, r24, r25 ! \
combt,=,n r0, r17, TLABEL(all) ! \
+ copy r17, r16 ! \
depi (bits), 21+bits, 1+bits, r17 ! \
- mfctl tr7, r1 ! \
+ sub,= r16, r17, r0 /* do not store if unchanged */ ! \
stwas r17, 0(r25) /* store back w/ the bits */ ! \
shd r17, r0, 13, r25 ! \
dep r8, 30, 15, r25 /* mix0r the pid from the sid */! \
@@ -1343,7 +1344,6 @@ $dtlbna_t
combt,=,n r0, r17, TLABEL(all) ! \
copy r17, r16 ! \
depi (bits), 21+bits, 1+bits, r17 ! \
- mfctl tr7, r1 ! \
sub,= r16, r17, r0 /* do not store if unchanged */ ! \
stws r17, 0(r25) /* store back w/ the bits */ ! \
shd r17, r0, 13, r25 ! \