Lines Matching refs:fsr
31 static inline int fsr_fs(unsigned int fsr) in fsr_fs() argument
34 return (fsr & 31) + ((fsr & (3 << 5)) >> 5); in fsr_fs()
92 unsigned int fsr, struct pt_regs *regs) in __do_kernel_fault() argument
110 die("Oops", regs, fsr); in __do_kernel_fault()
120 unsigned int fsr, unsigned int sig, int code, in __do_user_fault() argument
126 tsk->thread.error_code = fsr; in __do_user_fault()
135 void do_bad_area(unsigned long addr, unsigned int fsr, struct pt_regs *regs) in do_bad_area() argument
145 __do_user_fault(tsk, addr, fsr, SIGSEGV, SEGV_MAPERR, regs); in do_bad_area()
147 __do_kernel_fault(mm, addr, fsr, regs); in do_bad_area()
158 static inline bool access_error(unsigned int fsr, struct vm_area_struct *vma) in access_error() argument
162 if (!(fsr ^ 0x12)) /* write? */ in access_error()
164 if (fsr & FSR_LNX_PF) in access_error()
170 static int __do_pf(struct mm_struct *mm, unsigned long addr, unsigned int fsr, in __do_pf() argument
188 if (access_error(fsr, vma)) { in __do_pf()
207 static int do_pf(unsigned long addr, unsigned int fsr, struct pt_regs *regs) in do_pf() argument
226 if (!(fsr ^ 0x12)) in do_pf()
254 fault = __do_pf(mm, addr, fsr, flags, tsk); in do_pf()
318 __do_user_fault(tsk, addr, fsr, sig, code, regs); in do_pf()
322 __do_kernel_fault(mm, addr, fsr, regs); in do_pf()
343 static int do_ifault(unsigned long addr, unsigned int fsr, struct pt_regs *regs) in do_ifault() argument
350 return do_pf(addr, fsr, regs); in do_ifault()
374 do_bad_area(addr, fsr, regs); in do_ifault()
381 static int do_bad(unsigned long addr, unsigned int fsr, struct pt_regs *regs) in do_bad() argument
386 static int do_good(unsigned long addr, unsigned int fsr, struct pt_regs *regs) in do_good() argument
405 int (*fn) (unsigned long addr, unsigned int fsr, struct pt_regs *regs);
463 asmlinkage void do_DataAbort(unsigned long addr, unsigned int fsr, in do_DataAbort() argument
466 const struct fsr_info *inf = fsr_info + fsr_fs(fsr); in do_DataAbort()
469 if (!inf->fn(addr, fsr & ~FSR_LNX_PF, regs)) in do_DataAbort()
473 inf->name, fsr, addr); in do_DataAbort()
479 uc32_notify_die("", regs, &info, fsr, 0); in do_DataAbort()