]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - include/asm-x86/nmi.h
x86, NMI watchdog: setup before enabling NMI watchdog
[net-next-2.6.git] / include / asm-x86 / nmi.h
index 1348e542360f54aed60d954cfdcb0d42f91d23b8..02bfc81cbd629c34ab3b5b4bdf1fda32ca69b8db 100644 (file)
@@ -34,6 +34,7 @@ extern void stop_apic_nmi_watchdog(void *);
 extern void disable_timer_nmi_watchdog(void);
 extern void enable_timer_nmi_watchdog(void);
 extern int nmi_watchdog_tick(struct pt_regs *regs, unsigned reason);
+extern void cpu_nmi_set_wd_enabled(void);
 
 extern atomic_t nmi_active;
 extern unsigned int nmi_watchdog;
@@ -56,6 +57,19 @@ static inline void localise_nmi_watchdog(void)
        if (nmi_watchdog == NMI_IO_APIC)
                nmi_watchdog = NMI_LOCAL_APIC;
 }
+
+/* check if nmi_watchdog is active (ie was specified at boot) */
+static inline int nmi_watchdog_active(void)
+{
+       /*
+        * actually it should be:
+        *      return (nmi_watchdog == NMI_LOCAL_APIC ||
+        *              nmi_watchdog == NMI_IO_APIC)
+        * but since they are power of two we could use a
+        * cheaper way --cvg
+        */
+       return nmi_watchdog & 0x3;
+}
 #endif
 
 void lapic_watchdog_stop(void);