Lines Matching +full:entry +full:- +full:address
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 * linux/arch/arm/mm/proc-arm1026.S: MMU functions for ARM1026EJ-S
7 * hacked for non-paged-MM by Hyok S. Choi, 2003.
10 * functions on the ARM1026EJ-S.
16 #include <asm/asm-offsets.h>
18 #include <asm/pgtable-hwdef.h>
21 #include "proc-macros.S"
25 * using the single invalidate entry instructions. Anything larger
59 ENTRY(cpu_arm1026_proc_init)
65 ENTRY(cpu_arm1026_proc_fin)
83 ENTRY(cpu_arm1026_reset)
102 ENTRY(cpu_arm1026_do_idle)
115 ENTRY(arm1026_flush_icache_all)
126 * Invalidate all cache entries in a particular address
129 ENTRY(arm1026_flush_user_cache_all)
136 ENTRY(arm1026_flush_kern_cache_all)
155 * address space.
157 * - start - start address (inclusive)
158 * - end - end address (exclusive)
159 * - flags - vm_flags for this space
161 ENTRY(arm1026_flush_user_cache_range)
168 1: mcr p15, 0, r0, c7, c14, 1 @ clean+invalidate D entry
184 * region described by start. If you have non-snooping
187 * - start - virtual start address
188 * - end - virtual end address
190 ENTRY(arm1026_coherent_kern_range)
196 * region described by start. If you have non-snooping
199 * - start - virtual start address
200 * - end - virtual end address
202 ENTRY(arm1026_coherent_user_range)
204 bic r0, r0, #CACHE_DLINESIZE - 1
207 mcr p15, 0, r0, c7, c10, 1 @ clean D entry
210 mcr p15, 0, r0, c7, c5, 1 @ invalidate I entry
225 * - addr - kernel address
226 * - size - region size
228 ENTRY(arm1026_flush_kern_dcache_area)
232 1: mcr p15, 0, r0, c7, c14, 1 @ clean+invalidate D entry
243 * Invalidate (discard) the specified virtual address range.
248 * - start - virtual start address
249 * - end - virtual end address
256 tst r0, #CACHE_DLINESIZE - 1
257 bic r0, r0, #CACHE_DLINESIZE - 1
258 mcrne p15, 0, r0, c7, c10, 1 @ clean D entry
259 tst r1, #CACHE_DLINESIZE - 1
260 mcrne p15, 0, r1, c7, c10, 1 @ clean D entry
261 1: mcr p15, 0, r0, c7, c6, 1 @ invalidate D entry
272 * Clean the specified virtual address range.
274 * - start - virtual start address
275 * - end - virtual end address
282 bic r0, r0, #CACHE_DLINESIZE - 1
283 1: mcr p15, 0, r0, c7, c10, 1 @ clean D entry
294 * Clean and invalidate the specified virtual address range.
296 * - start - virtual start address
297 * - end - virtual end address
299 ENTRY(arm1026_dma_flush_range)
302 bic r0, r0, #CACHE_DLINESIZE - 1
303 1: mcr p15, 0, r0, c7, c14, 1 @ clean+invalidate D entry
313 * - start - kernel virtual start address
314 * - size - size of region
315 * - dir - DMA direction
317 ENTRY(arm1026_dma_map_area)
327 * - start - kernel virtual start address
328 * - size - size of region
329 * - dir - DMA direction
331 ENTRY(arm1026_dma_unmap_area)
338 @ define struct cpu_cache_fns (see <asm/cacheflush.h> and proc-macros.S)
342 ENTRY(cpu_arm1026_dcache_clean_area)
345 1: mcr p15, 0, r0, c7, c10, 1 @ clean D entry
362 ENTRY(cpu_arm1026_switch_mm)
384 ENTRY(cpu_arm1026_set_pte_ext)
389 mcr p15, 0, r0, c7, c10, 1 @ clean D entry
416 .size __arm1026_setup, . - __arm1026_setup
429 @ define struct processor (see <asm/proc-fns.h> and proc-macros.S)
437 string cpu_arm1026_name, "ARM1026EJ-S"
444 .long 0x4106a260 @ ARM 1026EJ-S (v5TEJ)
463 .size __arm1026_proc_info, . - __arm1026_proc_info