Lines Matching refs:regs
27 void die(const char *str, struct pt_regs *regs, long err) in die() argument
61 show_regs_log_lvl(regs, KERN_EMERG); in die()
62 show_stack_log_lvl(current, regs->sp, regs, KERN_EMERG); in die()
76 void _exception(long signr, struct pt_regs *regs, int code, in _exception() argument
81 if (!user_mode(regs)) { in _exception()
85 fixup = search_exception_tables(regs->pc); in _exception()
87 regs->pc = fixup->fixup; in _exception()
90 die("Unhandled exception in kernel mode", regs, signr); in _exception()
100 asmlinkage void do_nmi(unsigned long ecr, struct pt_regs *regs) in do_nmi() argument
106 ret = notify_die(DIE_NMI, "NMI", regs, 0, ecr, SIGINT); in do_nmi()
112 die("Fatal Non-Maskable Interrupt", regs, SIGINT); in do_nmi()
121 asmlinkage void do_critical_exception(unsigned long ecr, struct pt_regs *regs) in do_critical_exception() argument
123 die("Critical exception", regs, SIGKILL); in do_critical_exception()
126 asmlinkage void do_address_exception(unsigned long ecr, struct pt_regs *regs) in do_address_exception() argument
128 _exception(SIGBUS, regs, BUS_ADRALN, regs->pc); in do_address_exception()
186 asmlinkage void do_illegal_opcode(unsigned long ecr, struct pt_regs *regs) in do_illegal_opcode() argument
194 if (!user_mode(regs) && (ecr == ECR_ILLEGAL_OPCODE)) { in do_illegal_opcode()
197 type = report_bug(regs->pc, regs); in do_illegal_opcode()
202 regs->pc += 2; in do_illegal_opcode()
205 die("Kernel BUG", regs, SIGKILL); in do_illegal_opcode()
212 if (user_mode(regs)) { in do_illegal_opcode()
213 pc = (void __user *)instruction_pointer(regs); in do_illegal_opcode()
223 if (hook->fn(regs, insn) == 0) { in do_illegal_opcode()
244 _exception(SIGILL, regs, code, regs->pc); in do_illegal_opcode()
248 _exception(SIGSEGV, regs, SEGV_MAPERR, regs->pc); in do_illegal_opcode()
251 asmlinkage void do_fpe(unsigned long ecr, struct pt_regs *regs) in do_fpe() argument
254 _exception(SIGILL, regs, ILL_COPROC, regs->pc); in do_fpe()