15 #include <asm/traps.h>
87 gdb_regs[
_R0] = thread_regs->ARM_r0;
88 gdb_regs[
_R1] = thread_regs->ARM_r1;
89 gdb_regs[
_R2] = thread_regs->ARM_r2;
90 gdb_regs[
_R3] = thread_regs->ARM_r3;
91 gdb_regs[
_R4] = thread_regs->ARM_r4;
92 gdb_regs[
_R5] = thread_regs->ARM_r5;
93 gdb_regs[
_R6] = thread_regs->ARM_r6;
94 gdb_regs[
_R7] = thread_regs->ARM_r7;
95 gdb_regs[
_R8] = thread_regs->ARM_r8;
96 gdb_regs[
_R9] = thread_regs->ARM_r9;
97 gdb_regs[
_R10] = thread_regs->ARM_r10;
98 gdb_regs[
_FP] = thread_regs->ARM_fp;
99 gdb_regs[
_IP] = thread_regs->ARM_ip;
100 gdb_regs[
_SPT] = thread_regs->ARM_sp;
101 gdb_regs[
_LR] = thread_regs->ARM_lr;
102 gdb_regs[
_PC] = thread_regs->ARM_pc;
103 gdb_regs[
_CPSR] = thread_regs->ARM_cpsr;
111 static int compiled_break;
114 int err_code,
char *remcom_in_buffer,
115 char *remcom_out_buffer,
121 switch (remcom_in_buffer[0]) {
131 ptr = &remcom_in_buffer[1];
133 linux_regs->ARM_pc =
addr;
134 else if (compiled_break == 1)
135 linux_regs->ARM_pc += 4;
161 .instr_mask = 0xffffffff,
166 static struct undef_hook kgdb_compiled_brkpt_hook = {
167 .instr_mask = 0xffffffff,
169 .fn = kgdb_compiled_brk_fn
172 static void kgdb_call_nmi_hook(
void *
ignored)
184 static int __kgdb_notify(
struct die_args *args,
unsigned long cmd)
199 ret = __kgdb_notify(ptr, cmd);
206 .notifier_call = kgdb_notify,
251 .gdb_bpt_instr = {0xfe, 0xde, 0xff, 0xe7}
253 .gdb_bpt_instr = {0xe7, 0xff, 0xde, 0xfe}