Module Name:    src
Committed By:   skrll
Date:           Wed Nov 25 08:39:45 UTC 2015

Modified Files:
        src/sys/arch/arm/arm: cpufunc.c
        src/sys/arch/arm/cortex: a9_mpsubr.S
        src/sys/arch/evbarm/conf: std.tegra

Log Message:
G/C TEGRAK1_PMAP_WORKAROUND.

Using XN (eXecute Never) properly means speculative reads from devices
aren't done.  Pretty sure this was the cause of the wedges.


To generate a diff of this commit:
cvs rdiff -u -r1.157 -r1.158 src/sys/arch/arm/arm/cpufunc.c
cvs rdiff -u -r1.43 -r1.44 src/sys/arch/arm/cortex/a9_mpsubr.S
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/evbarm/conf/std.tegra

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/arm/cpufunc.c
diff -u src/sys/arch/arm/arm/cpufunc.c:1.157 src/sys/arch/arm/arm/cpufunc.c:1.158
--- src/sys/arch/arm/arm/cpufunc.c:1.157	Thu Oct 15 07:13:50 2015
+++ src/sys/arch/arm/arm/cpufunc.c	Wed Nov 25 08:39:45 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: cpufunc.c,v 1.157 2015/10/15 07:13:50 skrll Exp $	*/
+/*	$NetBSD: cpufunc.c,v 1.158 2015/11/25 08:39:45 skrll Exp $	*/
 
 /*
  * arm7tdmi support code Copyright (c) 2001 John Fremlin
@@ -49,7 +49,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: cpufunc.c,v 1.157 2015/10/15 07:13:50 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: cpufunc.c,v 1.158 2015/11/25 08:39:45 skrll Exp $");
 
 #include "opt_compat_netbsd.h"
 #include "opt_cpuoptions.h"
@@ -3165,17 +3165,6 @@ armv7_setup(char *args)
 		cpuctrl |= CPU_CONTROL_VECRELOC;
 #endif
 
-#ifdef TEGRAK1_PMAP_WORKAROUND
-	uint32_t auxctrl = armreg_auxctl_read();
-
-	// u-boot sets this incorrectly on boot cpu
-	auxctrl &= ~CORTEXA15_ACTLR_BTB;
-	auxctrl |= CORTEXA15_ACTLR_IOBEU;
-
-	/* Update auxctlr */
-	armreg_auxctl_write(auxctrl);
-#endif
-
 	/* Clear out the cache */
 	cpu_idcache_wbinv_all();
 

Index: src/sys/arch/arm/cortex/a9_mpsubr.S
diff -u src/sys/arch/arm/cortex/a9_mpsubr.S:1.43 src/sys/arch/arm/cortex/a9_mpsubr.S:1.44
--- src/sys/arch/arm/cortex/a9_mpsubr.S:1.43	Thu Oct 15 07:13:50 2015
+++ src/sys/arch/arm/cortex/a9_mpsubr.S	Wed Nov 25 08:39:45 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: a9_mpsubr.S,v 1.43 2015/10/15 07:13:50 skrll Exp $	*/
+/*	$NetBSD: a9_mpsubr.S,v 1.44 2015/11/25 08:39:45 skrll Exp $	*/
 /*-
  * Copyright (c) 2012 The NetBSD Foundation, Inc.
  * All rights reserved.
@@ -498,10 +498,6 @@ cortex_init:
 	bfi	r0, r2, #31, #1			// copy it to bit 31 in ACTRL
 #endif
 
-#if defined(TEGRAK1_PMAP_WORKAROUND)
-	orr	r0, r0, #CORTEXA15_ACTLR_IOBEU
-#endif
-
 #if defined(CPU_CORTEXA5) || defined(CPU_CORTEXA9)
 	//
 	// Step 4a (continued on A5/A9), ACTLR.FW=1)

Index: src/sys/arch/evbarm/conf/std.tegra
diff -u src/sys/arch/evbarm/conf/std.tegra:1.9 src/sys/arch/evbarm/conf/std.tegra:1.10
--- src/sys/arch/evbarm/conf/std.tegra:1.9	Sun Oct 18 00:38:37 2015
+++ src/sys/arch/evbarm/conf/std.tegra	Wed Nov 25 08:39:45 2015
@@ -1,4 +1,4 @@
-#	$NetBSD: std.tegra,v 1.9 2015/10/18 00:38:37 jmcneill Exp $
+#	$NetBSD: std.tegra,v 1.10 2015/11/25 08:39:45 skrll Exp $
 #
 
 machine	evbarm arm
@@ -20,7 +20,6 @@ options 	FPU_VFP
 options 	PCI_NETBSD_CONFIGURE
 options 	__HAVE_PCI_CONF_HOOK
 options 	__BUS_SPACE_HAS_STREAM_METHODS
-options 	TEGRAK1_PMAP_WORKAROUND
 
 makeoptions	KERNEL_BASE_PHYS="0x81000000"
 makeoptions	KERNEL_BASE_VIRT="0x81000000"

Reply via email to