Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt...
[pandora-kernel.git] / arch / cris / arch-v32 / kernel / cacheflush.S
1         .global cris_flush_cache_range
2 cris_flush_cache_range:
3         move.d 1024, $r12
4         cmp.d $r11, $r12
5         bhi cris_flush_1KB
6         nop
7         add.d $r10, $r11
8         ftagd [$r10]
9 cris_flush_last:
10         addq 32, $r10
11         cmp.d $r11, $r10
12         blt cris_flush_last
13         ftagd [$r10]
14         ret
15         nop
16 cris_flush_1KB:
17         ftagd [$r10]
18         addq 32, $r10
19         ftagd [$r10]
20         addq 32, $r10
21         ftagd [$r10]
22         addq 32, $r10
23         ftagd [$r10]
24         addq 32, $r10
25         ftagd [$r10]
26         addq 32, $r10
27         ftagd [$r10]
28         addq 32, $r10
29         ftagd [$r10]
30         addq 32, $r10
31         ftagd [$r10]
32         addq 32, $r10
33         ftagd [$r10]
34         addq 32, $r10
35         ftagd [$r10]
36         addq 32, $r10
37         ftagd [$r10]
38         addq 32, $r10
39         ftagd [$r10]
40         addq 32, $r10
41         ftagd [$r10]
42         addq 32, $r10
43         ftagd [$r10]
44         addq 32, $r10
45         ftagd [$r10]
46         addq 32, $r10
47         ftagd [$r10]
48         addq 32, $r10
49         ftagd [$r10]
50         addq 32, $r10
51         ftagd [$r10]
52         addq 32, $r10
53         ftagd [$r10]
54         addq 32, $r10
55         ftagd [$r10]
56         addq 32, $r10
57         ftagd [$r10]
58         addq 32, $r10
59         ftagd [$r10]
60         addq 32, $r10
61         ftagd [$r10]
62         addq 32, $r10
63         ftagd [$r10]
64         addq 32, $r10
65         ftagd [$r10]
66         addq 32, $r10
67         ftagd [$r10]
68         addq 32, $r10
69         ftagd [$r10]
70         addq 32, $r10
71         ftagd [$r10]
72         addq 32, $r10
73         ftagd [$r10]
74         addq 32, $r10
75         ftagd [$r10]
76         addq 32, $r10
77         ftagd [$r10]
78         addq 32, $r10
79         ftagd [$r10]
80         addq 32, $r10
81         ba cris_flush_cache_range
82         sub.d $r12, $r11
83
84         .global cris_flush_cache
85 cris_flush_cache:
86         moveq 0, $r10
87 cris_flush_line:
88         move.d 16*1024, $r11
89         addq 16, $r10
90         cmp.d $r10, $r11
91         blt cris_flush_line
92         fidxd [$r10]
93         ret
94         nop