Lines Matching refs:breakinfo
201 } breakinfo[HBP_NUM]; variable
214 if (!breakinfo[breakno].enabled) in kgdb_correct_hw_break()
217 set_debugreg(breakinfo[breakno].addr, breakno); in kgdb_correct_hw_break()
219 breakinfo[breakno].len, in kgdb_correct_hw_break()
220 breakinfo[breakno].type); in kgdb_correct_hw_break()
224 bp = *per_cpu_ptr(breakinfo[breakno].pev, cpu); in kgdb_correct_hw_break()
228 bp->attr.bp_addr = breakinfo[breakno].addr; in kgdb_correct_hw_break()
229 bp->attr.bp_len = breakinfo[breakno].len; in kgdb_correct_hw_break()
230 bp->attr.bp_type = breakinfo[breakno].type; in kgdb_correct_hw_break()
231 info->address = breakinfo[breakno].addr; in kgdb_correct_hw_break()
232 info->len = breakinfo[breakno].len; in kgdb_correct_hw_break()
233 info->type = breakinfo[breakno].type; in kgdb_correct_hw_break()
253 pevent = per_cpu_ptr(breakinfo[breakno].pev, cpu); in hw_break_reserve_slot()
265 pevent = per_cpu_ptr(breakinfo[breakno].pev, cpu); in hw_break_reserve_slot()
280 pevent = per_cpu_ptr(breakinfo[breakno].pev, cpu); in hw_break_release_slot()
297 if (breakinfo[i].addr == addr && breakinfo[i].enabled) in kgdb_remove_hw_break()
306 breakinfo[i].enabled = 0; in kgdb_remove_hw_break()
318 if (!breakinfo[i].enabled) in kgdb_remove_all_hw_break()
320 bp = *per_cpu_ptr(breakinfo[i].pev, cpu); in kgdb_remove_all_hw_break()
327 early_dr7 &= ~encode_dr7(i, breakinfo[i].len, in kgdb_remove_all_hw_break()
328 breakinfo[i].type); in kgdb_remove_all_hw_break()
331 breakinfo[i].addr); in kgdb_remove_all_hw_break()
332 breakinfo[i].enabled = 0; in kgdb_remove_all_hw_break()
342 if (!breakinfo[i].enabled) in kgdb_set_hw_break()
350 breakinfo[i].type = X86_BREAKPOINT_EXECUTE; in kgdb_set_hw_break()
353 breakinfo[i].type = X86_BREAKPOINT_WRITE; in kgdb_set_hw_break()
356 breakinfo[i].type = X86_BREAKPOINT_RW; in kgdb_set_hw_break()
363 breakinfo[i].len = X86_BREAKPOINT_LEN_1; in kgdb_set_hw_break()
366 breakinfo[i].len = X86_BREAKPOINT_LEN_2; in kgdb_set_hw_break()
369 breakinfo[i].len = X86_BREAKPOINT_LEN_4; in kgdb_set_hw_break()
373 breakinfo[i].len = X86_BREAKPOINT_LEN_8; in kgdb_set_hw_break()
379 breakinfo[i].addr = addr; in kgdb_set_hw_break()
381 breakinfo[i].addr = 0; in kgdb_set_hw_break()
384 breakinfo[i].enabled = 1; in kgdb_set_hw_break()
406 if (!breakinfo[i].enabled) in kgdb_disable_hw_debug()
409 early_dr7 &= ~encode_dr7(i, breakinfo[i].len, in kgdb_disable_hw_debug()
410 breakinfo[i].type); in kgdb_disable_hw_debug()
413 bp = *per_cpu_ptr(breakinfo[i].pev, cpu); in kgdb_disable_hw_debug()
648 if (breakinfo[i].enabled) in kgdb_hw_overflow_handler()
669 if (breakinfo[i].pev) in kgdb_arch_late()
671 breakinfo[i].pev = register_wide_hw_breakpoint(&attr, NULL, NULL); in kgdb_arch_late()
672 if (IS_ERR((void * __force)breakinfo[i].pev)) { in kgdb_arch_late()
675 breakinfo[i].pev = NULL; in kgdb_arch_late()
680 pevent = per_cpu_ptr(breakinfo[i].pev, cpu); in kgdb_arch_late()
701 if (breakinfo[i].pev) { in kgdb_arch_exit()
702 unregister_wide_hw_breakpoint(breakinfo[i].pev); in kgdb_arch_exit()
703 breakinfo[i].pev = NULL; in kgdb_arch_exit()