Scroll to navigation

STRUCT KGDB_ARCH(9) Kernel Debugger Internals STRUCT KGDB_ARCH(9)

NAME

struct_kgdb_arch - Describe architecture specific values.

SYNOPSIS

struct kgdb_arch {

unsigned char gdb_bpt_instr[BREAK_INSTR_SIZE];
unsigned long flags;
int (* set_breakpoint) (unsigned long, char *);
int (* remove_breakpoint) (unsigned long, char *);
int (* set_hw_breakpoint) (unsigned long, int, enum kgdb_bptype);
int (* remove_hw_breakpoint) (unsigned long, int, enum kgdb_bptype);
void (* disable_hw_break) (struct pt_regs *regs);
void (* remove_all_hw_break) (void);
void (* correct_hw_break) (void);
void (* enable_nmi) (bool on); };

MEMBERS

unsigned char gdb_bpt_instr[BREAK_INSTR_SIZE]

The instruction to trigger a breakpoint.

unsigned long flags

Flags for the breakpoint, currently just KGDB_HW_BREAKPOINT.

int (*)(unsigned long, char *) set_breakpoint

Allow an architecture to specify how to set a software breakpoint.

int (*)(unsigned long, char *) remove_breakpoint

Allow an architecture to specify how to remove a software breakpoint.

int (*)(unsigned long, int, enum kgdb_bptype) set_hw_breakpoint

Allow an architecture to specify how to set a hardware breakpoint.

int (*)(unsigned long, int, enum kgdb_bptype) remove_hw_breakpoint

Allow an architecture to specify how to remove a hardware breakpoint.

void (*)(struct pt_regs *regs) disable_hw_break

Allow an architecture to specify how to disable hardware breakpoints for a single cpu.

void (*)(void) remove_all_hw_break

Allow an architecture to specify how to remove all hardware breakpoints.

void (*)(void) correct_hw_break

Allow an architecture to specify how to correct the hardware debug registers.

void (*)(bool on) enable_nmi

Manage NMI-triggered entry to KGDB

AUTHOR

Jason Wessel <jason.wessel@windriver.com>

Author.

COPYRIGHT

June 2017 Kernel Hackers Manual 4.11