Lines Matching refs:linux_regs
47 static short *get_step_address(struct pt_regs *linux_regs) in get_step_address() argument
49 insn_size_t op = __raw_readw(linux_regs->pc); in get_step_address()
54 if (linux_regs->sr & SR_T_BIT_MASK) in get_step_address()
55 addr = linux_regs->pc + 4 + OPCODE_BTF_DISP(op); in get_step_address()
57 addr = linux_regs->pc + 2; in get_step_address()
62 if (linux_regs->sr & SR_T_BIT_MASK) in get_step_address()
63 addr = linux_regs->pc + 4 + OPCODE_BTF_DISP(op); in get_step_address()
65 addr = linux_regs->pc + 4; /* Not in delay slot */ in get_step_address()
70 if (!(linux_regs->sr & SR_T_BIT_MASK)) in get_step_address()
71 addr = linux_regs->pc + 4 + OPCODE_BTF_DISP(op); in get_step_address()
73 addr = linux_regs->pc + 2; in get_step_address()
78 if (!(linux_regs->sr & SR_T_BIT_MASK)) in get_step_address()
79 addr = linux_regs->pc + 4 + OPCODE_BTF_DISP(op); in get_step_address()
81 addr = linux_regs->pc + 4; /* Not in delay slot */ in get_step_address()
86 addr = linux_regs->pc + 4 + OPCODE_BRA_DISP(op); in get_step_address()
90 addr = linux_regs->pc + 4 in get_step_address()
91 + linux_regs->regs[OPCODE_BRAF_REG(op)]; in get_step_address()
95 addr = linux_regs->pc + 4 + OPCODE_BSR_DISP(op); in get_step_address()
99 addr = linux_regs->pc + 4 in get_step_address()
100 + linux_regs->regs[OPCODE_BSRF_REG(op)]; in get_step_address()
104 addr = linux_regs->regs[OPCODE_JMP_REG(op)]; in get_step_address()
108 addr = linux_regs->regs[OPCODE_JSR_REG(op)]; in get_step_address()
112 addr = linux_regs->pr; in get_step_address()
116 addr = linux_regs->regs[15]; in get_step_address()
120 addr = linux_regs->pc + instruction_size(op); in get_step_address()
138 static void do_single_step(struct pt_regs *linux_regs) in do_single_step() argument
141 unsigned short *addr = get_step_address(linux_regs); in do_single_step()
155 static void undo_single_step(struct pt_regs *linux_regs) in undo_single_step() argument
254 struct pt_regs *linux_regs) in kgdb_arch_handle_exception() argument
260 undo_single_step(linux_regs); in kgdb_arch_handle_exception()
268 linux_regs->pc = addr; in kgdb_arch_handle_exception()
275 do_single_step(linux_regs); in kgdb_arch_handle_exception()