Lines Matching refs:ks
515 static int kgdb_reenter_check(struct kgdb_state *ks) in kgdb_reenter_check() argument
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()
571 static int kgdb_cpu_enter(struct kgdb_state *ks, struct pt_regs *regs, in kgdb_cpu_enter() argument
582 kgdb_info[ks->cpu].enter_kgdb++; in kgdb_cpu_enter()
583 kgdb_info[ks->cpu].exception_state |= exception_state; in kgdb_cpu_enter()
601 cpu = ks->cpu; in kgdb_cpu_enter()
686 if (kgdb_skipexception(ks->ex_vector, ks->linux_regs)) in kgdb_cpu_enter()
704 if (ks->send_ready) in kgdb_cpu_enter()
705 atomic_set(ks->send_ready, 1); in kgdb_cpu_enter()
739 error = kdb_stub(ks); in kgdb_cpu_enter()
767 error = gdb_serial_stub(ks); in kgdb_cpu_enter()
839 struct kgdb_state *ks = &kgdb_var; in kgdb_handle_exception() local
849 memset(ks, 0, sizeof(struct kgdb_state)); in kgdb_handle_exception()
850 ks->cpu = raw_smp_processor_id(); in kgdb_handle_exception()
851 ks->ex_vector = evector; in kgdb_handle_exception()
852 ks->signo = signo; in kgdb_handle_exception()
853 ks->err_code = ecode; in kgdb_handle_exception()
854 ks->linux_regs = regs; in kgdb_handle_exception()
856 if (kgdb_reenter_check(ks)) in kgdb_handle_exception()
858 if (kgdb_info[ks->cpu].enter_kgdb != 0) in kgdb_handle_exception()
861 return kgdb_cpu_enter(ks, regs, DCPU_WANT_MASTER); in kgdb_handle_exception()
882 struct kgdb_state *ks = &kgdb_var; in kgdb_nmicallback() local
886 memset(ks, 0, sizeof(struct kgdb_state)); in kgdb_nmicallback()
887 ks->cpu = cpu; in kgdb_nmicallback()
888 ks->linux_regs = regs; in kgdb_nmicallback()
890 if (kgdb_info[ks->cpu].enter_kgdb == 0 && in kgdb_nmicallback()
892 kgdb_cpu_enter(ks, regs, DCPU_IS_SLAVE); in kgdb_nmicallback()
909 struct kgdb_state *ks = &kgdb_var; in kgdb_nmicallin() local
911 memset(ks, 0, sizeof(struct kgdb_state)); in kgdb_nmicallin()
912 ks->cpu = cpu; in kgdb_nmicallin()
913 ks->ex_vector = trapnr; in kgdb_nmicallin()
914 ks->signo = SIGTRAP; in kgdb_nmicallin()
915 ks->err_code = err_code; in kgdb_nmicallin()
916 ks->linux_regs = regs; in kgdb_nmicallin()
917 ks->send_ready = send_ready; in kgdb_nmicallin()
918 kgdb_cpu_enter(ks, regs, DCPU_WANT_MASTER); in kgdb_nmicallin()