cache-v4.S (1da177e4c3f41524e886b7f1b8a0c1fc7321cac2) cache-v4.S (f12d0d7c7786af39435ef6ae9defe47fb58f6091)
1/*
2 * linux/arch/arm/mm/cache-v4.S
3 *
4 * Copyright (C) 1997-2002 Russell king
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.

--- 15 unchanged lines hidden (view full) ---

24ENTRY(v4_flush_user_cache_all)
25 /* FALLTHROUGH */
26/*
27 * flush_kern_cache_all()
28 *
29 * Clean and invalidate the entire cache.
30 */
31ENTRY(v4_flush_kern_cache_all)
1/*
2 * linux/arch/arm/mm/cache-v4.S
3 *
4 * Copyright (C) 1997-2002 Russell king
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.

--- 15 unchanged lines hidden (view full) ---

24ENTRY(v4_flush_user_cache_all)
25 /* FALLTHROUGH */
26/*
27 * flush_kern_cache_all()
28 *
29 * Clean and invalidate the entire cache.
30 */
31ENTRY(v4_flush_kern_cache_all)
32#ifdef CPU_CP15
32 mov r0, #0
33 mcr p15, 0, r0, c7, c7, 0 @ flush ID cache
34 mov pc, lr
33 mov r0, #0
34 mcr p15, 0, r0, c7, c7, 0 @ flush ID cache
35 mov pc, lr
36#else
37 /* FALLTHROUGH */
38#endif
35
36/*
37 * flush_user_cache_range(start, end, flags)
38 *
39 * Invalidate a range of cache entries in the specified
40 * address space.
41 *
42 * - start - start address (may not be aligned)
43 * - end - end address (exclusive, may not be aligned)
44 * - flags - vma_area_struct flags describing address space
45 */
46ENTRY(v4_flush_user_cache_range)
39
40/*
41 * flush_user_cache_range(start, end, flags)
42 *
43 * Invalidate a range of cache entries in the specified
44 * address space.
45 *
46 * - start - start address (may not be aligned)
47 * - end - end address (exclusive, may not be aligned)
48 * - flags - vma_area_struct flags describing address space
49 */
50ENTRY(v4_flush_user_cache_range)
51#ifdef CPU_CP15
47 mov ip, #0
48 mcreq p15, 0, ip, c7, c7, 0 @ flush ID cache
49 mov pc, lr
52 mov ip, #0
53 mcreq p15, 0, ip, c7, c7, 0 @ flush ID cache
54 mov pc, lr
55#else
56 /* FALLTHROUGH */
57#endif
50
51/*
52 * coherent_kern_range(start, end)
53 *
54 * Ensure coherency between the Icache and the Dcache in the
55 * region described by start. If you have non-snooping
56 * Harvard caches, you need to implement this function.
57 *

--- 45 unchanged lines hidden (view full) ---

103 * dma_flush_range(start, end)
104 *
105 * Clean and invalidate the specified virtual address range.
106 *
107 * - start - virtual start address
108 * - end - virtual end address
109 */
110ENTRY(v4_dma_flush_range)
58
59/*
60 * coherent_kern_range(start, end)
61 *
62 * Ensure coherency between the Icache and the Dcache in the
63 * region described by start. If you have non-snooping
64 * Harvard caches, you need to implement this function.
65 *

--- 45 unchanged lines hidden (view full) ---

111 * dma_flush_range(start, end)
112 *
113 * Clean and invalidate the specified virtual address range.
114 *
115 * - start - virtual start address
116 * - end - virtual end address
117 */
118ENTRY(v4_dma_flush_range)
119#ifdef CPU_CP15
111 mov r0, #0
112 mcr p15, 0, r0, c7, c7, 0 @ flush ID cache
120 mov r0, #0
121 mcr p15, 0, r0, c7, c7, 0 @ flush ID cache
122#endif
113 /* FALLTHROUGH */
114
115/*
116 * dma_clean_range(start, end)
117 *
118 * Clean (write back) the specified virtual address range.
119 *
120 * - start - virtual start address

--- 19 unchanged lines hidden ---
123 /* FALLTHROUGH */
124
125/*
126 * dma_clean_range(start, end)
127 *
128 * Clean (write back) the specified virtual address range.
129 *
130 * - start - virtual start address

--- 19 unchanged lines hidden ---