Lines Matching +full:entry +full:- +full:address
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 * linux/arch/arm/mm/proc-arm922.S: MMU functions for ARM922
8 * hacked for non-paged-MM by Hyok S. Choi, 2003.
13 * CONFIG_CPU_ARM922_CPU_IDLE -> nohlt
20 #include <asm/pgtable-hwdef.h>
23 #include "proc-macros.S"
53 ENTRY(cpu_arm922_proc_init)
59 ENTRY(cpu_arm922_proc_fin)
77 ENTRY(cpu_arm922_reset)
96 ENTRY(cpu_arm922_do_idle)
108 ENTRY(arm922_flush_icache_all)
118 * address space.
120 ENTRY(arm922_flush_user_cache_all)
128 ENTRY(arm922_flush_kern_cache_all)
132 mov r1, #(CACHE_DSEGMENTS - 1) << 5 @ 8 segments
133 1: orr r3, r1, #(CACHE_DENTRIES - 1) << 26 @ 64 entries
148 * specified address range.
150 * - start - start address (inclusive)
151 * - end - end address (exclusive)
152 * - flags - vm_flags describing address space
154 ENTRY(arm922_flush_user_cache_range)
160 1: mcr p15, 0, r0, c7, c14, 1 @ clean+invalidate D entry
162 mcrne p15, 0, r0, c7, c5, 1 @ invalidate I entry
174 * region described by start, end. If you have non-snooping
177 * - start - virtual start address
178 * - end - virtual end address
180 ENTRY(arm922_coherent_kern_range)
187 * region described by start, end. If you have non-snooping
190 * - start - virtual start address
191 * - end - virtual end address
193 ENTRY(arm922_coherent_user_range)
194 bic r0, r0, #CACHE_DLINESIZE - 1
195 1: mcr p15, 0, r0, c7, c10, 1 @ clean D entry
196 mcr p15, 0, r0, c7, c5, 1 @ invalidate I entry
210 * - addr - kernel address
211 * - size - region size
213 ENTRY(arm922_flush_kern_dcache_area)
215 1: mcr p15, 0, r0, c7, c14, 1 @ clean+invalidate D entry
227 * Invalidate (discard) the specified virtual address range.
232 * - start - virtual start address
233 * - end - virtual end address
238 tst r0, #CACHE_DLINESIZE - 1
239 bic r0, r0, #CACHE_DLINESIZE - 1
240 mcrne p15, 0, r0, c7, c10, 1 @ clean D entry
241 tst r1, #CACHE_DLINESIZE - 1
242 mcrne p15, 0, r1, c7, c10, 1 @ clean D entry
243 1: mcr p15, 0, r0, c7, c6, 1 @ invalidate D entry
253 * Clean the specified virtual address range.
255 * - start - virtual start address
256 * - end - virtual end address
261 bic r0, r0, #CACHE_DLINESIZE - 1
262 1: mcr p15, 0, r0, c7, c10, 1 @ clean D entry
272 * Clean and invalidate the specified virtual address range.
274 * - start - virtual start address
275 * - end - virtual end address
277 ENTRY(arm922_dma_flush_range)
278 bic r0, r0, #CACHE_DLINESIZE - 1
279 1: mcr p15, 0, r0, c7, c14, 1 @ clean+invalidate D entry
288 * - start - kernel virtual start address
289 * - size - size of region
290 * - dir - DMA direction
292 ENTRY(arm922_dma_map_area)
302 * - start - kernel virtual start address
303 * - size - size of region
304 * - dir - DMA direction
306 ENTRY(arm922_dma_unmap_area)
313 @ define struct cpu_cache_fns (see <asm/cacheflush.h> and proc-macros.S)
318 ENTRY(cpu_arm922_dcache_clean_area)
320 1: mcr p15, 0, r0, c7, c10, 1 @ clean D entry
337 ENTRY(cpu_arm922_switch_mm)
344 @ && Re-written to use Index Ops.
347 mov r1, #(CACHE_DSEGMENTS - 1) << 5 @ 4 segments
348 1: orr r3, r1, #(CACHE_DENTRIES - 1) << 26 @ 64 entries
368 ENTRY(cpu_arm922_set_pte_ext)
372 mcr p15, 0, r0, c7, c10, 1 @ clean D entry
391 .size __arm922_setup, . - __arm922_setup
404 @ define struct processor (see <asm/proc-fns.h> and proc-macros.S)
444 .size __arm922_proc_info, . - __arm922_proc_info