Lines Matching refs:regs
491 static int gdbstub_single_step(struct pt_regs *regs) in gdbstub_single_step() argument
505 pc = (u8 *) regs->pc; in gdbstub_single_step()
506 sp = (u8 *) (regs + 1); in gdbstub_single_step()
535 if (regs->pc != regs->lar && in gdbstub_single_step()
536 !__gdbstub_mark_bp((u8 *) regs->lar, 1)) in gdbstub_single_step()
571 if (!__gdbstub_mark_bp((u8 *) regs->mdr, 0)) in gdbstub_single_step()
596 case 0: x = regs->a0; break; in gdbstub_single_step()
597 case 1: x = regs->a1; break; in gdbstub_single_step()
598 case 2: x = regs->a2; break; in gdbstub_single_step()
599 case 3: x = regs->a3; break; in gdbstub_single_step()
1177 static int gdbstub(struct pt_regs *regs, enum exception_code excep) in gdbstub() argument
1205 if (regs->pc == (unsigned long) __gdbstub_pause) in gdbstub()
1206 regs->pc = (unsigned long) start_kernel; in gdbstub()
1213 if ((step_bp[0].addr && step_bp[0].addr == (u8 *) regs->pc) || in gdbstub()
1214 (step_bp[1].addr && step_bp[1].addr == (u8 *) regs->pc)) in gdbstub()
1227 stack = (unsigned long *) regs->sp; in gdbstub()
1231 if (!user_mode(regs) && excep == EXCEP_SYSCALL15) { in gdbstub()
1234 bug = find_bug(regs->pc); in gdbstub()
1238 "BUG() at address %lx\n", regs->pc); in gdbstub()
1244 regs->pc, bug->file, bug->line); in gdbstub()
1253 regs->pc -= 2; in gdbstub()
1255 } else if (regs->pc == (unsigned long) __gdbstub_bug_trap) { in gdbstub()
1256 regs->pc = regs->mdr; in gdbstub()
1330 ptr = mem2hex(®s->pc, ptr, 4, 0); in gdbstub()
1338 ptr = mem2hex(®s->a3, ptr, 4, 0); in gdbstub()
1344 ssp = (unsigned long) (regs + 1); in gdbstub()
1379 ssp = (u32) (regs + 1); in gdbstub()
1381 ptr = mem2hex(®s->d0, ptr, 4, 0); in gdbstub()
1382 ptr = mem2hex(®s->d1, ptr, 4, 0); in gdbstub()
1383 ptr = mem2hex(®s->d2, ptr, 4, 0); in gdbstub()
1384 ptr = mem2hex(®s->d3, ptr, 4, 0); in gdbstub()
1385 ptr = mem2hex(®s->a0, ptr, 4, 0); in gdbstub()
1386 ptr = mem2hex(®s->a1, ptr, 4, 0); in gdbstub()
1387 ptr = mem2hex(®s->a2, ptr, 4, 0); in gdbstub()
1388 ptr = mem2hex(®s->a3, ptr, 4, 0); in gdbstub()
1391 ptr = mem2hex(®s->pc, ptr, 4, 0); in gdbstub()
1392 ptr = mem2hex(®s->mdr, ptr, 4, 0); in gdbstub()
1393 ptr = mem2hex(®s->epsw, ptr, 4, 0); in gdbstub()
1394 ptr = mem2hex(®s->lir, ptr, 4, 0); in gdbstub()
1395 ptr = mem2hex(®s->lar, ptr, 4, 0); in gdbstub()
1396 ptr = mem2hex(®s->mdrq, ptr, 4, 0); in gdbstub()
1398 ptr = mem2hex(®s->e0, ptr, 4, 0); /* 15 */ in gdbstub()
1399 ptr = mem2hex(®s->e1, ptr, 4, 0); in gdbstub()
1400 ptr = mem2hex(®s->e2, ptr, 4, 0); in gdbstub()
1401 ptr = mem2hex(®s->e3, ptr, 4, 0); in gdbstub()
1402 ptr = mem2hex(®s->e4, ptr, 4, 0); in gdbstub()
1403 ptr = mem2hex(®s->e5, ptr, 4, 0); in gdbstub()
1404 ptr = mem2hex(®s->e6, ptr, 4, 0); in gdbstub()
1405 ptr = mem2hex(®s->e7, ptr, 4, 0); in gdbstub()
1408 ptr = mem2hex(®s, ptr, 4, 0); in gdbstub()
1409 ptr = mem2hex(®s->sp, ptr, 4, 0); in gdbstub()
1410 ptr = mem2hex(®s->mcrh, ptr, 4, 0); /* 26 */ in gdbstub()
1411 ptr = mem2hex(®s->mcrl, ptr, 4, 0); in gdbstub()
1412 ptr = mem2hex(®s->mcvf, ptr, 4, 0); in gdbstub()
1431 ptr = hex2mem(ptr, ®s->d0, 4, 0); in gdbstub()
1432 ptr = hex2mem(ptr, ®s->d1, 4, 0); in gdbstub()
1433 ptr = hex2mem(ptr, ®s->d2, 4, 0); in gdbstub()
1434 ptr = hex2mem(ptr, ®s->d3, 4, 0); in gdbstub()
1435 ptr = hex2mem(ptr, ®s->a0, 4, 0); in gdbstub()
1436 ptr = hex2mem(ptr, ®s->a1, 4, 0); in gdbstub()
1437 ptr = hex2mem(ptr, ®s->a2, 4, 0); in gdbstub()
1438 ptr = hex2mem(ptr, ®s->a3, 4, 0); in gdbstub()
1441 ptr = hex2mem(ptr, ®s->pc, 4, 0); in gdbstub()
1442 ptr = hex2mem(ptr, ®s->mdr, 4, 0); in gdbstub()
1443 ptr = hex2mem(ptr, ®s->epsw, 4, 0); in gdbstub()
1444 ptr = hex2mem(ptr, ®s->lir, 4, 0); in gdbstub()
1445 ptr = hex2mem(ptr, ®s->lar, 4, 0); in gdbstub()
1446 ptr = hex2mem(ptr, ®s->mdrq, 4, 0); in gdbstub()
1448 ptr = hex2mem(ptr, ®s->e0, 4, 0); /* 15 */ in gdbstub()
1449 ptr = hex2mem(ptr, ®s->e1, 4, 0); in gdbstub()
1450 ptr = hex2mem(ptr, ®s->e2, 4, 0); in gdbstub()
1451 ptr = hex2mem(ptr, ®s->e3, 4, 0); in gdbstub()
1452 ptr = hex2mem(ptr, ®s->e4, 4, 0); in gdbstub()
1453 ptr = hex2mem(ptr, ®s->e5, 4, 0); in gdbstub()
1454 ptr = hex2mem(ptr, ®s->e6, 4, 0); in gdbstub()
1455 ptr = hex2mem(ptr, ®s->e7, 4, 0); in gdbstub()
1459 ptr = hex2mem(ptr, ®s->sp, 4, 0); in gdbstub()
1460 ptr = hex2mem(ptr, ®s->mcrh, 4, 0); /* 26 */ in gdbstub()
1461 ptr = hex2mem(ptr, ®s->mcrl, 4, 0); in gdbstub()
1462 ptr = hex2mem(ptr, ®s->mcvf, 4, 0); in gdbstub()
1535 regs->pc = addr; in gdbstub()
1560 if (gdbstub_single_step(regs) < 0) in gdbstub()
1684 int at_debugger_breakpoint(struct pt_regs *regs) in at_debugger_breakpoint() argument
1693 int signo, int si_code, struct pt_regs *regs) in debugger_intercept() argument
1708 regs, excep, mdr, regs->pc); in debugger_intercept()
1712 regs->pc, regs->epsw, (unsigned long) &ret, in debugger_intercept()
1713 user_mode(regs) ? "User" : "Super"); in debugger_intercept()
1716 regs->d0, regs->d1, regs->d2, regs->d3); in debugger_intercept()
1719 regs->a0, regs->a1, regs->a2, regs->a3); in debugger_intercept()
1722 regs->e0, regs->e1, regs->e2, regs->e3); in debugger_intercept()
1725 regs->e4, regs->e5, regs->e6, regs->e7); in debugger_intercept()
1728 regs->lar, regs->lir, regs->mdr, regs->sp); in debugger_intercept()
1731 regs->mcvf, regs->mcrl, regs->mcrh, regs->mdrq); in debugger_intercept()
1739 ret = gdbstub(regs, excep); in debugger_intercept()
1749 asmlinkage void gdbstub_exception(struct pt_regs *regs, in gdbstub_exception() argument
1756 regs, excep, mdr); in gdbstub_exception()
1758 while ((unsigned long) regs == 0xffffffff) {} in gdbstub_exception()
1761 if (regs->pc == (unsigned) gdbstub_read_byte_guard) { in gdbstub_exception()
1762 regs->pc = (unsigned) gdbstub_read_byte_cont; in gdbstub_exception()
1766 if (regs->pc == (unsigned) gdbstub_read_word_guard) { in gdbstub_exception()
1767 regs->pc = (unsigned) gdbstub_read_word_cont; in gdbstub_exception()
1771 if (regs->pc == (unsigned) gdbstub_read_dword_guard) { in gdbstub_exception()
1772 regs->pc = (unsigned) gdbstub_read_dword_cont; in gdbstub_exception()
1776 if (regs->pc == (unsigned) gdbstub_write_byte_guard) { in gdbstub_exception()
1777 regs->pc = (unsigned) gdbstub_write_byte_cont; in gdbstub_exception()
1781 if (regs->pc == (unsigned) gdbstub_write_word_guard) { in gdbstub_exception()
1782 regs->pc = (unsigned) gdbstub_write_word_cont; in gdbstub_exception()
1786 if (regs->pc == (unsigned) gdbstub_write_dword_guard) { in gdbstub_exception()
1787 regs->pc = (unsigned) gdbstub_write_dword_cont; in gdbstub_exception()
1795 show_registers(regs); in gdbstub_exception()
1802 regs->d0 = -EFAULT; in gdbstub_exception()
1906 asmlinkage void gdbstub_rx_irq(struct pt_regs *regs, enum exception_code excep) in gdbstub_rx_irq() argument
1918 gdbstub(regs, excep); in gdbstub_rx_irq()