summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkettenis <kettenis@openbsd.org>2009-08-18 20:35:41 +0000
committerkettenis <kettenis@openbsd.org>2009-08-18 20:35:41 +0000
commita0b97506370a2276464290007468a431e8c5f3f8 (patch)
tree38f035a63f72758d4d3905946c8da44445865e49
parentDocument recent developments. (diff)
downloadwireguard-openbsd-a0b97506370a2276464290007468a431e8c5f3f8.tar.xz
wireguard-openbsd-a0b97506370a2276464290007468a431e8c5f3f8.zip
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.
-rw-r--r--sys/arch/socppc/socppc/locore.S10
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)