Lines Matching refs:regs

125 int die_if_no_fixup(const char *str, struct pt_regs *regs,  in die_if_no_fixup()  argument
131 if (user_mode(regs)) in die_if_no_fixup()
153 if (fixup_exception(regs)) in die_if_no_fixup()
159 if (probe_kernel_read(&opcode, (u8 *)regs->pc, 1) < 0) in die_if_no_fixup()
162 if (notify_die(DIE_BREAKPOINT, str, regs, code, 0, 0)) in die_if_no_fixup()
164 if (at_debugger_breakpoint(regs)) in die_if_no_fixup()
165 regs->pc++; in die_if_no_fixup()
173 regs->pc -= 2; in die_if_no_fixup()
177 if (report_bug(regs->pc, regs) == BUG_TRAP_TYPE_WARN) in die_if_no_fixup()
181 regs->pc -= 2; in die_if_no_fixup()
188 if (debugger_intercept(code, signo, si_code, regs) == 0) in die_if_no_fixup()
191 if (notify_die(DIE_GPF, str, regs, code, 0, 0)) in die_if_no_fixup()
195 die(str, regs, code); in die_if_no_fixup()
201 asmlinkage void handle_exception(struct pt_regs *regs, u32 intcode) in handle_exception() argument
206 if (die_if_no_fixup(NULL, regs, intcode)) in handle_exception()
213 info.si_addr = (void *) regs->pc; in handle_exception()
220 asmlinkage void nmi(struct pt_regs *regs, enum exception_code code) in nmi() argument
223 if (debugger_intercept(code, SIGQUIT, 0, regs)) in nmi()
227 show_registers(regs); in nmi()
299 void show_registers_only(struct pt_regs *regs) in show_registers_only() argument
303 ssp = (unsigned long) regs + sizeof(*regs); in show_registers_only()
306 regs->pc, regs->epsw, ssp, user_mode(regs) ? "User" : "Super"); in show_registers_only()
308 regs->d0, regs->d1, regs->d2, regs->d3); in show_registers_only()
310 regs->a0, regs->a1, regs->a2, regs->a3); in show_registers_only()
312 regs->e0, regs->e1, regs->e2, regs->e3); in show_registers_only()
314 regs->e4, regs->e5, regs->e6, regs->e7); in show_registers_only()
316 regs->lar, regs->lir, regs->mdr, regs->sp); in show_registers_only()
318 regs->mcvf, regs->mcrl, regs->mcrh, regs->mdrq); in show_registers_only()
345 void show_registers(struct pt_regs *regs) in show_registers() argument
350 show_registers_only(regs); in show_registers()
352 if (!user_mode(regs)) in show_registers()
353 sp = (unsigned long) regs + sizeof(*regs); in show_registers()
355 sp = regs->sp; in show_registers()
360 if (!user_mode(regs)) { in show_registers()
366 if (regs->pc < PAGE_OFFSET) in show_registers()
371 if (__get_user(c, &((unsigned char *) regs->pc)[i])) in show_registers()
407 void die(const char *str, struct pt_regs *regs, enum exception_code code) in die() argument
413 show_registers(regs); in die()
415 if (regs->pc >= 0x02000000 && regs->pc < 0x04000000 && in die()
416 (regs->epsw & (EPSW_IM | EPSW_IE)) != (EPSW_IM | EPSW_IE)) { in die()
429 asmlinkage void do_double_fault(struct pt_regs *regs) in do_double_fault() argument
437 show_registers(regs); in do_double_fault()
443 asmlinkage void io_bus_error(u32 bcberr, u32 bcbear, struct pt_regs *regs) in io_bus_error() argument
492 show_registers(regs); in io_bus_error()
500 asmlinkage void uninitialised_exception(struct pt_regs *regs, in uninitialised_exception() argument
505 if (debugger_intercept(code, SIGSYS, 0, regs) == 0) in uninitialised_exception()
510 show_registers(regs); in uninitialised_exception()