aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mm/proc-feroceon.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mm/proc-feroceon.S')
-rw-r--r--arch/arm/mm/proc-feroceon.S13
1 files changed, 10 insertions, 3 deletions
diff --git a/arch/arm/mm/proc-feroceon.S b/arch/arm/mm/proc-feroceon.S
index 3ceb6785a345..f37abd710562 100644
--- a/arch/arm/mm/proc-feroceon.S
+++ b/arch/arm/mm/proc-feroceon.S
@@ -93,7 +93,7 @@ ENTRY(cpu_feroceon_reset)
93 * 93 *
94 * Called with IRQs disabled 94 * Called with IRQs disabled
95 */ 95 */
96 .align 10 96 .align 5
97ENTRY(cpu_feroceon_do_idle) 97ENTRY(cpu_feroceon_do_idle)
98 mov r0, #0 98 mov r0, #0
99 mcr p15, 0, r0, c7, c10, 4 @ Drain write buffer 99 mcr p15, 0, r0, c7, c10, 4 @ Drain write buffer
@@ -106,6 +106,7 @@ ENTRY(cpu_feroceon_do_idle)
106 * Clean and invalidate all cache entries in a particular 106 * Clean and invalidate all cache entries in a particular
107 * address space. 107 * address space.
108 */ 108 */
109 .align 5
109ENTRY(feroceon_flush_user_cache_all) 110ENTRY(feroceon_flush_user_cache_all)
110 /* FALLTHROUGH */ 111 /* FALLTHROUGH */
111 112
@@ -135,6 +136,7 @@ __flush_whole_cache:
135 * - end - end address (exclusive) 136 * - end - end address (exclusive)
136 * - flags - vm_flags describing address space 137 * - flags - vm_flags describing address space
137 */ 138 */
139 .align 5
138ENTRY(feroceon_flush_user_cache_range) 140ENTRY(feroceon_flush_user_cache_range)
139 mov ip, #0 141 mov ip, #0
140 sub r3, r1, r0 @ calculate total size 142 sub r3, r1, r0 @ calculate total size
@@ -163,6 +165,7 @@ ENTRY(feroceon_flush_user_cache_range)
163 * - start - virtual start address 165 * - start - virtual start address
164 * - end - virtual end address 166 * - end - virtual end address
165 */ 167 */
168 .align 5
166ENTRY(feroceon_coherent_kern_range) 169ENTRY(feroceon_coherent_kern_range)
167 /* FALLTHROUGH */ 170 /* FALLTHROUGH */
168 171
@@ -194,6 +197,7 @@ ENTRY(feroceon_coherent_user_range)
194 * 197 *
195 * - addr - page aligned address 198 * - addr - page aligned address
196 */ 199 */
200 .align 5
197ENTRY(feroceon_flush_kern_dcache_page) 201ENTRY(feroceon_flush_kern_dcache_page)
198 add r1, r0, #PAGE_SZ 202 add r1, r0, #PAGE_SZ
1991: mcr p15, 0, r0, c7, c14, 1 @ clean+invalidate D entry 2031: mcr p15, 0, r0, c7, c14, 1 @ clean+invalidate D entry
@@ -218,6 +222,7 @@ ENTRY(feroceon_flush_kern_dcache_page)
218 * 222 *
219 * (same as v4wb) 223 * (same as v4wb)
220 */ 224 */
225 .align 5
221ENTRY(feroceon_dma_inv_range) 226ENTRY(feroceon_dma_inv_range)
222 tst r0, #CACHE_DLINESIZE - 1 227 tst r0, #CACHE_DLINESIZE - 1
223 mcrne p15, 0, r0, c7, c10, 1 @ clean D entry 228 mcrne p15, 0, r0, c7, c10, 1 @ clean D entry
@@ -241,6 +246,7 @@ ENTRY(feroceon_dma_inv_range)
241 * 246 *
242 * (same as v4wb) 247 * (same as v4wb)
243 */ 248 */
249 .align 5
244ENTRY(feroceon_dma_clean_range) 250ENTRY(feroceon_dma_clean_range)
245 bic r0, r0, #CACHE_DLINESIZE - 1 251 bic r0, r0, #CACHE_DLINESIZE - 1
2461: mcr p15, 0, r0, c7, c10, 1 @ clean D entry 2521: mcr p15, 0, r0, c7, c10, 1 @ clean D entry
@@ -258,10 +264,10 @@ ENTRY(feroceon_dma_clean_range)
258 * - start - virtual start address 264 * - start - virtual start address
259 * - end - virtual end address 265 * - end - virtual end address
260 */ 266 */
267 .align 5
261ENTRY(feroceon_dma_flush_range) 268ENTRY(feroceon_dma_flush_range)
262 bic r0, r0, #CACHE_DLINESIZE - 1 269 bic r0, r0, #CACHE_DLINESIZE - 1
2631: 2701: mcr p15, 0, r0, c7, c14, 1 @ clean+invalidate D entry
264 mcr p15, 0, r0, c7, c14, 1 @ clean+invalidate D entry
265 add r0, r0, #CACHE_DLINESIZE 271 add r0, r0, #CACHE_DLINESIZE
266 cmp r0, r1 272 cmp r0, r1
267 blo 1b 273 blo 1b
@@ -279,6 +285,7 @@ ENTRY(feroceon_cache_fns)
279 .long feroceon_dma_clean_range 285 .long feroceon_dma_clean_range
280 .long feroceon_dma_flush_range 286 .long feroceon_dma_flush_range
281 287
288 .align 5
282ENTRY(cpu_feroceon_dcache_clean_area) 289ENTRY(cpu_feroceon_dcache_clean_area)
2831: mcr p15, 0, r0, c7, c10, 1 @ clean D entry 2901: mcr p15, 0, r0, c7, c10, 1 @ clean D entry
284 add r0, r0, #CACHE_DLINESIZE 291 add r0, r0, #CACHE_DLINESIZE