diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mm/cache-fa.S | 12 | ||||
-rw-r--r-- | arch/arm/mm/cache-v3.S | 10 | ||||
-rw-r--r-- | arch/arm/mm/cache-v4.S | 10 | ||||
-rw-r--r-- | arch/arm/mm/cache-v4wb.S | 12 | ||||
-rw-r--r-- | arch/arm/mm/cache-v4wt.S | 12 | ||||
-rw-r--r-- | arch/arm/mm/proc-arm1020.S | 15 | ||||
-rw-r--r-- | arch/arm/mm/proc-arm1020e.S | 15 | ||||
-rw-r--r-- | arch/arm/mm/proc-arm1022.S | 15 | ||||
-rw-r--r-- | arch/arm/mm/proc-arm1026.S | 15 | ||||
-rw-r--r-- | arch/arm/mm/proc-arm920.S | 12 | ||||
-rw-r--r-- | arch/arm/mm/proc-arm922.S | 12 | ||||
-rw-r--r-- | arch/arm/mm/proc-arm925.S | 12 | ||||
-rw-r--r-- | arch/arm/mm/proc-arm926.S | 12 | ||||
-rw-r--r-- | arch/arm/mm/proc-arm940.S | 12 | ||||
-rw-r--r-- | arch/arm/mm/proc-arm946.S | 12 | ||||
-rw-r--r-- | arch/arm/mm/proc-feroceon.S | 13 | ||||
-rw-r--r-- | arch/arm/mm/proc-xsc3.S | 12 | ||||
-rw-r--r-- | arch/arm/mm/proc-xscale.S | 12 |
18 files changed, 225 insertions, 0 deletions
diff --git a/arch/arm/mm/cache-fa.S b/arch/arm/mm/cache-fa.S index 7148e53e6078..1fa6f71470de 100644 --- a/arch/arm/mm/cache-fa.S +++ b/arch/arm/mm/cache-fa.S | |||
@@ -38,6 +38,17 @@ | |||
38 | #define CACHE_DLIMIT (CACHE_DSIZE * 2) | 38 | #define CACHE_DLIMIT (CACHE_DSIZE * 2) |
39 | 39 | ||
40 | /* | 40 | /* |
41 | * flush_icache_all() | ||
42 | * | ||
43 | * Unconditionally clean and invalidate the entire icache. | ||
44 | */ | ||
45 | ENTRY(fa_flush_icache_all) | ||
46 | mov r0, #0 | ||
47 | mcr p15, 0, r0, c7, c5, 0 @ invalidate I cache | ||
48 | mov pc, lr | ||
49 | ENDPROC(fa_flush_icache_all) | ||
50 | |||
51 | /* | ||
41 | * flush_user_cache_all() | 52 | * flush_user_cache_all() |
42 | * | 53 | * |
43 | * Clean and invalidate all cache entries in a particular address | 54 | * Clean and invalidate all cache entries in a particular address |
@@ -233,6 +244,7 @@ ENDPROC(fa_dma_unmap_area) | |||
233 | 244 | ||
234 | .type fa_cache_fns, #object | 245 | .type fa_cache_fns, #object |
235 | ENTRY(fa_cache_fns) | 246 | ENTRY(fa_cache_fns) |
247 | .long fa_flush_icache_all | ||
236 | .long fa_flush_kern_cache_all | 248 | .long fa_flush_kern_cache_all |
237 | .long fa_flush_user_cache_all | 249 | .long fa_flush_user_cache_all |
238 | .long fa_flush_user_cache_range | 250 | .long fa_flush_user_cache_range |
diff --git a/arch/arm/mm/cache-v3.S b/arch/arm/mm/cache-v3.S index c2ff3c599fee..2e2bc406a18d 100644 --- a/arch/arm/mm/cache-v3.S +++ b/arch/arm/mm/cache-v3.S | |||
@@ -13,6 +13,15 @@ | |||
13 | #include "proc-macros.S" | 13 | #include "proc-macros.S" |
14 | 14 | ||
15 | /* | 15 | /* |
16 | * flush_icache_all() | ||
17 | * | ||
18 | * Unconditionally clean and invalidate the entire icache. | ||
19 | */ | ||
20 | ENTRY(v3_flush_icache_all) | ||
21 | mov pc, lr | ||
22 | ENDPROC(v3_flush_icache_all) | ||
23 | |||
24 | /* | ||
16 | * flush_user_cache_all() | 25 | * flush_user_cache_all() |
17 | * | 26 | * |
18 | * Invalidate all cache entries in a particular address | 27 | * Invalidate all cache entries in a particular address |
@@ -122,6 +131,7 @@ ENDPROC(v3_dma_map_area) | |||
122 | 131 | ||
123 | .type v3_cache_fns, #object | 132 | .type v3_cache_fns, #object |
124 | ENTRY(v3_cache_fns) | 133 | ENTRY(v3_cache_fns) |
134 | .long v3_flush_icache_all | ||
125 | .long v3_flush_kern_cache_all | 135 | .long v3_flush_kern_cache_all |
126 | .long v3_flush_user_cache_all | 136 | .long v3_flush_user_cache_all |
127 | .long v3_flush_user_cache_range | 137 | .long v3_flush_user_cache_range |
diff --git a/arch/arm/mm/cache-v4.S b/arch/arm/mm/cache-v4.S index 4810f7e3e813..a8fefb523f19 100644 --- a/arch/arm/mm/cache-v4.S +++ b/arch/arm/mm/cache-v4.S | |||
@@ -13,6 +13,15 @@ | |||
13 | #include "proc-macros.S" | 13 | #include "proc-macros.S" |
14 | 14 | ||
15 | /* | 15 | /* |
16 | * flush_icache_all() | ||
17 | * | ||
18 | * Unconditionally clean and invalidate the entire icache. | ||
19 | */ | ||
20 | ENTRY(v4_flush_icache_all) | ||
21 | mov pc, lr | ||
22 | ENDPROC(v4_flush_icache_all) | ||
23 | |||
24 | /* | ||
16 | * flush_user_cache_all() | 25 | * flush_user_cache_all() |
17 | * | 26 | * |
18 | * Invalidate all cache entries in a particular address | 27 | * Invalidate all cache entries in a particular address |
@@ -134,6 +143,7 @@ ENDPROC(v4_dma_map_area) | |||
134 | 143 | ||
135 | .type v4_cache_fns, #object | 144 | .type v4_cache_fns, #object |
136 | ENTRY(v4_cache_fns) | 145 | ENTRY(v4_cache_fns) |
146 | .long v4_flush_icache_all | ||
137 | .long v4_flush_kern_cache_all | 147 | .long v4_flush_kern_cache_all |
138 | .long v4_flush_user_cache_all | 148 | .long v4_flush_user_cache_all |
139 | .long v4_flush_user_cache_range | 149 | .long v4_flush_user_cache_range |
diff --git a/arch/arm/mm/cache-v4wb.S b/arch/arm/mm/cache-v4wb.S index df8368afa102..d3644db467b7 100644 --- a/arch/arm/mm/cache-v4wb.S +++ b/arch/arm/mm/cache-v4wb.S | |||
@@ -51,6 +51,17 @@ flush_base: | |||
51 | .text | 51 | .text |
52 | 52 | ||
53 | /* | 53 | /* |
54 | * flush_icache_all() | ||
55 | * | ||
56 | * Unconditionally clean and invalidate the entire icache. | ||
57 | */ | ||
58 | ENTRY(v4wb_flush_icache_all) | ||
59 | mov r0, #0 | ||
60 | mcr p15, 0, r0, c7, c5, 0 @ invalidate I cache | ||
61 | mov pc, lr | ||
62 | ENDPROC(v4wb_flush_icache_all) | ||
63 | |||
64 | /* | ||
54 | * flush_user_cache_all() | 65 | * flush_user_cache_all() |
55 | * | 66 | * |
56 | * Clean and invalidate all cache entries in a particular address | 67 | * Clean and invalidate all cache entries in a particular address |
@@ -244,6 +255,7 @@ ENDPROC(v4wb_dma_unmap_area) | |||
244 | 255 | ||
245 | .type v4wb_cache_fns, #object | 256 | .type v4wb_cache_fns, #object |
246 | ENTRY(v4wb_cache_fns) | 257 | ENTRY(v4wb_cache_fns) |
258 | .long v4wb_flush_icache_all | ||
247 | .long v4wb_flush_kern_cache_all | 259 | .long v4wb_flush_kern_cache_all |
248 | .long v4wb_flush_user_cache_all | 260 | .long v4wb_flush_user_cache_all |
249 | .long v4wb_flush_user_cache_range | 261 | .long v4wb_flush_user_cache_range |
diff --git a/arch/arm/mm/cache-v4wt.S b/arch/arm/mm/cache-v4wt.S index 45c70312f43b..49c2b66cf3dd 100644 --- a/arch/arm/mm/cache-v4wt.S +++ b/arch/arm/mm/cache-v4wt.S | |||
@@ -41,6 +41,17 @@ | |||
41 | #define CACHE_DLIMIT 16384 | 41 | #define CACHE_DLIMIT 16384 |
42 | 42 | ||
43 | /* | 43 | /* |
44 | * flush_icache_all() | ||
45 | * | ||
46 | * Unconditionally clean and invalidate the entire icache. | ||
47 | */ | ||
48 | ENTRY(v4wt_flush_icache_all) | ||
49 | mov r0, #0 | ||
50 | mcr p15, 0, r0, c7, c5, 0 @ invalidate I cache | ||
51 | mov pc, lr | ||
52 | ENDPROC(v4wt_flush_icache_all) | ||
53 | |||
54 | /* | ||
44 | * flush_user_cache_all() | 55 | * flush_user_cache_all() |
45 | * | 56 | * |
46 | * Invalidate all cache entries in a particular address | 57 | * Invalidate all cache entries in a particular address |
@@ -188,6 +199,7 @@ ENDPROC(v4wt_dma_map_area) | |||
188 | 199 | ||
189 | .type v4wt_cache_fns, #object | 200 | .type v4wt_cache_fns, #object |
190 | ENTRY(v4wt_cache_fns) | 201 | ENTRY(v4wt_cache_fns) |
202 | .long v4wt_flush_icache_all | ||
191 | .long v4wt_flush_kern_cache_all | 203 | .long v4wt_flush_kern_cache_all |
192 | .long v4wt_flush_user_cache_all | 204 | .long v4wt_flush_user_cache_all |
193 | .long v4wt_flush_user_cache_range | 205 | .long v4wt_flush_user_cache_range |
diff --git a/arch/arm/mm/proc-arm1020.S b/arch/arm/mm/proc-arm1020.S index a6f5f8475b96..bcf748d9f4e2 100644 --- a/arch/arm/mm/proc-arm1020.S +++ b/arch/arm/mm/proc-arm1020.S | |||
@@ -119,6 +119,20 @@ ENTRY(cpu_arm1020_do_idle) | |||
119 | /* ================================= CACHE ================================ */ | 119 | /* ================================= CACHE ================================ */ |
120 | 120 | ||
121 | .align 5 | 121 | .align 5 |
122 | |||
123 | /* | ||
124 | * flush_icache_all() | ||
125 | * | ||
126 | * Unconditionally clean and invalidate the entire icache. | ||
127 | */ | ||
128 | ENTRY(arm1020_flush_icache_all) | ||
129 | #ifndef CONFIG_CPU_ICACHE_DISABLE | ||
130 | mov r0, #0 | ||
131 | mcr p15, 0, r0, c7, c5, 0 @ invalidate I cache | ||
132 | #endif | ||
133 | mov pc, lr | ||
134 | ENDPROC(arm1020_flush_icache_all) | ||
135 | |||
122 | /* | 136 | /* |
123 | * flush_user_cache_all() | 137 | * flush_user_cache_all() |
124 | * | 138 | * |
@@ -351,6 +365,7 @@ ENTRY(arm1020_dma_unmap_area) | |||
351 | ENDPROC(arm1020_dma_unmap_area) | 365 | ENDPROC(arm1020_dma_unmap_area) |
352 | 366 | ||
353 | ENTRY(arm1020_cache_fns) | 367 | ENTRY(arm1020_cache_fns) |
368 | .long arm1020_flush_icache_all | ||
354 | .long arm1020_flush_kern_cache_all | 369 | .long arm1020_flush_kern_cache_all |
355 | .long arm1020_flush_user_cache_all | 370 | .long arm1020_flush_user_cache_all |
356 | .long arm1020_flush_user_cache_range | 371 | .long arm1020_flush_user_cache_range |
diff --git a/arch/arm/mm/proc-arm1020e.S b/arch/arm/mm/proc-arm1020e.S index afc06b9c3133..ab7ec26657ea 100644 --- a/arch/arm/mm/proc-arm1020e.S +++ b/arch/arm/mm/proc-arm1020e.S | |||
@@ -119,6 +119,20 @@ ENTRY(cpu_arm1020e_do_idle) | |||
119 | /* ================================= CACHE ================================ */ | 119 | /* ================================= CACHE ================================ */ |
120 | 120 | ||
121 | .align 5 | 121 | .align 5 |
122 | |||
123 | /* | ||
124 | * flush_icache_all() | ||
125 | * | ||
126 | * Unconditionally clean and invalidate the entire icache. | ||
127 | */ | ||
128 | ENTRY(arm1020e_flush_icache_all) | ||
129 | #ifndef CONFIG_CPU_ICACHE_DISABLE | ||
130 | mov r0, #0 | ||
131 | mcr p15, 0, r0, c7, c5, 0 @ invalidate I cache | ||
132 | #endif | ||
133 | mov pc, lr | ||
134 | ENDPROC(arm1020e_flush_icache_all) | ||
135 | |||
122 | /* | 136 | /* |
123 | * flush_user_cache_all() | 137 | * flush_user_cache_all() |
124 | * | 138 | * |
@@ -337,6 +351,7 @@ ENTRY(arm1020e_dma_unmap_area) | |||
337 | ENDPROC(arm1020e_dma_unmap_area) | 351 | ENDPROC(arm1020e_dma_unmap_area) |
338 | 352 | ||
339 | ENTRY(arm1020e_cache_fns) | 353 | ENTRY(arm1020e_cache_fns) |
354 | .long arm1020e_flush_icache_all | ||
340 | .long arm1020e_flush_kern_cache_all | 355 | .long arm1020e_flush_kern_cache_all |
341 | .long arm1020e_flush_user_cache_all | 356 | .long arm1020e_flush_user_cache_all |
342 | .long arm1020e_flush_user_cache_range | 357 | .long arm1020e_flush_user_cache_range |
diff --git a/arch/arm/mm/proc-arm1022.S b/arch/arm/mm/proc-arm1022.S index 8915e0ba3fe5..831c5e54e22f 100644 --- a/arch/arm/mm/proc-arm1022.S +++ b/arch/arm/mm/proc-arm1022.S | |||
@@ -108,6 +108,20 @@ ENTRY(cpu_arm1022_do_idle) | |||
108 | /* ================================= CACHE ================================ */ | 108 | /* ================================= CACHE ================================ */ |
109 | 109 | ||
110 | .align 5 | 110 | .align 5 |
111 | |||
112 | /* | ||
113 | * flush_icache_all() | ||
114 | * | ||
115 | * Unconditionally clean and invalidate the entire icache. | ||
116 | */ | ||
117 | ENTRY(arm1022_flush_icache_all) | ||
118 | #ifndef CONFIG_CPU_ICACHE_DISABLE | ||
119 | mov r0, #0 | ||
120 | mcr p15, 0, r0, c7, c5, 0 @ invalidate I cache | ||
121 | #endif | ||
122 | mov pc, lr | ||
123 | ENDPROC(arm1022_flush_icache_all) | ||
124 | |||
111 | /* | 125 | /* |
112 | * flush_user_cache_all() | 126 | * flush_user_cache_all() |
113 | * | 127 | * |
@@ -326,6 +340,7 @@ ENTRY(arm1022_dma_unmap_area) | |||
326 | ENDPROC(arm1022_dma_unmap_area) | 340 | ENDPROC(arm1022_dma_unmap_area) |
327 | 341 | ||
328 | ENTRY(arm1022_cache_fns) | 342 | ENTRY(arm1022_cache_fns) |
343 | .long arm1022_flush_icache_all | ||
329 | .long arm1022_flush_kern_cache_all | 344 | .long arm1022_flush_kern_cache_all |
330 | .long arm1022_flush_user_cache_all | 345 | .long arm1022_flush_user_cache_all |
331 | .long arm1022_flush_user_cache_range | 346 | .long arm1022_flush_user_cache_range |
diff --git a/arch/arm/mm/proc-arm1026.S b/arch/arm/mm/proc-arm1026.S index ff446c5d476f..e3f7e9a166bf 100644 --- a/arch/arm/mm/proc-arm1026.S +++ b/arch/arm/mm/proc-arm1026.S | |||
@@ -108,6 +108,20 @@ ENTRY(cpu_arm1026_do_idle) | |||
108 | /* ================================= CACHE ================================ */ | 108 | /* ================================= CACHE ================================ */ |
109 | 109 | ||
110 | .align 5 | 110 | .align 5 |
111 | |||
112 | /* | ||
113 | * flush_icache_all() | ||
114 | * | ||
115 | * Unconditionally clean and invalidate the entire icache. | ||
116 | */ | ||
117 | ENTRY(arm1026_flush_icache_all) | ||
118 | #ifndef CONFIG_CPU_ICACHE_DISABLE | ||
119 | mov r0, #0 | ||
120 | mcr p15, 0, r0, c7, c5, 0 @ invalidate I cache | ||
121 | #endif | ||
122 | mov pc, lr | ||
123 | ENDPROC(arm1026_flush_icache_all) | ||
124 | |||
111 | /* | 125 | /* |
112 | * flush_user_cache_all() | 126 | * flush_user_cache_all() |
113 | * | 127 | * |
@@ -320,6 +334,7 @@ ENTRY(arm1026_dma_unmap_area) | |||
320 | ENDPROC(arm1026_dma_unmap_area) | 334 | ENDPROC(arm1026_dma_unmap_area) |
321 | 335 | ||
322 | ENTRY(arm1026_cache_fns) | 336 | ENTRY(arm1026_cache_fns) |
337 | .long arm1026_flush_icache_all | ||
323 | .long arm1026_flush_kern_cache_all | 338 | .long arm1026_flush_kern_cache_all |
324 | .long arm1026_flush_user_cache_all | 339 | .long arm1026_flush_user_cache_all |
325 | .long arm1026_flush_user_cache_range | 340 | .long arm1026_flush_user_cache_range |
diff --git a/arch/arm/mm/proc-arm920.S b/arch/arm/mm/proc-arm920.S index fecf570939f3..6109f278a904 100644 --- a/arch/arm/mm/proc-arm920.S +++ b/arch/arm/mm/proc-arm920.S | |||
@@ -110,6 +110,17 @@ ENTRY(cpu_arm920_do_idle) | |||
110 | #ifndef CONFIG_CPU_DCACHE_WRITETHROUGH | 110 | #ifndef CONFIG_CPU_DCACHE_WRITETHROUGH |
111 | 111 | ||
112 | /* | 112 | /* |
113 | * flush_icache_all() | ||
114 | * | ||
115 | * Unconditionally clean and invalidate the entire icache. | ||
116 | */ | ||
117 | ENTRY(arm920_flush_icache_all) | ||
118 | mov r0, #0 | ||
119 | mcr p15, 0, r0, c7, c5, 0 @ invalidate I cache | ||
120 | mov pc, lr | ||
121 | ENDPROC(arm920_flush_icache_all) | ||
122 | |||
123 | /* | ||
113 | * flush_user_cache_all() | 124 | * flush_user_cache_all() |
114 | * | 125 | * |
115 | * Invalidate all cache entries in a particular address | 126 | * Invalidate all cache entries in a particular address |
@@ -305,6 +316,7 @@ ENTRY(arm920_dma_unmap_area) | |||
305 | ENDPROC(arm920_dma_unmap_area) | 316 | ENDPROC(arm920_dma_unmap_area) |
306 | 317 | ||
307 | ENTRY(arm920_cache_fns) | 318 | ENTRY(arm920_cache_fns) |
319 | .long arm920_flush_icache_all | ||
308 | .long arm920_flush_kern_cache_all | 320 | .long arm920_flush_kern_cache_all |
309 | .long arm920_flush_user_cache_all | 321 | .long arm920_flush_user_cache_all |
310 | .long arm920_flush_user_cache_range | 322 | .long arm920_flush_user_cache_range |
diff --git a/arch/arm/mm/proc-arm922.S b/arch/arm/mm/proc-arm922.S index e3cbf87c9480..bb2f0f46a5e6 100644 --- a/arch/arm/mm/proc-arm922.S +++ b/arch/arm/mm/proc-arm922.S | |||
@@ -112,6 +112,17 @@ ENTRY(cpu_arm922_do_idle) | |||
112 | #ifndef CONFIG_CPU_DCACHE_WRITETHROUGH | 112 | #ifndef CONFIG_CPU_DCACHE_WRITETHROUGH |
113 | 113 | ||
114 | /* | 114 | /* |
115 | * flush_icache_all() | ||
116 | * | ||
117 | * Unconditionally clean and invalidate the entire icache. | ||
118 | */ | ||
119 | ENTRY(arm922_flush_icache_all) | ||
120 | mov r0, #0 | ||
121 | mcr p15, 0, r0, c7, c5, 0 @ invalidate I cache | ||
122 | mov pc, lr | ||
123 | ENDPROC(arm922_flush_icache_all) | ||
124 | |||
125 | /* | ||
115 | * flush_user_cache_all() | 126 | * flush_user_cache_all() |
116 | * | 127 | * |
117 | * Clean and invalidate all cache entries in a particular | 128 | * Clean and invalidate all cache entries in a particular |
@@ -307,6 +318,7 @@ ENTRY(arm922_dma_unmap_area) | |||
307 | ENDPROC(arm922_dma_unmap_area) | 318 | ENDPROC(arm922_dma_unmap_area) |
308 | 319 | ||
309 | ENTRY(arm922_cache_fns) | 320 | ENTRY(arm922_cache_fns) |
321 | .long arm922_flush_icache_all | ||
310 | .long arm922_flush_kern_cache_all | 322 | .long arm922_flush_kern_cache_all |
311 | .long arm922_flush_user_cache_all | 323 | .long arm922_flush_user_cache_all |
312 | .long arm922_flush_user_cache_range | 324 | .long arm922_flush_user_cache_range |
diff --git a/arch/arm/mm/proc-arm925.S b/arch/arm/mm/proc-arm925.S index 572424c867b5..c13e01accfe2 100644 --- a/arch/arm/mm/proc-arm925.S +++ b/arch/arm/mm/proc-arm925.S | |||
@@ -145,6 +145,17 @@ ENTRY(cpu_arm925_do_idle) | |||
145 | mov pc, lr | 145 | mov pc, lr |
146 | 146 | ||
147 | /* | 147 | /* |
148 | * flush_icache_all() | ||
149 | * | ||
150 | * Unconditionally clean and invalidate the entire icache. | ||
151 | */ | ||
152 | ENTRY(arm925_flush_icache_all) | ||
153 | mov r0, #0 | ||
154 | mcr p15, 0, r0, c7, c5, 0 @ invalidate I cache | ||
155 | mov pc, lr | ||
156 | ENDPROC(arm925_flush_icache_all) | ||
157 | |||
158 | /* | ||
148 | * flush_user_cache_all() | 159 | * flush_user_cache_all() |
149 | * | 160 | * |
150 | * Clean and invalidate all cache entries in a particular | 161 | * Clean and invalidate all cache entries in a particular |
@@ -362,6 +373,7 @@ ENTRY(arm925_dma_unmap_area) | |||
362 | ENDPROC(arm925_dma_unmap_area) | 373 | ENDPROC(arm925_dma_unmap_area) |
363 | 374 | ||
364 | ENTRY(arm925_cache_fns) | 375 | ENTRY(arm925_cache_fns) |
376 | .long arm925_flush_icache_all | ||
365 | .long arm925_flush_kern_cache_all | 377 | .long arm925_flush_kern_cache_all |
366 | .long arm925_flush_user_cache_all | 378 | .long arm925_flush_user_cache_all |
367 | .long arm925_flush_user_cache_range | 379 | .long arm925_flush_user_cache_range |
diff --git a/arch/arm/mm/proc-arm926.S b/arch/arm/mm/proc-arm926.S index 63d168b4ebe6..42eb4315740b 100644 --- a/arch/arm/mm/proc-arm926.S +++ b/arch/arm/mm/proc-arm926.S | |||
@@ -111,6 +111,17 @@ ENTRY(cpu_arm926_do_idle) | |||
111 | mov pc, lr | 111 | mov pc, lr |
112 | 112 | ||
113 | /* | 113 | /* |
114 | * flush_icache_all() | ||
115 | * | ||
116 | * Unconditionally clean and invalidate the entire icache. | ||
117 | */ | ||
118 | ENTRY(arm926_flush_icache_all) | ||
119 | mov r0, #0 | ||
120 | mcr p15, 0, r0, c7, c5, 0 @ invalidate I cache | ||
121 | mov pc, lr | ||
122 | ENDPROC(arm926_flush_icache_all) | ||
123 | |||
124 | /* | ||
114 | * flush_user_cache_all() | 125 | * flush_user_cache_all() |
115 | * | 126 | * |
116 | * Clean and invalidate all cache entries in a particular | 127 | * Clean and invalidate all cache entries in a particular |
@@ -325,6 +336,7 @@ ENTRY(arm926_dma_unmap_area) | |||
325 | ENDPROC(arm926_dma_unmap_area) | 336 | ENDPROC(arm926_dma_unmap_area) |
326 | 337 | ||
327 | ENTRY(arm926_cache_fns) | 338 | ENTRY(arm926_cache_fns) |
339 | .long arm926_flush_icache_all | ||
328 | .long arm926_flush_kern_cache_all | 340 | .long arm926_flush_kern_cache_all |
329 | .long arm926_flush_user_cache_all | 341 | .long arm926_flush_user_cache_all |
330 | .long arm926_flush_user_cache_range | 342 | .long arm926_flush_user_cache_range |
diff --git a/arch/arm/mm/proc-arm940.S b/arch/arm/mm/proc-arm940.S index f6a62822418e..7b11cdb9935f 100644 --- a/arch/arm/mm/proc-arm940.S +++ b/arch/arm/mm/proc-arm940.S | |||
@@ -68,6 +68,17 @@ ENTRY(cpu_arm940_do_idle) | |||
68 | mov pc, lr | 68 | mov pc, lr |
69 | 69 | ||
70 | /* | 70 | /* |
71 | * flush_icache_all() | ||
72 | * | ||
73 | * Unconditionally clean and invalidate the entire icache. | ||
74 | */ | ||
75 | ENTRY(arm940_flush_icache_all) | ||
76 | mov r0, #0 | ||
77 | mcr p15, 0, r0, c7, c5, 0 @ invalidate I cache | ||
78 | mov pc, lr | ||
79 | ENDPROC(arm940_flush_icache_all) | ||
80 | |||
81 | /* | ||
71 | * flush_user_cache_all() | 82 | * flush_user_cache_all() |
72 | */ | 83 | */ |
73 | ENTRY(arm940_flush_user_cache_all) | 84 | ENTRY(arm940_flush_user_cache_all) |
@@ -254,6 +265,7 @@ ENTRY(arm940_dma_unmap_area) | |||
254 | ENDPROC(arm940_dma_unmap_area) | 265 | ENDPROC(arm940_dma_unmap_area) |
255 | 266 | ||
256 | ENTRY(arm940_cache_fns) | 267 | ENTRY(arm940_cache_fns) |
268 | .long arm940_flush_icache_all | ||
257 | .long arm940_flush_kern_cache_all | 269 | .long arm940_flush_kern_cache_all |
258 | .long arm940_flush_user_cache_all | 270 | .long arm940_flush_user_cache_all |
259 | .long arm940_flush_user_cache_range | 271 | .long arm940_flush_user_cache_range |
diff --git a/arch/arm/mm/proc-arm946.S b/arch/arm/mm/proc-arm946.S index ea2e7f2eb95b..1a5bbf080342 100644 --- a/arch/arm/mm/proc-arm946.S +++ b/arch/arm/mm/proc-arm946.S | |||
@@ -75,6 +75,17 @@ ENTRY(cpu_arm946_do_idle) | |||
75 | mov pc, lr | 75 | mov pc, lr |
76 | 76 | ||
77 | /* | 77 | /* |
78 | * flush_icache_all() | ||
79 | * | ||
80 | * Unconditionally clean and invalidate the entire icache. | ||
81 | */ | ||
82 | ENTRY(arm946_flush_icache_all) | ||
83 | mov r0, #0 | ||
84 | mcr p15, 0, r0, c7, c5, 0 @ invalidate I cache | ||
85 | mov pc, lr | ||
86 | ENDPROC(arm946_flush_icache_all) | ||
87 | |||
88 | /* | ||
78 | * flush_user_cache_all() | 89 | * flush_user_cache_all() |
79 | */ | 90 | */ |
80 | ENTRY(arm946_flush_user_cache_all) | 91 | ENTRY(arm946_flush_user_cache_all) |
@@ -296,6 +307,7 @@ ENTRY(arm946_dma_unmap_area) | |||
296 | ENDPROC(arm946_dma_unmap_area) | 307 | ENDPROC(arm946_dma_unmap_area) |
297 | 308 | ||
298 | ENTRY(arm946_cache_fns) | 309 | ENTRY(arm946_cache_fns) |
310 | .long arm946_flush_icache_all | ||
299 | .long arm946_flush_kern_cache_all | 311 | .long arm946_flush_kern_cache_all |
300 | .long arm946_flush_user_cache_all | 312 | .long arm946_flush_user_cache_all |
301 | .long arm946_flush_user_cache_range | 313 | .long arm946_flush_user_cache_range |
diff --git a/arch/arm/mm/proc-feroceon.S b/arch/arm/mm/proc-feroceon.S index 578da69200cf..b4597edbff97 100644 --- a/arch/arm/mm/proc-feroceon.S +++ b/arch/arm/mm/proc-feroceon.S | |||
@@ -124,6 +124,17 @@ ENTRY(cpu_feroceon_do_idle) | |||
124 | mov pc, lr | 124 | mov pc, lr |
125 | 125 | ||
126 | /* | 126 | /* |
127 | * flush_icache_all() | ||
128 | * | ||
129 | * Unconditionally clean and invalidate the entire icache. | ||
130 | */ | ||
131 | ENTRY(feroceon_flush_icache_all) | ||
132 | mov r0, #0 | ||
133 | mcr p15, 0, r0, c7, c5, 0 @ invalidate I cache | ||
134 | mov pc, lr | ||
135 | ENDPROC(feroceon_flush_icache_all) | ||
136 | |||
137 | /* | ||
127 | * flush_user_cache_all() | 138 | * flush_user_cache_all() |
128 | * | 139 | * |
129 | * Clean and invalidate all cache entries in a particular | 140 | * Clean and invalidate all cache entries in a particular |
@@ -401,6 +412,7 @@ ENTRY(feroceon_dma_unmap_area) | |||
401 | ENDPROC(feroceon_dma_unmap_area) | 412 | ENDPROC(feroceon_dma_unmap_area) |
402 | 413 | ||
403 | ENTRY(feroceon_cache_fns) | 414 | ENTRY(feroceon_cache_fns) |
415 | .long feroceon_flush_icache_all | ||
404 | .long feroceon_flush_kern_cache_all | 416 | .long feroceon_flush_kern_cache_all |
405 | .long feroceon_flush_user_cache_all | 417 | .long feroceon_flush_user_cache_all |
406 | .long feroceon_flush_user_cache_range | 418 | .long feroceon_flush_user_cache_range |
@@ -412,6 +424,7 @@ ENTRY(feroceon_cache_fns) | |||
412 | .long feroceon_dma_flush_range | 424 | .long feroceon_dma_flush_range |
413 | 425 | ||
414 | ENTRY(feroceon_range_cache_fns) | 426 | ENTRY(feroceon_range_cache_fns) |
427 | .long feroceon_flush_icache_all | ||
415 | .long feroceon_flush_kern_cache_all | 428 | .long feroceon_flush_kern_cache_all |
416 | .long feroceon_flush_user_cache_all | 429 | .long feroceon_flush_user_cache_all |
417 | .long feroceon_flush_user_cache_range | 430 | .long feroceon_flush_user_cache_range |
diff --git a/arch/arm/mm/proc-xsc3.S b/arch/arm/mm/proc-xsc3.S index cad07e403044..ec26355cb7c2 100644 --- a/arch/arm/mm/proc-xsc3.S +++ b/arch/arm/mm/proc-xsc3.S | |||
@@ -141,6 +141,17 @@ ENTRY(cpu_xsc3_do_idle) | |||
141 | /* ================================= CACHE ================================ */ | 141 | /* ================================= CACHE ================================ */ |
142 | 142 | ||
143 | /* | 143 | /* |
144 | * flush_icache_all() | ||
145 | * | ||
146 | * Unconditionally clean and invalidate the entire icache. | ||
147 | */ | ||
148 | ENTRY(xsc3_flush_icache_all) | ||
149 | mov r0, #0 | ||
150 | mcr p15, 0, r0, c7, c5, 0 @ invalidate I cache | ||
151 | mov pc, lr | ||
152 | ENDPROC(xsc3_flush_icache_all) | ||
153 | |||
154 | /* | ||
144 | * flush_user_cache_all() | 155 | * flush_user_cache_all() |
145 | * | 156 | * |
146 | * Invalidate all cache entries in a particular address | 157 | * Invalidate all cache entries in a particular address |
@@ -325,6 +336,7 @@ ENTRY(xsc3_dma_unmap_area) | |||
325 | ENDPROC(xsc3_dma_unmap_area) | 336 | ENDPROC(xsc3_dma_unmap_area) |
326 | 337 | ||
327 | ENTRY(xsc3_cache_fns) | 338 | ENTRY(xsc3_cache_fns) |
339 | .long xsc3_flush_icache_all | ||
328 | .long xsc3_flush_kern_cache_all | 340 | .long xsc3_flush_kern_cache_all |
329 | .long xsc3_flush_user_cache_all | 341 | .long xsc3_flush_user_cache_all |
330 | .long xsc3_flush_user_cache_range | 342 | .long xsc3_flush_user_cache_range |
diff --git a/arch/arm/mm/proc-xscale.S b/arch/arm/mm/proc-xscale.S index cb245edb2c2b..523408c0bb38 100644 --- a/arch/arm/mm/proc-xscale.S +++ b/arch/arm/mm/proc-xscale.S | |||
@@ -181,6 +181,17 @@ ENTRY(cpu_xscale_do_idle) | |||
181 | /* ================================= CACHE ================================ */ | 181 | /* ================================= CACHE ================================ */ |
182 | 182 | ||
183 | /* | 183 | /* |
184 | * flush_icache_all() | ||
185 | * | ||
186 | * Unconditionally clean and invalidate the entire icache. | ||
187 | */ | ||
188 | ENTRY(xscale_flush_icache_all) | ||
189 | mov r0, #0 | ||
190 | mcr p15, 0, r0, c7, c5, 0 @ invalidate I cache | ||
191 | mov pc, lr | ||
192 | ENDPROC(xscale_flush_icache_all) | ||
193 | |||
194 | /* | ||
184 | * flush_user_cache_all() | 195 | * flush_user_cache_all() |
185 | * | 196 | * |
186 | * Invalidate all cache entries in a particular address | 197 | * Invalidate all cache entries in a particular address |
@@ -397,6 +408,7 @@ ENTRY(xscale_dma_unmap_area) | |||
397 | ENDPROC(xscale_dma_unmap_area) | 408 | ENDPROC(xscale_dma_unmap_area) |
398 | 409 | ||
399 | ENTRY(xscale_cache_fns) | 410 | ENTRY(xscale_cache_fns) |
411 | .long xscale_flush_icache_all | ||
400 | .long xscale_flush_kern_cache_all | 412 | .long xscale_flush_kern_cache_all |
401 | .long xscale_flush_user_cache_all | 413 | .long xscale_flush_user_cache_all |
402 | .long xscale_flush_user_cache_range | 414 | .long xscale_flush_user_cache_range |