kdebug.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #ifndef _ASM_X86_KDEBUG_H
  2. #define _ASM_X86_KDEBUG_H
  3. #include <linux/notifier.h>
  4. struct pt_regs;
  5. /* Grossly misnamed. */
  6. enum die_val {
  7. DIE_OOPS = 1,
  8. DIE_INT3,
  9. DIE_DEBUG,
  10. DIE_PANIC,
  11. DIE_NMI,
  12. DIE_DIE,
  13. DIE_NMIWATCHDOG,
  14. DIE_KERNELDEBUG,
  15. DIE_TRAP,
  16. DIE_GPF,
  17. DIE_CALL,
  18. DIE_NMI_IPI,
  19. DIE_PAGE_FAULT,
  20. DIE_NMIUNKNOWN,
  21. };
  22. extern void printk_address(unsigned long address, int reliable);
  23. extern void die(const char *, struct pt_regs *,long);
  24. extern int __must_check __die(const char *, struct pt_regs *, long);
  25. extern void show_registers(struct pt_regs *regs);
  26. extern void __show_registers(struct pt_regs *, int all);
  27. extern void show_trace(struct task_struct *t, struct pt_regs *regs,
  28. unsigned long *sp, unsigned long bp);
  29. extern void __show_regs(struct pt_regs *regs);
  30. extern void show_regs(struct pt_regs *regs);
  31. extern unsigned long oops_begin(void);
  32. extern void oops_end(unsigned long, struct pt_regs *, int signr);
  33. struct pf_handler {
  34. struct hlist_node hlist;
  35. int (*handler)(struct pt_regs *regs, unsigned long error_code,
  36. unsigned long address);
  37. };
  38. extern void register_page_fault_handler(struct pf_handler *new_pfh);
  39. extern void unregister_page_fault_handler(struct pf_handler *old_pfh);
  40. #endif