/linux-6.6.21/arch/sh/kernel/ |
D | kgdb.c | 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() [all …]
|
/linux-6.6.21/arch/sparc/kernel/ |
D | kgdb_32.c | 112 struct pt_regs *linux_regs) in kgdb_arch_handle_exception() argument 122 linux_regs->pc = addr; in kgdb_arch_handle_exception() 123 linux_regs->npc = addr + 4; in kgdb_arch_handle_exception() 129 if (linux_regs->pc == (unsigned long) arch_kgdb_breakpoint) { in kgdb_arch_handle_exception() 130 linux_regs->pc = linux_regs->npc; in kgdb_arch_handle_exception() 131 linux_regs->npc += 4; in kgdb_arch_handle_exception()
|
D | kgdb_64.c | 138 struct pt_regs *linux_regs) in kgdb_arch_handle_exception() argument 148 linux_regs->tpc = addr; in kgdb_arch_handle_exception() 149 linux_regs->tnpc = addr + 4; in kgdb_arch_handle_exception() 155 if (linux_regs->tpc == (unsigned long) arch_kgdb_breakpoint) { in kgdb_arch_handle_exception() 156 linux_regs->tpc = linux_regs->tnpc; in kgdb_arch_handle_exception() 157 linux_regs->tnpc += 4; in kgdb_arch_handle_exception()
|
/linux-6.6.21/kernel/debug/kdb/ |
D | kdb_debugger.c | 57 unsigned long addr = kgdb_arch_pc(ks->ex_vector, ks->linux_regs); in kdb_stub() 66 addr = instruction_pointer(ks->linux_regs); in kdb_stub() 82 if (addr != instruction_pointer(ks->linux_regs)) in kdb_stub() 83 kgdb_arch_set_pc(ks->linux_regs, addr); in kdb_stub() 135 ks->err_code, db_result, ks->linux_regs); in kdb_stub() 148 kdb_bp_install(ks->linux_regs); in kdb_stub()
|
/linux-6.6.21/arch/arm64/kernel/ |
D | kgdb.c | 177 struct pt_regs *linux_regs) in kgdb_arch_handle_exception() argument 197 kgdb_arch_update_addr(linux_regs, remcom_in_buffer); in kgdb_arch_handle_exception() 218 kgdb_arch_update_addr(linux_regs, remcom_in_buffer); in kgdb_arch_handle_exception() 226 kernel_enable_single_step(linux_regs); in kgdb_arch_handle_exception() 228 kernel_rewind_single_step(linux_regs); in kgdb_arch_handle_exception()
|
/linux-6.6.21/arch/powerpc/kernel/ |
D | kgdb.c | 380 struct pt_regs *linux_regs) in kgdb_arch_handle_exception() argument 394 regs_set_return_ip(linux_regs, addr); in kgdb_arch_handle_exception() 402 regs_set_return_msr(linux_regs, linux_regs->msr | MSR_DE); in kgdb_arch_handle_exception() 404 regs_set_return_msr(linux_regs, linux_regs->msr | MSR_SE); in kgdb_arch_handle_exception()
|
/linux-6.6.21/kernel/debug/ |
D | gdbstub.c | 549 gdb_regs_to_pt_regs(gdb_regs, ks->linux_regs); in gdb_cmd_setregs() 620 !dbg_get_reg(regnum, gdb_regs, ks->linux_regs)) { in gdb_cmd_reg_set() 632 dbg_set_reg(regnum, gdb_regs, ks->linux_regs); in gdb_cmd_reg_set() 754 if (!getthread(ks->linux_regs, ks->threadid)) { in gdb_cmd_query() 759 kgdb_mem2hex(getthread(ks->linux_regs, in gdb_cmd_query() 818 thread = getthread(ks->linux_regs, ks->threadid); in gdb_cmd_task() 833 thread = getthread(ks->linux_regs, ks->threadid); in gdb_cmd_task() 852 thread = getthread(ks->linux_regs, ks->threadid); in gdb_cmd_thread() 1069 ks->linux_regs); in gdb_serial_stub() 1103 ks->linux_regs); in gdbstub_state()
|
D | debug_core.c | 524 addr = kgdb_arch_pc(ks->ex_vector, ks->linux_regs); in kgdb_reenter_check() 535 kgdb_skipexception(ks->ex_vector, ks->linux_regs); in kgdb_reenter_check() 543 kgdb_skipexception(ks->ex_vector, ks->linux_regs); in kgdb_reenter_check() 686 if (kgdb_skipexception(ks->ex_vector, ks->linux_regs)) in kgdb_cpu_enter() 858 ks->linux_regs = regs; in kgdb_handle_exception() 896 ks->linux_regs = regs; in kgdb_nmicallback() 924 ks->linux_regs = regs; in kgdb_nmicallin()
|
D | debug_core.h | 28 struct pt_regs *linux_regs; member
|
/linux-6.6.21/arch/arm/kernel/ |
D | kgdb.c | 113 struct pt_regs *linux_regs) in kgdb_arch_handle_exception() argument 130 linux_regs->ARM_pc = addr; in kgdb_arch_handle_exception() 132 linux_regs->ARM_pc += 4; in kgdb_arch_handle_exception()
|
/linux-6.6.21/arch/x86/kernel/ |
D | kgdb.c | 441 struct pt_regs *linux_regs) in kgdb_arch_handle_exception() argument 452 linux_regs->ip = addr; in kgdb_arch_handle_exception() 457 linux_regs->flags &= ~X86_EFLAGS_TF; in kgdb_arch_handle_exception() 462 linux_regs->flags |= X86_EFLAGS_TF; in kgdb_arch_handle_exception()
|
/linux-6.6.21/arch/hexagon/kernel/ |
D | kgdb.c | 143 struct pt_regs *linux_regs) in kgdb_arch_handle_exception() argument
|