Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 31 Mar 2013 22:43:16 +0000 (UTC)
From:      Ian Lepore <ian@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r248962 - head/sys/boot/arm/uboot
Message-ID:  <201303312243.r2VMhGcV018951@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ian
Date: Sun Mar 31 22:43:16 2013
New Revision: 248962
URL: http://svnweb.freebsd.org/changeset/base/248962

Log:
  When running on armv6, set alignment checking to modulo-4 mode rather
  than modulo-8, because clang emits ldrd and strd instructions for
  addresses that are only 4-byte aligned

Modified:
  head/sys/boot/arm/uboot/start.S

Modified: head/sys/boot/arm/uboot/start.S
==============================================================================
--- head/sys/boot/arm/uboot/start.S	Sun Mar 31 22:42:25 2013	(r248961)
+++ head/sys/boot/arm/uboot/start.S	Sun Mar 31 22:43:16 2013	(r248962)
@@ -27,6 +27,7 @@
  */
 
 #include <machine/asm.h>
+#include <machine/armreg.h>
 
 /*
  * Entry point to the loader that U-Boot passes control to.
@@ -42,6 +43,13 @@ _start:
 	ldr	ip, =saved_regs
 	str	r8, [ip, #0]
 
+#ifdef _ARM_ARCH_6
+	mrc     p15, 0, r2, c1, c0, 0
+	orr	r2, r2, #(CPU_CONTROL_UNAL_ENABLE)
+	orr	r2, r2, #(CPU_CONTROL_AFLT_ENABLE)
+	mcr     p15, 0, r2, c1, c0, 0
+#endif
+
 	/* Start loader */
 	b	main
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201303312243.r2VMhGcV018951>