Jesper Nilsson | 57c230a | 2007-11-14 17:01:27 -0800 | [diff] [blame^] | 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 |