Changeset View
Changeset View
Standalone View
Standalone View
sys/sys/kdb.h
Show All 25 Lines | |||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
* | * | ||||
* $FreeBSD$ | * $FreeBSD$ | ||||
*/ | */ | ||||
#ifndef _SYS_KDB_H_ | #ifndef _SYS_KDB_H_ | ||||
#define _SYS_KDB_H_ | #define _SYS_KDB_H_ | ||||
#include <sys/linker_set.h> | |||||
#include <machine/setjmp.h> | #include <machine/setjmp.h> | ||||
struct pcb; | struct pcb; | ||||
struct thread; | struct thread; | ||||
struct trapframe; | struct trapframe; | ||||
typedef int dbbe_init_f(void); | typedef int dbbe_init_f(void); | ||||
typedef void dbbe_trace_f(void); | typedef void dbbe_trace_f(void); | ||||
Show All 13 Lines | #define KDB_BACKEND(name, init, trace, trace_thread, trap) \ | ||||
static struct kdb_dbbe name##_dbbe = { \ | static struct kdb_dbbe name##_dbbe = { \ | ||||
.dbbe_name = #name, \ | .dbbe_name = #name, \ | ||||
.dbbe_init = init, \ | .dbbe_init = init, \ | ||||
.dbbe_trace = trace, \ | .dbbe_trace = trace, \ | ||||
.dbbe_trace_thread = trace_thread, \ | .dbbe_trace_thread = trace_thread, \ | ||||
.dbbe_trap = trap \ | .dbbe_trap = trap \ | ||||
}; \ | }; \ | ||||
DATA_SET(kdb_dbbe_set, name##_dbbe) | DATA_SET(kdb_dbbe_set, name##_dbbe) | ||||
SET_DECLARE(kdb_dbbe_set, struct kdb_dbbe); | |||||
extern u_char kdb_active; /* Non-zero while in debugger. */ | extern u_char kdb_active; /* Non-zero while in debugger. */ | ||||
extern int debugger_on_trap; /* enter the debugger on trap. */ | extern int debugger_on_trap; /* enter the debugger on trap. */ | ||||
extern struct kdb_dbbe *kdb_dbbe; /* Default debugger backend or NULL. */ | extern struct kdb_dbbe *kdb_dbbe; /* Default debugger backend or NULL. */ | ||||
extern struct trapframe *kdb_frame; /* Frame to kdb_trap(). */ | extern struct trapframe *kdb_frame; /* Frame to kdb_trap(). */ | ||||
extern struct pcb *kdb_thrctx; /* Current context. */ | extern struct pcb *kdb_thrctx; /* Current context. */ | ||||
extern struct thread *kdb_thread; /* Current thread. */ | extern struct thread *kdb_thread; /* Current thread. */ | ||||
▲ Show 20 Lines • Show All 57 Lines • Show Last 20 Lines |