blob: 6fc3d95d7029da92c568b9ea3c75c369edee23c7 [file] [log] [blame]
Kyle Swenson8d8f6542021-03-15 11:02:55 -06001 .global cris_flush_cache_range
2 .type cris_flush_cache_range, @function
3cris_flush_cache_range:
4 move.d 1024, $r12
5 cmp.d $r11, $r12
6 bhi cris_flush_1KB
7 nop
8 add.d $r10, $r11
9 ftagd [$r10]
10cris_flush_last:
11 addq 32, $r10
12 cmp.d $r11, $r10
13 blt cris_flush_last
14 ftagd [$r10]
15 ret
16 nop
17cris_flush_1KB:
18 ftagd [$r10]
19 addq 32, $r10
20 ftagd [$r10]
21 addq 32, $r10
22 ftagd [$r10]
23 addq 32, $r10
24 ftagd [$r10]
25 addq 32, $r10
26 ftagd [$r10]
27 addq 32, $r10
28 ftagd [$r10]
29 addq 32, $r10
30 ftagd [$r10]
31 addq 32, $r10
32 ftagd [$r10]
33 addq 32, $r10
34 ftagd [$r10]
35 addq 32, $r10
36 ftagd [$r10]
37 addq 32, $r10
38 ftagd [$r10]
39 addq 32, $r10
40 ftagd [$r10]
41 addq 32, $r10
42 ftagd [$r10]
43 addq 32, $r10
44 ftagd [$r10]
45 addq 32, $r10
46 ftagd [$r10]
47 addq 32, $r10
48 ftagd [$r10]
49 addq 32, $r10
50 ftagd [$r10]
51 addq 32, $r10
52 ftagd [$r10]
53 addq 32, $r10
54 ftagd [$r10]
55 addq 32, $r10
56 ftagd [$r10]
57 addq 32, $r10
58 ftagd [$r10]
59 addq 32, $r10
60 ftagd [$r10]
61 addq 32, $r10
62 ftagd [$r10]
63 addq 32, $r10
64 ftagd [$r10]
65 addq 32, $r10
66 ftagd [$r10]
67 addq 32, $r10
68 ftagd [$r10]
69 addq 32, $r10
70 ftagd [$r10]
71 addq 32, $r10
72 ftagd [$r10]
73 addq 32, $r10
74 ftagd [$r10]
75 addq 32, $r10
76 ftagd [$r10]
77 addq 32, $r10
78 ftagd [$r10]
79 addq 32, $r10
80 ftagd [$r10]
81 addq 32, $r10
82 ba cris_flush_cache_range
83 sub.d $r12, $r11
84 .size cris_flush_cache_range, . - cris_flush_cache_range
85
86 .global cris_flush_cache
87 .type cris_flush_cache, @function
88cris_flush_cache:
89 moveq 0, $r10
90cris_flush_line:
91 move.d 16*1024, $r11
92 addq 16, $r10
93 cmp.d $r10, $r11
94 blt cris_flush_line
95 fidxd [$r10]
96 ret
97 nop
98 .size cris_flush_cache, . - cris_flush_cache
99