Lines Matching refs:ks
479 static void gdb_cmd_status(struct kgdb_state *ks) in gdb_cmd_status() argument
490 hex_byte_pack(&remcom_out_buffer[1], ks->signo); in gdb_cmd_status()
493 static void gdb_get_regs_helper(struct kgdb_state *ks) in gdb_get_regs_helper() argument
501 thread = kgdb_info[ks->cpu].task; in gdb_get_regs_helper()
502 local_debuggerinfo = kgdb_info[ks->cpu].debuggerinfo; in gdb_get_regs_helper()
537 static void gdb_cmd_getregs(struct kgdb_state *ks) in gdb_cmd_getregs() argument
539 gdb_get_regs_helper(ks); in gdb_cmd_getregs()
544 static void gdb_cmd_setregs(struct kgdb_state *ks) in gdb_cmd_setregs() argument
551 gdb_regs_to_pt_regs(gdb_regs, ks->linux_regs); in gdb_cmd_setregs()
557 static void gdb_cmd_memread(struct kgdb_state *ks) in gdb_cmd_memread() argument
575 static void gdb_cmd_memwrite(struct kgdb_state *ks) in gdb_cmd_memwrite() argument
598 static void gdb_cmd_reg_get(struct kgdb_state *ks) in gdb_cmd_reg_get() argument
608 gdb_get_regs_helper(ks); in gdb_cmd_reg_get()
613 static void gdb_cmd_reg_set(struct kgdb_state *ks) in gdb_cmd_reg_set() argument
622 !dbg_get_reg(regnum, gdb_regs, ks->linux_regs)) { in gdb_cmd_reg_set()
634 dbg_set_reg(regnum, gdb_regs, ks->linux_regs); in gdb_cmd_reg_set()
640 static void gdb_cmd_binwrite(struct kgdb_state *ks) in gdb_cmd_binwrite() argument
651 static void gdb_cmd_detachkill(struct kgdb_state *ks) in gdb_cmd_detachkill() argument
676 static int gdb_cmd_reboot(struct kgdb_state *ks) in gdb_cmd_reboot() argument
697 static void gdb_cmd_query(struct kgdb_state *ks) in gdb_cmd_query() argument
719 ks->thr_query = 0; in gdb_cmd_query()
728 if (i >= ks->thr_query && !finished) { in gdb_cmd_query()
732 ks->thr_query++; in gdb_cmd_query()
733 if (ks->thr_query % KGDB_MAX_THREAD_QUERY == 0) in gdb_cmd_query()
745 ks->threadid = shadow_pid(current->pid); in gdb_cmd_query()
746 int_to_threadref(thref, ks->threadid); in gdb_cmd_query()
753 ks->threadid = 0; in gdb_cmd_query()
755 kgdb_hex2long(&ptr, &ks->threadid); in gdb_cmd_query()
756 if (!getthread(ks->linux_regs, ks->threadid)) { in gdb_cmd_query()
760 if ((int)ks->threadid > 0) { in gdb_cmd_query()
761 kgdb_mem2hex(getthread(ks->linux_regs, in gdb_cmd_query()
762 ks->threadid)->comm, in gdb_cmd_query()
768 (int)(-ks->threadid - 2)); in gdb_cmd_query()
786 kdb_common_init_state(ks); in gdb_cmd_query()
811 static void gdb_cmd_task(struct kgdb_state *ks) in gdb_cmd_task() argument
819 kgdb_hex2long(&ptr, &ks->threadid); in gdb_cmd_task()
820 thread = getthread(ks->linux_regs, ks->threadid); in gdb_cmd_task()
821 if (!thread && ks->threadid > 0) { in gdb_cmd_task()
826 ks->kgdb_usethreadid = ks->threadid; in gdb_cmd_task()
831 kgdb_hex2long(&ptr, &ks->threadid); in gdb_cmd_task()
832 if (!ks->threadid) { in gdb_cmd_task()
835 thread = getthread(ks->linux_regs, ks->threadid); in gdb_cmd_task()
836 if (!thread && ks->threadid > 0) { in gdb_cmd_task()
848 static void gdb_cmd_thread(struct kgdb_state *ks) in gdb_cmd_thread() argument
853 kgdb_hex2long(&ptr, &ks->threadid); in gdb_cmd_thread()
854 thread = getthread(ks->linux_regs, ks->threadid); in gdb_cmd_thread()
862 static void gdb_cmd_break(struct kgdb_state *ks) in gdb_cmd_break() argument
924 static int gdb_cmd_exception_pass(struct kgdb_state *ks) in gdb_cmd_exception_pass() argument
931 ks->pass_exception = 1; in gdb_cmd_exception_pass()
936 ks->pass_exception = 1; in gdb_cmd_exception_pass()
956 int gdb_serial_stub(struct kgdb_state *ks) in gdb_serial_stub() argument
963 kgdb_usethread = kgdb_info[ks->cpu].task; in gdb_serial_stub()
964 ks->kgdb_usethreadid = shadow_pid(kgdb_info[ks->cpu].task->pid); in gdb_serial_stub()
965 ks->pass_exception = 0; in gdb_serial_stub()
974 ptr = hex_byte_pack(ptr, ks->signo); in gdb_serial_stub()
992 gdb_cmd_status(ks); in gdb_serial_stub()
995 gdb_cmd_getregs(ks); in gdb_serial_stub()
998 gdb_cmd_setregs(ks); in gdb_serial_stub()
1001 gdb_cmd_memread(ks); in gdb_serial_stub()
1004 gdb_cmd_memwrite(ks); in gdb_serial_stub()
1008 gdb_cmd_reg_get(ks); in gdb_serial_stub()
1011 gdb_cmd_reg_set(ks); in gdb_serial_stub()
1015 gdb_cmd_binwrite(ks); in gdb_serial_stub()
1022 gdb_cmd_detachkill(ks); in gdb_serial_stub()
1025 if (gdb_cmd_reboot(ks)) in gdb_serial_stub()
1029 gdb_cmd_query(ks); in gdb_serial_stub()
1032 gdb_cmd_task(ks); in gdb_serial_stub()
1035 gdb_cmd_thread(ks); in gdb_serial_stub()
1039 gdb_cmd_break(ks); in gdb_serial_stub()
1044 gdb_cmd_detachkill(ks); in gdb_serial_stub()
1050 tmp = gdb_cmd_exception_pass(ks); in gdb_serial_stub()
1066 error = kgdb_arch_handle_exception(ks->ex_vector, in gdb_serial_stub()
1067 ks->signo, in gdb_serial_stub()
1068 ks->err_code, in gdb_serial_stub()
1071 ks->linux_regs); in gdb_serial_stub()
1089 if (ks->pass_exception) in gdb_serial_stub()
1094 int gdbstub_state(struct kgdb_state *ks, char *cmd) in gdbstub_state() argument
1100 error = kgdb_arch_handle_exception(ks->ex_vector, in gdbstub_state()
1101 ks->signo, in gdbstub_state()
1102 ks->err_code, in gdbstub_state()
1105 ks->linux_regs); in gdbstub_state()