1*4882a593Smuzhiyun/* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun#include <linux/linkage.h> 3*4882a593Smuzhiyun#include <asm/assembler.h> 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun/* 6*4882a593Smuzhiyun * Function: v7_pabort 7*4882a593Smuzhiyun * 8*4882a593Smuzhiyun * Params : r2 = pt_regs 9*4882a593Smuzhiyun * : r4 = address of aborted instruction 10*4882a593Smuzhiyun * : r5 = psr for parent context 11*4882a593Smuzhiyun * 12*4882a593Smuzhiyun * Returns : r4 - r11, r13 preserved 13*4882a593Smuzhiyun * 14*4882a593Smuzhiyun * Purpose : obtain information about current prefetch abort. 15*4882a593Smuzhiyun */ 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun .align 5 18*4882a593SmuzhiyunENTRY(v7_pabort) 19*4882a593Smuzhiyun mrc p15, 0, r0, c6, c0, 2 @ get IFAR 20*4882a593Smuzhiyun mrc p15, 0, r1, c5, c0, 1 @ get IFSR 21*4882a593Smuzhiyun b do_PrefetchAbort 22*4882a593SmuzhiyunENDPROC(v7_pabort) 23