summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormiod <miod@openbsd.org>2013-12-29 21:06:37 +0000
committermiod <miod@openbsd.org>2013-12-29 21:06:37 +0000
commitbff43a8d13b9bfd90ba0e6c77a8fe0eb28a7a23c (patch)
tree72a0be264763aa24544ec29bb217ea213fa06794
parentRemove excessive parentheses. (diff)
downloadwireguard-openbsd-bff43a8d13b9bfd90ba0e6c77a8fe0eb28a7a23c.tar.xz
wireguard-openbsd-bff43a8d13b9bfd90ba0e6c77a8fe0eb28a7a23c.zip
In tlbdsmiss, do not trash the tlb pointer by mistake. From NetBSD (PR #39257)
-rw-r--r--sys/arch/macppc/macppc/locore.S4
-rw-r--r--sys/arch/socppc/socppc/locore.S4
2 files changed, 4 insertions, 4 deletions
diff --git a/sys/arch/macppc/macppc/locore.S b/sys/arch/macppc/macppc/locore.S
index 1004b5629d4..b315f42a0c0 100644
--- a/sys/arch/macppc/macppc/locore.S
+++ b/sys/arch/macppc/macppc/locore.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: locore.S,v 1.41 2008/07/28 19:08:46 miod Exp $ */
+/* $OpenBSD: locore.S,v 1.42 2013/12/29 21:06:37 miod Exp $ */
/* $NetBSD: locore.S,v 1.2 1996/10/16 19:33:09 ws Exp $ */
/*
@@ -676,7 +676,7 @@ _C_LABEL(tlbdsmiss):
mfsrin %r1,%r3 /* get the segment register */
mfsrr1 %r3
rlwinm %r3,%r3,18,31,31 /* get PR-bit */
- rlwnm. %r2,%r2,3,1,1 /* get the key */
+ rlwnm. %r1,%r1,%r3,1,1 /* get the key */
bne- 9b /* protection violation */
8: /* found, set reference/change bits */
lwz %r1,4(%r2) /* reload tlb entry */
diff --git a/sys/arch/socppc/socppc/locore.S b/sys/arch/socppc/socppc/locore.S
index 90957824621..d73fd2f5eda 100644
--- a/sys/arch/socppc/socppc/locore.S
+++ b/sys/arch/socppc/socppc/locore.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: locore.S,v 1.8 2009/08/25 21:01:35 kettenis Exp $ */
+/* $OpenBSD: locore.S,v 1.9 2013/12/29 21:06:37 miod Exp $ */
/* $NetBSD: locore.S,v 1.2 1996/10/16 19:33:09 ws Exp $ */
/*
@@ -695,7 +695,7 @@ _C_LABEL(tlbdsmiss):
mfsrin %r1,%r3 /* get the segment register */
mfsrr1 %r3
rlwinm %r3,%r3,18,31,31 /* get PR-bit */
- rlwnm. %r2,%r2,3,1,1 /* get the key */
+ rlwnm. %r1,%r1,%r3,1,1 /* get the key */
bne- 9b /* protection violation */
8: /* found, set reference/change bits */
lwz %r1,4(%r2) /* reload tlb entry */