home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-ppc / kgdb.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  1.7 KB  |  58 lines

  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 (tesch@cs.wisc.edu)
  6.  *
  7.  * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
  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.  */
  34. extern int (*debugger)(struct pt_regs *regs);
  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__ */
  58.