| 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 | ||||