diff options
Diffstat (limited to 'arch/arm/mm/proc-feroceon.S')
-rw-r--r-- | arch/arm/mm/proc-feroceon.S | 44 |
1 files changed, 22 insertions, 22 deletions
diff --git a/arch/arm/mm/proc-feroceon.S b/arch/arm/mm/proc-feroceon.S index db79b62c92fb..03a1b75f2e16 100644 --- a/arch/arm/mm/proc-feroceon.S +++ b/arch/arm/mm/proc-feroceon.S | |||
@@ -69,7 +69,7 @@ ENTRY(cpu_feroceon_proc_init) | |||
69 | movne r2, r2, lsr #2 @ turned into # of sets | 69 | movne r2, r2, lsr #2 @ turned into # of sets |
70 | sub r2, r2, #(1 << 5) | 70 | sub r2, r2, #(1 << 5) |
71 | stmia r1, {r2, r3} | 71 | stmia r1, {r2, r3} |
72 | mov pc, lr | 72 | ret lr |
73 | 73 | ||
74 | /* | 74 | /* |
75 | * cpu_feroceon_proc_fin() | 75 | * cpu_feroceon_proc_fin() |
@@ -86,7 +86,7 @@ ENTRY(cpu_feroceon_proc_fin) | |||
86 | bic r0, r0, #0x1000 @ ...i............ | 86 | bic r0, r0, #0x1000 @ ...i............ |
87 | bic r0, r0, #0x000e @ ............wca. | 87 | bic r0, r0, #0x000e @ ............wca. |
88 | mcr p15, 0, r0, c1, c0, 0 @ disable caches | 88 | mcr p15, 0, r0, c1, c0, 0 @ disable caches |
89 | mov pc, lr | 89 | ret lr |
90 | 90 | ||
91 | /* | 91 | /* |
92 | * cpu_feroceon_reset(loc) | 92 | * cpu_feroceon_reset(loc) |
@@ -110,7 +110,7 @@ ENTRY(cpu_feroceon_reset) | |||
110 | bic ip, ip, #0x000f @ ............wcam | 110 | bic ip, ip, #0x000f @ ............wcam |
111 | bic ip, ip, #0x1100 @ ...i...s........ | 111 | bic ip, ip, #0x1100 @ ...i...s........ |
112 | mcr p15, 0, ip, c1, c0, 0 @ ctrl register | 112 | mcr p15, 0, ip, c1, c0, 0 @ ctrl register |
113 | mov pc, r0 | 113 | ret r0 |
114 | ENDPROC(cpu_feroceon_reset) | 114 | ENDPROC(cpu_feroceon_reset) |
115 | .popsection | 115 | .popsection |
116 | 116 | ||
@@ -124,7 +124,7 @@ ENTRY(cpu_feroceon_do_idle) | |||
124 | mov r0, #0 | 124 | mov r0, #0 |
125 | mcr p15, 0, r0, c7, c10, 4 @ Drain write buffer | 125 | mcr p15, 0, r0, c7, c10, 4 @ Drain write buffer |
126 | mcr p15, 0, r0, c7, c0, 4 @ Wait for interrupt | 126 | mcr p15, 0, r0, c7, c0, 4 @ Wait for interrupt |
127 | mov pc, lr | 127 | ret lr |
128 | 128 | ||
129 | /* | 129 | /* |
130 | * flush_icache_all() | 130 | * flush_icache_all() |
@@ -134,7 +134,7 @@ ENTRY(cpu_feroceon_do_idle) | |||
134 | ENTRY(feroceon_flush_icache_all) | 134 | ENTRY(feroceon_flush_icache_all) |
135 | mov r0, #0 | 135 | mov r0, #0 |
136 | mcr p15, 0, r0, c7, c5, 0 @ invalidate I cache | 136 | mcr p15, 0, r0, c7, c5, 0 @ invalidate I cache |
137 | mov pc, lr | 137 | ret lr |
138 | ENDPROC(feroceon_flush_icache_all) | 138 | ENDPROC(feroceon_flush_icache_all) |
139 | 139 | ||
140 | /* | 140 | /* |
@@ -169,7 +169,7 @@ __flush_whole_cache: | |||
169 | mov ip, #0 | 169 | mov ip, #0 |
170 | mcrne p15, 0, ip, c7, c5, 0 @ invalidate I cache | 170 | mcrne p15, 0, ip, c7, c5, 0 @ invalidate I cache |
171 | mcrne p15, 0, ip, c7, c10, 4 @ drain WB | 171 | mcrne p15, 0, ip, c7, c10, 4 @ drain WB |
172 | mov pc, lr | 172 | ret lr |
173 | 173 | ||
174 | /* | 174 | /* |
175 | * flush_user_cache_range(start, end, flags) | 175 | * flush_user_cache_range(start, end, flags) |
@@ -198,7 +198,7 @@ ENTRY(feroceon_flush_user_cache_range) | |||
198 | tst r2, #VM_EXEC | 198 | tst r2, #VM_EXEC |
199 | mov ip, #0 | 199 | mov ip, #0 |
200 | mcrne p15, 0, ip, c7, c10, 4 @ drain WB | 200 | mcrne p15, 0, ip, c7, c10, 4 @ drain WB |
201 | mov pc, lr | 201 | ret lr |
202 | 202 | ||
203 | /* | 203 | /* |
204 | * coherent_kern_range(start, end) | 204 | * coherent_kern_range(start, end) |
@@ -233,7 +233,7 @@ ENTRY(feroceon_coherent_user_range) | |||
233 | blo 1b | 233 | blo 1b |
234 | mcr p15, 0, r0, c7, c10, 4 @ drain WB | 234 | mcr p15, 0, r0, c7, c10, 4 @ drain WB |
235 | mov r0, #0 | 235 | mov r0, #0 |
236 | mov pc, lr | 236 | ret lr |
237 | 237 | ||
238 | /* | 238 | /* |
239 | * flush_kern_dcache_area(void *addr, size_t size) | 239 | * flush_kern_dcache_area(void *addr, size_t size) |
@@ -254,7 +254,7 @@ ENTRY(feroceon_flush_kern_dcache_area) | |||
254 | mov r0, #0 | 254 | mov r0, #0 |
255 | mcr p15, 0, r0, c7, c5, 0 @ invalidate I cache | 255 | mcr p15, 0, r0, c7, c5, 0 @ invalidate I cache |
256 | mcr p15, 0, r0, c7, c10, 4 @ drain WB | 256 | mcr p15, 0, r0, c7, c10, 4 @ drain WB |
257 | mov pc, lr | 257 | ret lr |
258 | 258 | ||
259 | .align 5 | 259 | .align 5 |
260 | ENTRY(feroceon_range_flush_kern_dcache_area) | 260 | ENTRY(feroceon_range_flush_kern_dcache_area) |
@@ -268,7 +268,7 @@ ENTRY(feroceon_range_flush_kern_dcache_area) | |||
268 | mov r0, #0 | 268 | mov r0, #0 |
269 | mcr p15, 0, r0, c7, c5, 0 @ invalidate I cache | 269 | mcr p15, 0, r0, c7, c5, 0 @ invalidate I cache |
270 | mcr p15, 0, r0, c7, c10, 4 @ drain WB | 270 | mcr p15, 0, r0, c7, c10, 4 @ drain WB |
271 | mov pc, lr | 271 | ret lr |
272 | 272 | ||
273 | /* | 273 | /* |
274 | * dma_inv_range(start, end) | 274 | * dma_inv_range(start, end) |
@@ -295,7 +295,7 @@ feroceon_dma_inv_range: | |||
295 | cmp r0, r1 | 295 | cmp r0, r1 |
296 | blo 1b | 296 | blo 1b |
297 | mcr p15, 0, r0, c7, c10, 4 @ drain WB | 297 | mcr p15, 0, r0, c7, c10, 4 @ drain WB |
298 | mov pc, lr | 298 | ret lr |
299 | 299 | ||
300 | .align 5 | 300 | .align 5 |
301 | feroceon_range_dma_inv_range: | 301 | feroceon_range_dma_inv_range: |
@@ -311,7 +311,7 @@ feroceon_range_dma_inv_range: | |||
311 | mcr p15, 5, r0, c15, c14, 0 @ D inv range start | 311 | mcr p15, 5, r0, c15, c14, 0 @ D inv range start |
312 | mcr p15, 5, r1, c15, c14, 1 @ D inv range top | 312 | mcr p15, 5, r1, c15, c14, 1 @ D inv range top |
313 | msr cpsr_c, r2 @ restore interrupts | 313 | msr cpsr_c, r2 @ restore interrupts |
314 | mov pc, lr | 314 | ret lr |
315 | 315 | ||
316 | /* | 316 | /* |
317 | * dma_clean_range(start, end) | 317 | * dma_clean_range(start, end) |
@@ -331,7 +331,7 @@ feroceon_dma_clean_range: | |||
331 | cmp r0, r1 | 331 | cmp r0, r1 |
332 | blo 1b | 332 | blo 1b |
333 | mcr p15, 0, r0, c7, c10, 4 @ drain WB | 333 | mcr p15, 0, r0, c7, c10, 4 @ drain WB |
334 | mov pc, lr | 334 | ret lr |
335 | 335 | ||
336 | .align 5 | 336 | .align 5 |
337 | feroceon_range_dma_clean_range: | 337 | feroceon_range_dma_clean_range: |
@@ -344,7 +344,7 @@ feroceon_range_dma_clean_range: | |||
344 | mcr p15, 5, r1, c15, c13, 1 @ D clean range top | 344 | mcr p15, 5, r1, c15, c13, 1 @ D clean range top |
345 | msr cpsr_c, r2 @ restore interrupts | 345 | msr cpsr_c, r2 @ restore interrupts |
346 | mcr p15, 0, r0, c7, c10, 4 @ drain WB | 346 | mcr p15, 0, r0, c7, c10, 4 @ drain WB |
347 | mov pc, lr | 347 | ret lr |
348 | 348 | ||
349 | /* | 349 | /* |
350 | * dma_flush_range(start, end) | 350 | * dma_flush_range(start, end) |
@@ -362,7 +362,7 @@ ENTRY(feroceon_dma_flush_range) | |||
362 | cmp r0, r1 | 362 | cmp r0, r1 |
363 | blo 1b | 363 | blo 1b |
364 | mcr p15, 0, r0, c7, c10, 4 @ drain WB | 364 | mcr p15, 0, r0, c7, c10, 4 @ drain WB |
365 | mov pc, lr | 365 | ret lr |
366 | 366 | ||
367 | .align 5 | 367 | .align 5 |
368 | ENTRY(feroceon_range_dma_flush_range) | 368 | ENTRY(feroceon_range_dma_flush_range) |
@@ -375,7 +375,7 @@ ENTRY(feroceon_range_dma_flush_range) | |||
375 | mcr p15, 5, r1, c15, c15, 1 @ D clean/inv range top | 375 | mcr p15, 5, r1, c15, c15, 1 @ D clean/inv range top |
376 | msr cpsr_c, r2 @ restore interrupts | 376 | msr cpsr_c, r2 @ restore interrupts |
377 | mcr p15, 0, r0, c7, c10, 4 @ drain WB | 377 | mcr p15, 0, r0, c7, c10, 4 @ drain WB |
378 | mov pc, lr | 378 | ret lr |
379 | 379 | ||
380 | /* | 380 | /* |
381 | * dma_map_area(start, size, dir) | 381 | * dma_map_area(start, size, dir) |
@@ -412,7 +412,7 @@ ENDPROC(feroceon_range_dma_map_area) | |||
412 | * - dir - DMA direction | 412 | * - dir - DMA direction |
413 | */ | 413 | */ |
414 | ENTRY(feroceon_dma_unmap_area) | 414 | ENTRY(feroceon_dma_unmap_area) |
415 | mov pc, lr | 415 | ret lr |
416 | ENDPROC(feroceon_dma_unmap_area) | 416 | ENDPROC(feroceon_dma_unmap_area) |
417 | 417 | ||
418 | .globl feroceon_flush_kern_cache_louis | 418 | .globl feroceon_flush_kern_cache_louis |
@@ -461,7 +461,7 @@ ENTRY(cpu_feroceon_dcache_clean_area) | |||
461 | bhi 1b | 461 | bhi 1b |
462 | #endif | 462 | #endif |
463 | mcr p15, 0, r0, c7, c10, 4 @ drain WB | 463 | mcr p15, 0, r0, c7, c10, 4 @ drain WB |
464 | mov pc, lr | 464 | ret lr |
465 | 465 | ||
466 | /* =============================== PageTable ============================== */ | 466 | /* =============================== PageTable ============================== */ |
467 | 467 | ||
@@ -490,9 +490,9 @@ ENTRY(cpu_feroceon_switch_mm) | |||
490 | 490 | ||
491 | mcr p15, 0, r0, c2, c0, 0 @ load page table pointer | 491 | mcr p15, 0, r0, c2, c0, 0 @ load page table pointer |
492 | mcr p15, 0, ip, c8, c7, 0 @ invalidate I & D TLBs | 492 | mcr p15, 0, ip, c8, c7, 0 @ invalidate I & D TLBs |
493 | mov pc, r2 | 493 | ret r2 |
494 | #else | 494 | #else |
495 | mov pc, lr | 495 | ret lr |
496 | #endif | 496 | #endif |
497 | 497 | ||
498 | /* | 498 | /* |
@@ -512,7 +512,7 @@ ENTRY(cpu_feroceon_set_pte_ext) | |||
512 | #endif | 512 | #endif |
513 | mcr p15, 0, r0, c7, c10, 4 @ drain WB | 513 | mcr p15, 0, r0, c7, c10, 4 @ drain WB |
514 | #endif | 514 | #endif |
515 | mov pc, lr | 515 | ret lr |
516 | 516 | ||
517 | /* Suspend/resume support: taken from arch/arm/mm/proc-arm926.S */ | 517 | /* Suspend/resume support: taken from arch/arm/mm/proc-arm926.S */ |
518 | .globl cpu_feroceon_suspend_size | 518 | .globl cpu_feroceon_suspend_size |
@@ -554,7 +554,7 @@ __feroceon_setup: | |||
554 | mrc p15, 0, r0, c1, c0 @ get control register v4 | 554 | mrc p15, 0, r0, c1, c0 @ get control register v4 |
555 | bic r0, r0, r5 | 555 | bic r0, r0, r5 |
556 | orr r0, r0, r6 | 556 | orr r0, r0, r6 |
557 | mov pc, lr | 557 | ret lr |
558 | .size __feroceon_setup, . - __feroceon_setup | 558 | .size __feroceon_setup, . - __feroceon_setup |
559 | 559 | ||
560 | /* | 560 | /* |