text: #ifndef _I386_KDEBUG_H
  #define _I386_KDEBUG_H 1
  
  /*
   * Aug-05 2004 Ported by Prasanna S Panchamukhi <prasanna@in.ibm.com>
   * from x86_64 architecture.
   */
  #include <linux/notifier.h>
  
  struct pt_regs;
  
  struct die_args {
  	struct pt_regs *regs;
  	const char *str;
  	long err;
  	int trapnr;
  	int signr;
  };
  
  extern int register_die_notifier(struct notifier_block *);
  extern int unregister_die_notifier(struct notifier_block *);
  extern int register_page_fault_notifier(struct notifier_block *);
  extern int unregister_page_fault_notifier(struct notifier_block *);
  extern struct atomic_notifier_head i386die_chain;
  
  
  /* Grossly misnamed. */
  enum die_val {
  	DIE_OOPS = 1,
  	DIE_INT3,
  	DIE_DEBUG,
  	DIE_PANIC,
  	DIE_NMI,
  	DIE_DIE,
  	DIE_NMIWATCHDOG,
  	DIE_KERNELDEBUG,
  	DIE_TRAP,
  	DIE_GPF,
  	DIE_CALL,
  	DIE_NMI_IPI,
  	DIE_PAGE_FAULT,
  };
  
  static inline int notify_die(enum die_val val, const char *str,
  			struct pt_regs *regs, long err, int trap, int sig)
  {
  	struct die_args args = {
  		.regs = regs,
  		.str = str,
  		.err = err,
  		.trapnr = trap,
  		.signr = sig
  	};
  	return atomic_notifier_call_chain(&i386die_chain, val, &args);
  }
  
  #endif
  