xref: /kernel/linux/linux-6.6/arch/mips/mm/tlbex-fault.S (revision 62306a36)
  • Home
  • History
  • Annotate Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
  • only in /kernel/linux/linux-6.6/arch/mips/mm/
162306a36Sopenharmony_ci/*
262306a36Sopenharmony_ci * This file is subject to the terms and conditions of the GNU General Public
362306a36Sopenharmony_ci * License.  See the file "COPYING" in the main directory of this archive
462306a36Sopenharmony_ci * for more details.
562306a36Sopenharmony_ci *
662306a36Sopenharmony_ci * Copyright (C) 1999 Ralf Baechle
762306a36Sopenharmony_ci * Copyright (C) 1999 Silicon Graphics, Inc.
862306a36Sopenharmony_ci */
962306a36Sopenharmony_ci#include <asm/mipsregs.h>
1062306a36Sopenharmony_ci#include <asm/regdef.h>
1162306a36Sopenharmony_ci#include <asm/stackframe.h>
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci	.macro tlb_do_page_fault, write
1462306a36Sopenharmony_ci	NESTED(tlb_do_page_fault_\write, PT_SIZE, sp)
1562306a36Sopenharmony_ci	.cfi_signal_frame
1662306a36Sopenharmony_ci	SAVE_ALL docfi=1
1762306a36Sopenharmony_ci	MFC0	a2, CP0_BADVADDR
1862306a36Sopenharmony_ci	KMODE
1962306a36Sopenharmony_ci	move	a0, sp
2062306a36Sopenharmony_ci	REG_S	a2, PT_BVADDR(sp)
2162306a36Sopenharmony_ci	li	a1, \write
2262306a36Sopenharmony_ci	jal	do_page_fault
2362306a36Sopenharmony_ci	j	ret_from_exception
2462306a36Sopenharmony_ci	END(tlb_do_page_fault_\write)
2562306a36Sopenharmony_ci	.endm
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci	tlb_do_page_fault 0
2862306a36Sopenharmony_ci	tlb_do_page_fault 1
29

Indexes created Thu Nov 07 10:32:03 CST 2024