kdebug.h 985 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #ifndef _I386_KDEBUG_H
  2. #define _I386_KDEBUG_H 1
  3. /*
  4. * Aug-05 2004 Ported by Prasanna S Panchamukhi <prasanna@in.ibm.com>
  5. * from x86_64 architecture.
  6. */
  7. #include <linux/notifier.h>
  8. struct pt_regs;
  9. struct die_args {
  10. struct pt_regs *regs;
  11. const char *str;
  12. long err;
  13. int trapnr;
  14. int signr;
  15. };
  16. extern int register_die_notifier(struct notifier_block *);
  17. extern int unregister_die_notifier(struct notifier_block *);
  18. extern struct atomic_notifier_head i386die_chain;
  19. /* Grossly misnamed. */
  20. enum die_val {
  21. DIE_OOPS = 1,
  22. DIE_INT3,
  23. DIE_DEBUG,
  24. DIE_PANIC,
  25. DIE_NMI,
  26. DIE_DIE,
  27. DIE_NMIWATCHDOG,
  28. DIE_KERNELDEBUG,
  29. DIE_TRAP,
  30. DIE_GPF,
  31. DIE_CALL,
  32. DIE_NMI_IPI,
  33. DIE_PAGE_FAULT,
  34. };
  35. static inline int notify_die(enum die_val val, const char *str,
  36. struct pt_regs *regs, long err, int trap, int sig)
  37. {
  38. struct die_args args = {
  39. .regs = regs,
  40. .str = str,
  41. .err = err,
  42. .trapnr = trap,
  43. .signr = sig
  44. };
  45. return atomic_notifier_call_chain(&i386die_chain, val, &args);
  46. }
  47. #endif