svn commit: r271240 - head/sys/arm/arm

Andrew Turner andrew at FreeBSD.org
Sun Sep 7 21:46:54 UTC 2014


Author: andrew
Date: Sun Sep  7 21:46:54 2014
New Revision: 271240
URL: http://svnweb.freebsd.org/changeset/base/271240

Log:
  When entering the kernel with the MMU off assume we are running from a
  va == pa map.
  
  I'm not sure the code would work if we are not running from the identity
  map as the ARM core may attempt to read the next instruction from an
  invalid memory location.

Modified:
  head/sys/arm/arm/locore.S

Modified: head/sys/arm/arm/locore.S
==============================================================================
--- head/sys/arm/arm/locore.S	Sun Sep  7 21:40:14 2014	(r271239)
+++ head/sys/arm/arm/locore.S	Sun Sep  7 21:46:54 2014	(r271240)
@@ -127,10 +127,6 @@ Lram_offset:	.word from_ram-_C_LABEL(_st
 from_ram:
 	nop
 #endif
-	adr	r7, Lunmapped
-	bic     r7, r7, #0xf0000000
-	orr     r7, r7, #PHYSADDR
-
 
 disable_mmu:
 	/* Disable MMU for a while */
@@ -144,7 +140,8 @@ disable_mmu:
 	nop
 	nop
 	nop
-	mov	pc, r7
+	CPWAIT(r0)
+
 Lunmapped:
 	/*
 	 * Build page table from scratch.


More information about the svn-src-all mailing list