Lines Matching +full:4 +full:- +full:way
1 /* SPDX-License-Identifier: GPL-2.0+ */
19 * Flush the whole D-cache.
21 * Corrupted registers: r0-r7, r9-r11 (r6 only in Thumb mode)
23 * Note: copied from arch/arm/mm/cache-v7.S of Linux 4.4
38 blt skip @ skip if no cache, or just i-cache
43 add r2, r2, #4 @ add 4 (line length offset)
45 ands r4, r4, r1, lsr #3 @ find maximum number on the way size
46 clz r5, r4 @ find bit position of way size increment
52 ARM( orr r11, r10, r4, lsl r5 ) @ factor way and cache number into r11
54 THUMB( orr r11, r10, r6 ) @ factor way and cache number into r11
58 mcr p15, 0, r11, c7, c14, 2 @ clean & invalidate by set/way
61 subs r4, r4, #1 @ decrement the way
76 ARM( stmfd sp!, {r4-r5, r7, r9-r11, lr} )
77 THUMB( stmfd sp!, {r4-r7, r9-r11, lr} )
79 ARM( ldmfd sp!, {r4-r5, r7, r9-r11, lr} )
80 THUMB( ldmfd sp!, {r4-r7, r9-r11, lr} )
87 * Invalidate the whole D-cache.
89 * Corrupted registers: r0-r7, r9-r11 (r6 only in Thumb mode)
108 blt inval_skip @ skip if no cache, or just i-cache
113 add r2, r2, #4 @ add 4 (line length offset)
115 ands r4, r4, r1, lsr #3 @ find maximum number on the way size
116 clz r5, r4 @ find bit position of way size increment
122 ARM( orr r11, r10, r4, lsl r5 ) @ factor way and cache number into r11
124 THUMB( orr r11, r10, r6 ) @ factor way and cache number into r11
128 mcr p15, 0, r11, c7, c6, 2 @ invalidate by set/way
131 subs r4, r4, #1 @ decrement the way
146 ARM( stmfd sp!, {r4-r5, r7, r9-r11, lr} )
147 THUMB( stmfd sp!, {r4-r7, r9-r11, lr} )
149 ARM( ldmfd sp!, {r4-r5, r7, r9-r11, lr} )
150 THUMB( ldmfd sp!, {r4-r7, r9-r11, lr} )