summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2013-12-29 21:06:38 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2013-12-29 21:06:38 +0000
commit7c8da16570bdb5e7e07b3ed7db6f1e8b27679111 (patch)
tree0a72c84401bc340daebfcbfb4180c9b94ebd800d /sys
parentca635b77c55e8e52358609c21a18541c138f7387 (diff)
In tlbdsmiss, do not trash the tlb pointer by mistake. From NetBSD (PR #39257)
Diffstat (limited to 'sys')
-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 */