cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

tlbex-fault.S (664B)


      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
     13	.macro tlb_do_page_fault, write
     14	NESTED(tlb_do_page_fault_\write, PT_SIZE, sp)
     15	.cfi_signal_frame
     16	SAVE_ALL docfi=1
     17	MFC0	a2, CP0_BADVADDR
     18	KMODE
     19	move	a0, sp
     20	REG_S	a2, PT_BVADDR(sp)
     21	li	a1, \write
     22	jal	do_page_fault
     23	j	ret_from_exception
     24	END(tlb_do_page_fault_\write)
     25	.endm
     26
     27	tlb_do_page_fault 0
     28	tlb_do_page_fault 1