diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2013-12-29 21:06:38 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2013-12-29 21:06:38 +0000 |
commit | 7c8da16570bdb5e7e07b3ed7db6f1e8b27679111 (patch) | |
tree | 0a72c84401bc340daebfcbfb4180c9b94ebd800d /sys | |
parent | ca635b77c55e8e52358609c21a18541c138f7387 (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.S | 4 | ||||
-rw-r--r-- | sys/arch/socppc/socppc/locore.S | 4 |
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 */ |