tlb.S 541 B

12345678910111213141516171819202122232425262728293031323334
  1. /* SPDX-License-Identifier: GPL-2.0+ */
  2. /*
  3. * (C) Copyright 2013
  4. * David Feng <fenghua@phytium.com.cn>
  5. */
  6. #include <asm-offsets.h>
  7. #include <config.h>
  8. #include <linux/linkage.h>
  9. #include <asm/macro.h>
  10. /*
  11. * void __asm_invalidate_tlb_all(void)
  12. *
  13. * invalidate all tlb entries.
  14. */
  15. .pushsection .text.__asm_invalidate_tlb_all, "ax"
  16. ENTRY(__asm_invalidate_tlb_all)
  17. switch_el x9, 3f, 2f, 1f
  18. 3: tlbi alle3
  19. dsb sy
  20. isb
  21. b 0f
  22. 2: tlbi alle2
  23. dsb sy
  24. isb
  25. b 0f
  26. 1: tlbi vmalle1
  27. dsb sy
  28. isb
  29. 0:
  30. ret
  31. ENDPROC(__asm_invalidate_tlb_all)
  32. .popsection