tlbex-fault.S 664 B

12345678910111213141516171819202122232425262728
  1. /*
  2. * This file is subject to the terms and conditions of the GNU General Public
  3. * License. See the file "COPYING" in the main directory of this archive
  4. * for more details.
  5. *
  6. * Copyright (C) 1999 Ralf Baechle
  7. * Copyright (C) 1999 Silicon Graphics, Inc.
  8. */
  9. #include <asm/mipsregs.h>
  10. #include <asm/regdef.h>
  11. #include <asm/stackframe.h>
  12. .macro tlb_do_page_fault, write
  13. NESTED(tlb_do_page_fault_\write, PT_SIZE, sp)
  14. .cfi_signal_frame
  15. SAVE_ALL docfi=1
  16. MFC0 a2, CP0_BADVADDR
  17. KMODE
  18. move a0, sp
  19. REG_S a2, PT_BVADDR(sp)
  20. li a1, \write
  21. jal do_page_fault
  22. j ret_from_exception
  23. END(tlb_do_page_fault_\write)
  24. .endm
  25. tlb_do_page_fault 0
  26. tlb_do_page_fault 1