svn commit: r278645 - stable/10/sys/arm/arm
Ian Lepore
ian at FreeBSD.org
Fri Feb 13 00:12:22 UTC 2015
Author: ian
Date: Fri Feb 13 00:12:21 2015
New Revision: 278645
URL: https://svnweb.freebsd.org/changeset/base/278645
Log:
MFC r276444, r276445, r276470:
Fix a paste-o in dcache_inv_pou_all().
Change the order of operations for the initial cache setup.
A couple small fixes to make clang 3.5 happy... Move END(sigcode)
and other misplace ENTRY/END macros.
Modified:
stable/10/sys/arm/arm/cpu_asm-v6.S
stable/10/sys/arm/arm/locore-v6.S
Directory Properties:
stable/10/ (props changed)
Modified: stable/10/sys/arm/arm/cpu_asm-v6.S
==============================================================================
--- stable/10/sys/arm/arm/cpu_asm-v6.S Fri Feb 13 00:08:32 2015 (r278644)
+++ stable/10/sys/arm/arm/cpu_asm-v6.S Fri Feb 13 00:12:21 2015 (r278645)
@@ -106,7 +106,7 @@ ASENTRY_NP(dcache_inv_pou_all)
bx lr
#else
mrc CP15_CLIDR(r0)
- ands r0, r0, #0x07000000
+ ands r0, r0, #0x38000000
mov r0, r0, lsr #26 /* Get LoUU (naturally aligned) */
beq 4f
Modified: stable/10/sys/arm/arm/locore-v6.S
==============================================================================
--- stable/10/sys/arm/arm/locore-v6.S Fri Feb 13 00:08:32 2015 (r278644)
+++ stable/10/sys/arm/arm/locore-v6.S Fri Feb 13 00:12:21 2015 (r278645)
@@ -84,11 +84,9 @@ ASENTRY_NP(_start)
*/
mrc CP15_SCTLR(r7)
tst r7, #CPU_CONTROL_DC_ENABLE
- beq 1f
- bic r7, #CPU_CONTROL_DC_ENABLE
- mcr CP15_SCTLR(r7)
- ISB
- bl dcache_wbinv_poc_all
+ blne dcache_wbinv_poc_all
+
+ /* ! Do not write to memory between wbinv and disabling cache ! */
/*
* Now there are no dirty lines, but there may still be lines marked
@@ -96,6 +94,7 @@ ASENTRY_NP(_start)
* before setting up new page tables and re-enabling the mmu.
*/
1:
+ bic r7, #CPU_CONTROL_DC_ENABLE
bic r7, #CPU_CONTROL_MMU_ENABLE
bic r7, #CPU_CONTROL_IC_ENABLE
bic r7, #CPU_CONTROL_UNAL_ENABLE
@@ -340,7 +339,7 @@ END(reinit_mmu)
*
* Addresses must be 1MiB aligned
*/
-ASENTRY_NP(build_pagetables)
+build_pagetables:
/* Set the required page attributed */
#if defined(ARM_NEW_PMAP)
ldr r4, =PTE1_V|PTE1_A|PTE1_AP_KRW|TEX1_CLASS_0
@@ -521,6 +520,7 @@ ENTRY_NP(sigcode)
/* Branch back to retry SYS_sigreturn */
b . - 16
+END(sigcode)
.word SYS_sigreturn
.word SYS_exit
@@ -533,5 +533,5 @@ ENTRY_NP(sigcode)
.global szsigcode
szsigcode:
.long esigcode-sigcode
-END(sigcode)
+
/* End of locore.S */
More information about the svn-src-stable-10
mailing list