Lines Matching refs:ks

477 static void gdb_cmd_status(struct kgdb_state *ks)
488 hex_byte_pack(&remcom_out_buffer[1], ks->signo);
491 static void gdb_get_regs_helper(struct kgdb_state *ks)
499 thread = kgdb_info[ks->cpu].task;
500 local_debuggerinfo = kgdb_info[ks->cpu].debuggerinfo;
535 static void gdb_cmd_getregs(struct kgdb_state *ks)
537 gdb_get_regs_helper(ks);
542 static void gdb_cmd_setregs(struct kgdb_state *ks)
549 gdb_regs_to_pt_regs(gdb_regs, ks->linux_regs);
555 static void gdb_cmd_memread(struct kgdb_state *ks)
573 static void gdb_cmd_memwrite(struct kgdb_state *ks)
596 static void gdb_cmd_reg_get(struct kgdb_state *ks)
606 gdb_get_regs_helper(ks);
611 static void gdb_cmd_reg_set(struct kgdb_state *ks)
620 !dbg_get_reg(regnum, gdb_regs, ks->linux_regs)) {
632 dbg_set_reg(regnum, gdb_regs, ks->linux_regs);
638 static void gdb_cmd_binwrite(struct kgdb_state *ks)
649 static void gdb_cmd_detachkill(struct kgdb_state *ks)
674 static int gdb_cmd_reboot(struct kgdb_state *ks)
695 static void gdb_cmd_query(struct kgdb_state *ks)
717 ks->thr_query = 0;
726 if (i >= ks->thr_query && !finished) {
730 ks->thr_query++;
731 if (ks->thr_query % KGDB_MAX_THREAD_QUERY == 0)
743 ks->threadid = shadow_pid(current->pid);
744 int_to_threadref(thref, ks->threadid);
751 ks->threadid = 0;
753 kgdb_hex2long(&ptr, &ks->threadid);
754 if (!getthread(ks->linux_regs, ks->threadid)) {
758 if ((int)ks->threadid > 0) {
759 kgdb_mem2hex(getthread(ks->linux_regs,
760 ks->threadid)->comm,
766 (int)(-ks->threadid - 2));
784 kdb_common_init_state(ks);
809 static void gdb_cmd_task(struct kgdb_state *ks)
817 kgdb_hex2long(&ptr, &ks->threadid);
818 thread = getthread(ks->linux_regs, ks->threadid);
819 if (!thread && ks->threadid > 0) {
824 ks->kgdb_usethreadid = ks->threadid;
829 kgdb_hex2long(&ptr, &ks->threadid);
830 if (!ks->threadid) {
833 thread = getthread(ks->linux_regs, ks->threadid);
834 if (!thread && ks->threadid > 0) {
846 static void gdb_cmd_thread(struct kgdb_state *ks)
851 kgdb_hex2long(&ptr, &ks->threadid);
852 thread = getthread(ks->linux_regs, ks->threadid);
860 static void gdb_cmd_break(struct kgdb_state *ks)
922 static int gdb_cmd_exception_pass(struct kgdb_state *ks)
929 ks->pass_exception = 1;
934 ks->pass_exception = 1;
954 int gdb_serial_stub(struct kgdb_state *ks)
961 kgdb_usethread = kgdb_info[ks->cpu].task;
962 ks->kgdb_usethreadid = shadow_pid(kgdb_info[ks->cpu].task->pid);
963 ks->pass_exception = 0;
972 ptr = hex_byte_pack(ptr, ks->signo);
990 gdb_cmd_status(ks);
993 gdb_cmd_getregs(ks);
996 gdb_cmd_setregs(ks);
999 gdb_cmd_memread(ks);
1002 gdb_cmd_memwrite(ks);
1006 gdb_cmd_reg_get(ks);
1009 gdb_cmd_reg_set(ks);
1013 gdb_cmd_binwrite(ks);
1020 gdb_cmd_detachkill(ks);
1023 if (gdb_cmd_reboot(ks))
1027 gdb_cmd_query(ks);
1030 gdb_cmd_task(ks);
1033 gdb_cmd_thread(ks);
1037 gdb_cmd_break(ks);
1042 gdb_cmd_detachkill(ks);
1048 tmp = gdb_cmd_exception_pass(ks);
1064 error = kgdb_arch_handle_exception(ks->ex_vector,
1065 ks->signo,
1066 ks->err_code,
1069 ks->linux_regs);
1087 if (ks->pass_exception)
1092 int gdbstub_state(struct kgdb_state *ks, char *cmd)
1098 error = kgdb_arch_handle_exception(ks->ex_vector,
1099 ks->signo,
1100 ks->err_code,
1103 ks->linux_regs);