12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- #ifndef __KGDB_H__
- #define __KGDB_H__
- #include <asm/ptrace.h>
- #define KGDBERR_BADPARAMS 1
- #define KGDBERR_NOTHEXDIG 2
- #define KGDBERR_MEMFAULT 3
- #define KGDBERR_NOSPACE 4
- #define KGDBERR_ALIGNFAULT 5
- #define KGDBDATA_MAXREGS 8
- #define KGDBDATA_MAXPRIV 8
- #define KGDBEXIT_TYPEMASK 0xff
- #define KGDBEXIT_KILL 0
- #define KGDBEXIT_CONTINUE 1
- #define KGDBEXIT_SINGLE 2
- #define KGDBEXIT_WITHADDR 0x100
- typedef
- struct {
- int num;
- unsigned long val;
- }
- kgdb_reg;
- typedef
- struct {
- int sigval;
- int extype;
- unsigned long exaddr;
- int nregs;
- kgdb_reg regs[KGDBDATA_MAXREGS];
- unsigned long private[KGDBDATA_MAXPRIV];
- }
- kgdb_data;
- /* these functions are provided by the generic kgdb support */
- extern void kgdb_init(void);
- extern void kgdb_error(int);
- extern int kgdb_output_string(const char *, unsigned int);
- extern void breakpoint(void);
- /* these functions are provided by the platform specific kgdb support */
- extern void kgdb_flush_cache_range(void *, void *);
- extern void kgdb_flush_cache_all(void);
- extern int kgdb_setjmp(long *);
- extern void kgdb_longjmp(long *, int);
- extern void kgdb_enter(struct pt_regs *, kgdb_data *);
- extern void kgdb_exit(struct pt_regs *, kgdb_data *);
- extern int kgdb_getregs(struct pt_regs *, char *, int);
- extern void kgdb_putreg(struct pt_regs *, int, char *, int);
- extern void kgdb_putregs(struct pt_regs *, char *, int);
- extern int kgdb_trap(struct pt_regs *);
- void kgdb_breakpoint(int argc, char *const argv[]);
- /* these functions are provided by the platform serial driver */
- extern void kgdb_serial_init(void);
- extern int getDebugChar(void);
- extern void putDebugChar(int);
- extern void putDebugStr(const char *);
- extern void kgdb_interruptible(int);
- /* this is referenced in the trap handler for the platform */
- extern int (*debugger_exception_handler)(struct pt_regs *);
- #endif /* __KGDB_H__ */
|