cacheflush.S 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  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. .global cris_flush_cache
  84. cris_flush_cache:
  85. moveq 0, $r10
  86. cris_flush_line:
  87. move.d 16*1024, $r11
  88. addq 16, $r10
  89. cmp.d $r10, $r11
  90. blt cris_flush_line
  91. fidxd [$r10]
  92. ret
  93. nop