1 .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 100