IPKDB(9) | NetBSD Kernel Developer's Manual | IPKDB(9) |
void
ipkdb_init(void);
void
ipkdb_connect(int when);
int
ipkdbcmds(void);
void
ipkdbinit(void);
void
ipkdb_trap(void);
int
ipkdb_poll(void);
int
ipkdbif_init(struct ipkdb_if *kip);
int
ipkdbfbyte(u_char *c);
int
ipkdbsbyte(u_char *c, int i);
During system bootstrap, machine-dependent code must invoke ipkdb_init(). If the kernel is booted with RB_KDB set in boothowto (see boothowto(9)), ipkdb(4) is enabled by invoking ipkdb_connect(), setting the when argument to 0.
ipkdbcmds() is invoked by machine-dependent code when the trap mechanism determines that the debugger should be entered, i.e., on a single step or breakpoint interrupt from kernel code. The trapping mechanism should already have stored the registers into the global area ipkdbregs. The layout of this area must be the same as that expected by gdb(1). Valid return values are:
Additional fields that may be set are:
September 4, 2009 | NetBSD 5.99 |