]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /* |
2 | * kgdb.h: Defines and declarations for serial line source level | |
3 | * remote debugging of the Linux kernel using gdb. | |
4 | * | |
5 | * PPC Mods (C) 1998 Michael Tesch ([email protected]) | |
6 | * | |
7 | * Copyright (C) 1995 David S. Miller ([email protected]) | |
8 | */ | |
9 | #ifdef __KERNEL__ | |
10 | #ifndef _PPC_KGDB_H | |
11 | #define _PPC_KGDB_H | |
12 | ||
13 | #ifndef __ASSEMBLY__ | |
14 | ||
15 | /* Things specific to the gen550 backend. */ | |
16 | struct uart_port; | |
17 | ||
18 | extern void gen550_progress(char *, unsigned short); | |
19 | extern void gen550_kgdb_map_scc(void); | |
20 | extern void gen550_init(int, struct uart_port *); | |
21 | ||
22 | /* Things specific to the pmac backend. */ | |
23 | extern void zs_kgdb_hook(int tty_num); | |
24 | ||
25 | /* To init the kgdb engine. (called by serial hook)*/ | |
26 | extern void set_debug_traps(void); | |
27 | ||
28 | /* To enter the debugger explicitly. */ | |
29 | extern void breakpoint(void); | |
30 | ||
31 | /* For taking exceptions | |
32 | * these are defined in traps.c | |
33 | */ | |
7b007de8 | 34 | extern int (*debugger)(struct pt_regs *regs); |
1da177e4 LT |
35 | extern int (*debugger_bpt)(struct pt_regs *regs); |
36 | extern int (*debugger_sstep)(struct pt_regs *regs); | |
37 | extern int (*debugger_iabr_match)(struct pt_regs *regs); | |
38 | extern int (*debugger_dabr_match)(struct pt_regs *regs); | |
39 | extern void (*debugger_fault_handler)(struct pt_regs *regs); | |
40 | ||
41 | /* What we bring to the party */ | |
42 | int kgdb_bpt(struct pt_regs *regs); | |
43 | int kgdb_sstep(struct pt_regs *regs); | |
44 | void kgdb(struct pt_regs *regs); | |
45 | int kgdb_iabr_match(struct pt_regs *regs); | |
46 | int kgdb_dabr_match(struct pt_regs *regs); | |
47 | ||
48 | /* | |
49 | * external low-level support routines (ie macserial.c) | |
50 | */ | |
51 | extern void kgdb_interruptible(int); /* control interrupts from serial */ | |
52 | extern void putDebugChar(char); /* write a single character */ | |
53 | extern char getDebugChar(void); /* read and return a single char */ | |
54 | ||
55 | #endif /* !(__ASSEMBLY__) */ | |
56 | #endif /* !(_PPC_KGDB_H) */ | |
57 | #endif /* __KERNEL__ */ |