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-x86_64 / nmi.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  1.1 KB  |  60 lines

  1. /*
  2.  *  linux/include/asm-i386/nmi.h
  3.  */
  4. #ifndef ASM_NMI_H
  5. #define ASM_NMI_H
  6.  
  7. #include <linux/pm.h>
  8.  
  9. struct pt_regs;
  10.  
  11. typedef int (*nmi_callback_t)(struct pt_regs * regs, int cpu);
  12.  
  13. /** 
  14.  * set_nmi_callback
  15.  *
  16.  * Set a handler for an NMI. Only one handler may be
  17.  * set. Return 1 if the NMI was handled.
  18.  */
  19. void set_nmi_callback(nmi_callback_t callback);
  20.  
  21. /** 
  22.  * unset_nmi_callback
  23.  *
  24.  * Remove the handler previously set.
  25.  */
  26. void unset_nmi_callback(void);
  27.  
  28. #ifdef CONFIG_PM
  29.  
  30. /** Replace the PM callback routine for NMI. */
  31. struct pm_dev * set_nmi_pm_callback(pm_callback callback);
  32.  
  33. /** Unset the PM callback routine back to the default. */
  34. void unset_nmi_pm_callback(struct pm_dev * dev);
  35.  
  36. #else
  37.  
  38. static inline struct pm_dev * set_nmi_pm_callback(pm_callback callback)
  39. {
  40.     return 0;
  41.  
  42. static inline void unset_nmi_pm_callback(struct pm_dev * dev)
  43. {
  44. }
  45.  
  46. #endif /* CONFIG_PM */
  47.  
  48. extern void default_do_nmi(struct pt_regs *);
  49. extern void die_nmi(char *str, struct pt_regs *regs);
  50.  
  51. #define get_nmi_reason() inb(0x61)
  52.  
  53. extern int panic_on_timeout;
  54. extern int unknown_nmi_panic;
  55.  
  56. extern int check_nmi_watchdog(void);
  57.  
  58. #endif /* ASM_NMI_H */
  59.