utils.S 714 B

12345678910111213141516171819202122232425
  1. .text
  2. .arm
  3. .balign 4
  4. .func ctr_clear_cache_kernel
  5. ctr_clear_cache_kernel:
  6. cpsid aif
  7. mov r0, #0
  8. mcr p15, 0, r0, c7, c10, 0 @ Clean entire data cache
  9. mcr p15, 0, r0, c7, c10, 5 @ Data Memory Barrier
  10. mcr p15, 0, r0, c7, c5, 0 @ Invalidate entire instruction cache / Flush BTB
  11. mcr p15, 0, r0, c7, c10, 4 @ Data Sync Barrier
  12. bx lr
  13. .endfunc
  14. @@ Clear the entire data cache / invalidate the instruction cache. Uses
  15. @@ Rosalina svcCustomBackdoor to avoid svcBackdoor stack corruption
  16. @@ during interrupts.
  17. .global ctr_clear_cache
  18. .func ctr_clear_cache
  19. ctr_clear_cache:
  20. ldr r0, =ctr_clear_cache_kernel
  21. svc 0x80 @ svcCustomBackdoor
  22. bx lr
  23. .endfunc