Kyle Swenson | 8d8f654 | 2021-03-15 11:02:55 -0600 | [diff] [blame^] | 1 | .global cris_flush_cache_range |
| 2 | .type cris_flush_cache_range, @function |
| 3 | cris_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] |
| 10 | cris_flush_last: |
| 11 | addq 32, $r10 |
| 12 | cmp.d $r11, $r10 |
| 13 | blt cris_flush_last |
| 14 | ftagd [$r10] |
| 15 | ret |
| 16 | nop |
| 17 | cris_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 |
| 88 | cris_flush_cache: |
| 89 | moveq 0, $r10 |
| 90 | cris_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 | |