From: Ingo Molnar Date: Tue, 8 Jul 2008 10:17:08 +0000 (+0200) Subject: Merge branch 'x86/nmi' into x86/devel X-Git-Tag: v2.6.27-rc1~1106^2~245 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=4b62ac9a2b859f932afd5625362c927111b7dd9b;p=linux-2.6-omap-h63xx.git Merge branch 'x86/nmi' into x86/devel Conflicts: arch/x86/kernel/nmi.c arch/x86/kernel/nmi_32.c Signed-off-by: Ingo Molnar --- 4b62ac9a2b859f932afd5625362c927111b7dd9b diff --cc arch/x86/kernel/nmi.c index d62f3b66b52,fd680c73ba7..9ebf71323c9 --- a/arch/x86/kernel/nmi.c +++ b/arch/x86/kernel/nmi.c @@@ -17,15 -20,16 +20,20 @@@ #include #include #include + #include #include #include + #include #include + #include +#include +#include +#include +#include #include + #include + #include #include @@@ -134,10 -175,11 +179,9 @@@ int __init check_nmi_watchdog(void kfree(prev_nmi_count); return 0; - error: -#ifdef CONFIG_X86_32 - timer_ack = !cpu_has_tsc; -#endif + if (nmi_watchdog == NMI_IO_APIC && !timer_through_8259) + disable_8259A_irq(0); - return -1; } diff --cc include/asm-x86/nmi.h index 05449ef830a,470bb4aacb7..f0e435dd38f --- a/include/asm-x86/nmi.h +++ b/include/asm-x86/nmi.h @@@ -15,14 -15,33 +15,12 @@@ */ int do_nmi_callback(struct pt_regs *regs, int cpu); -#ifdef CONFIG_PM - -/** Replace the PM callback routine for NMI. */ -struct pm_dev *set_nmi_pm_callback(pm_callback callback); - -/** Unset the PM callback routine back to the default. */ -void unset_nmi_pm_callback(struct pm_dev *dev); - -#else - -static inline struct pm_dev *set_nmi_pm_callback(pm_callback callback) -{ - return 0; -} - -static inline void unset_nmi_pm_callback(struct pm_dev *dev) -{ -} - -#endif /* CONFIG_PM */ - #ifdef CONFIG_X86_64 extern void default_do_nmi(struct pt_regs *); - extern void die_nmi(char *str, struct pt_regs *regs, int do_panic); - extern void nmi_watchdog_default(void); - #else - #define nmi_watchdog_default() do {} while (0) #endif + extern void die_nmi(char *str, struct pt_regs *regs, int do_panic); + extern void nmi_watchdog_default(void); extern int check_nmi_watchdog(void); extern int nmi_watchdog_enabled; extern int avail_to_resrv_perfctr_nmi_bit(unsigned int);