diff options
author | Mark Kettenis <kettenis@cvs.openbsd.org> | 2009-08-18 20:35:42 +0000 |
---|---|---|
committer | Mark Kettenis <kettenis@cvs.openbsd.org> | 2009-08-18 20:35:42 +0000 |
commit | 4c5c12cd38e87e3941abda444628b1ff8324599e (patch) | |
tree | d546b5b0f2da1a9542daa73cc6ef0e874e0cf688 /sys/arch | |
parent | 8d9efa277f37586408a8a26446fd3ee56eb1a705 (diff) |
Disable address translation. Necessary on the RB600 where the firmware starts
running us with address translation enabled. Lifted from a diff from dms@,
tested on the Thecus N1200 by me.
Diffstat (limited to 'sys/arch')
-rw-r--r-- | sys/arch/socppc/socppc/locore.S | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/arch/socppc/socppc/locore.S b/sys/arch/socppc/socppc/locore.S index 3c0fc0af64d..a61132bdb77 100644 --- a/sys/arch/socppc/socppc/locore.S +++ b/sys/arch/socppc/socppc/locore.S @@ -1,4 +1,4 @@ -/* $OpenBSD: locore.S,v 1.6 2008/07/28 19:08:46 miod Exp $ */ +/* $OpenBSD: locore.S,v 1.7 2009/08/18 20:35:41 kettenis Exp $ */ /* $NetBSD: locore.S,v 1.2 1996/10/16 19:33:09 ws Exp $ */ /* @@ -81,6 +81,14 @@ _ENTRY(_ASM_LABEL(start)) .globl start .type start,@function start: + /* make sure address translation is disabled */ + mfmsr %r3 + li %r8,PSL_DR|PSL_IR + andc %r3,%r3,%r8 + sync + mtmsr %r3 + isync + lis %r3, fwargsave@ha stw %r29, fwargsave@l(%r3) |