]> bbs.cooldavid.org Git - net-next-2.6.git/blame - include/linux/nmi.h
tg3: Update version to 3.112
[net-next-2.6.git] / include / linux / nmi.h
CommitLineData
1da177e4
LT
1/*
2 * linux/include/linux/nmi.h
3 */
4#ifndef LINUX_NMI_H
5#define LINUX_NMI_H
6
9938406a 7#include <linux/sched.h>
1da177e4
LT
8#include <asm/irq.h>
9
10/**
11 * touch_nmi_watchdog - restart NMI watchdog timeout.
12 *
13 * If the architecture supports the NMI watchdog, touch_nmi_watchdog()
14 * may be used to reset the timeout - for code which intentionally
15 * disables interrupts for a long time. This call is stateless.
16 */
17#ifdef ARCH_HAS_NMI_WATCHDOG
bb81a09e 18#include <asm/nmi.h>
1da177e4 19extern void touch_nmi_watchdog(void);
5d0e600d
IM
20extern void acpi_nmi_disable(void);
21extern void acpi_nmi_enable(void);
1da177e4 22#else
5d0e600d
IM
23static inline void touch_nmi_watchdog(void)
24{
25 touch_softlockup_watchdog();
26}
27static inline void acpi_nmi_disable(void) { }
28static inline void acpi_nmi_enable(void) { }
1da177e4
LT
29#endif
30
47cab6a7
IM
31/*
32 * Create trigger_all_cpu_backtrace() out of the arch-provided
33 * base function. Return whether such support was available,
34 * to allow calling code to fall back to some other mechanism:
35 */
36#ifdef arch_trigger_all_cpu_backtrace
37static inline bool trigger_all_cpu_backtrace(void)
38{
39 arch_trigger_all_cpu_backtrace();
40
41 return true;
42}
43#else
44static inline bool trigger_all_cpu_backtrace(void)
45{
46 return false;
47}
bb81a09e
AM
48#endif
49
1da177e4 50#endif