Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v2.6.25 90 lines 2.4 kB view raw
1#ifndef ASM_NMI_H 2#define ASM_NMI_H 3 4#include <linux/pm.h> 5#include <asm/io.h> 6 7/** 8 * do_nmi_callback 9 * 10 * Check to see if a callback exists and execute it. Return 1 11 * if the handler exists and was handled successfully. 12 */ 13int do_nmi_callback(struct pt_regs *regs, int cpu); 14 15#ifdef CONFIG_PM 16 17/** Replace the PM callback routine for NMI. */ 18struct pm_dev * set_nmi_pm_callback(pm_callback callback); 19 20/** Unset the PM callback routine back to the default. */ 21void unset_nmi_pm_callback(struct pm_dev * dev); 22 23#else 24 25static inline struct pm_dev * set_nmi_pm_callback(pm_callback callback) 26{ 27 return 0; 28} 29 30static inline void unset_nmi_pm_callback(struct pm_dev * dev) 31{ 32} 33 34#endif /* CONFIG_PM */ 35 36extern void default_do_nmi(struct pt_regs *); 37extern void die_nmi(char *str, struct pt_regs *regs, int do_panic); 38 39#define get_nmi_reason() inb(0x61) 40 41extern int unknown_nmi_panic; 42extern int nmi_watchdog_enabled; 43 44extern int check_nmi_watchdog(void); 45extern int avail_to_resrv_perfctr_nmi_bit(unsigned int); 46extern int avail_to_resrv_perfctr_nmi(unsigned int); 47extern int reserve_perfctr_nmi(unsigned int); 48extern void release_perfctr_nmi(unsigned int); 49extern int reserve_evntsel_nmi(unsigned int); 50extern void release_evntsel_nmi(unsigned int); 51 52extern void setup_apic_nmi_watchdog (void *); 53extern void stop_apic_nmi_watchdog (void *); 54extern void disable_timer_nmi_watchdog(void); 55extern void enable_timer_nmi_watchdog(void); 56extern int nmi_watchdog_tick (struct pt_regs * regs, unsigned reason); 57 58extern void nmi_watchdog_default(void); 59 60extern atomic_t nmi_active; 61extern unsigned int nmi_watchdog; 62#define NMI_DISABLED -1 63#define NMI_NONE 0 64#define NMI_IO_APIC 1 65#define NMI_LOCAL_APIC 2 66#define NMI_INVALID 3 67#define NMI_DEFAULT NMI_DISABLED 68 69struct ctl_table; 70struct file; 71extern int proc_nmi_enabled(struct ctl_table *, int , struct file *, 72 void __user *, size_t *, loff_t *); 73 74extern int unknown_nmi_panic; 75 76void __trigger_all_cpu_backtrace(void); 77#define trigger_all_cpu_backtrace() __trigger_all_cpu_backtrace() 78 79 80void lapic_watchdog_stop(void); 81int lapic_watchdog_init(unsigned nmi_hz); 82int lapic_wd_event(unsigned nmi_hz); 83unsigned lapic_adjust_nmi_hz(unsigned hz); 84int lapic_watchdog_ok(void); 85void disable_lapic_nmi_watchdog(void); 86void enable_lapic_nmi_watchdog(void); 87void stop_nmi(void); 88void restart_nmi(void); 89 90#endif /* ASM_NMI_H */