Commit 3e4ff115 authored by Don Zickus's avatar Don Zickus Committed by Linus Torvalds

[PATCH] x86_64: nmi watchdog header cleanup

Misc header cleanup for nmi watchdog.
Signed-off-by: default avatarDon Zickus <dzickus@redhat.com>
Signed-off-by: default avatarAndi Kleen <ak@suse.de>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 14118c3c
...@@ -36,6 +36,7 @@ ...@@ -36,6 +36,7 @@
#include <asm/arch_hooks.h> #include <asm/arch_hooks.h>
#include <asm/hpet.h> #include <asm/hpet.h>
#include <asm/i8253.h> #include <asm/i8253.h>
#include <asm/nmi.h>
#include <mach_apic.h> #include <mach_apic.h>
#include <mach_apicdef.h> #include <mach_apicdef.h>
......
...@@ -38,6 +38,7 @@ ...@@ -38,6 +38,7 @@
#include <asm/desc.h> #include <asm/desc.h>
#include <asm/timer.h> #include <asm/timer.h>
#include <asm/i8259.h> #include <asm/i8259.h>
#include <asm/nmi.h>
#include <mach_apic.h> #include <mach_apic.h>
......
...@@ -14,20 +14,15 @@ ...@@ -14,20 +14,15 @@
*/ */
#include <linux/config.h> #include <linux/config.h>
#include <linux/mm.h>
#include <linux/delay.h> #include <linux/delay.h>
#include <linux/bootmem.h>
#include <linux/smp_lock.h>
#include <linux/interrupt.h> #include <linux/interrupt.h>
#include <linux/mc146818rtc.h>
#include <linux/kernel_stat.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/nmi.h> #include <linux/nmi.h>
#include <linux/sysdev.h> #include <linux/sysdev.h>
#include <linux/sysctl.h> #include <linux/sysctl.h>
#include <linux/percpu.h>
#include <asm/smp.h> #include <asm/smp.h>
#include <asm/div64.h>
#include <asm/nmi.h> #include <asm/nmi.h>
#include "mach_traps.h" #include "mach_traps.h"
......
...@@ -52,6 +52,7 @@ ...@@ -52,6 +52,7 @@
#include <asm/tlbflush.h> #include <asm/tlbflush.h>
#include <asm/desc.h> #include <asm/desc.h>
#include <asm/arch_hooks.h> #include <asm/arch_hooks.h>
#include <asm/nmi.h>
#include <mach_apic.h> #include <mach_apic.h>
#include <mach_wakecpu.h> #include <mach_wakecpu.h>
......
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
#include <linux/oprofile.h> #include <linux/oprofile.h>
#include <asm/ptrace.h> #include <asm/ptrace.h>
#include <asm/msr.h> #include <asm/msr.h>
#include <asm/nmi.h>
#include "op_x86_model.h" #include "op_x86_model.h"
#include "op_counter.h" #include "op_counter.h"
......
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
#include <asm/ptrace.h> #include <asm/ptrace.h>
#include <asm/fixmap.h> #include <asm/fixmap.h>
#include <asm/apic.h> #include <asm/apic.h>
#include <asm/nmi.h>
#include "op_x86_model.h" #include "op_x86_model.h"
#include "op_counter.h" #include "op_counter.h"
......
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
#include <asm/ptrace.h> #include <asm/ptrace.h>
#include <asm/msr.h> #include <asm/msr.h>
#include <asm/apic.h> #include <asm/apic.h>
#include <asm/nmi.h>
#include "op_x86_model.h" #include "op_x86_model.h"
#include "op_counter.h" #include "op_counter.h"
......
...@@ -41,6 +41,7 @@ ...@@ -41,6 +41,7 @@
#include <asm/mach_apic.h> #include <asm/mach_apic.h>
#include <asm/acpi.h> #include <asm/acpi.h>
#include <asm/dma.h> #include <asm/dma.h>
#include <asm/nmi.h>
#define __apicdebuginit __init #define __apicdebuginit __init
......
...@@ -15,11 +15,7 @@ ...@@ -15,11 +15,7 @@
#include <linux/config.h> #include <linux/config.h>
#include <linux/mm.h> #include <linux/mm.h>
#include <linux/delay.h> #include <linux/delay.h>
#include <linux/bootmem.h>
#include <linux/smp_lock.h>
#include <linux/interrupt.h> #include <linux/interrupt.h>
#include <linux/mc146818rtc.h>
#include <linux/kernel_stat.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/sysdev.h> #include <linux/sysdev.h>
#include <linux/nmi.h> #include <linux/nmi.h>
...@@ -27,13 +23,9 @@ ...@@ -27,13 +23,9 @@
#include <linux/kprobes.h> #include <linux/kprobes.h>
#include <asm/smp.h> #include <asm/smp.h>
#include <asm/mtrr.h>
#include <asm/mpspec.h>
#include <asm/nmi.h> #include <asm/nmi.h>
#include <asm/msr.h>
#include <asm/proto.h> #include <asm/proto.h>
#include <asm/kdebug.h> #include <asm/kdebug.h>
#include <asm/local.h>
#include <asm/mce.h> #include <asm/mce.h>
/* /*
......
...@@ -111,24 +111,12 @@ extern void init_apic_mappings (void); ...@@ -111,24 +111,12 @@ extern void init_apic_mappings (void);
extern void smp_local_timer_interrupt (struct pt_regs * regs); extern void smp_local_timer_interrupt (struct pt_regs * regs);
extern void setup_boot_APIC_clock (void); extern void setup_boot_APIC_clock (void);
extern void setup_secondary_APIC_clock (void); extern void setup_secondary_APIC_clock (void);
extern void setup_apic_nmi_watchdog (void);
extern int reserve_lapic_nmi(void);
extern void release_lapic_nmi(void);
extern void disable_timer_nmi_watchdog(void);
extern void enable_timer_nmi_watchdog(void);
extern void nmi_watchdog_tick (struct pt_regs * regs);
extern int APIC_init_uniprocessor (void); extern int APIC_init_uniprocessor (void);
extern void disable_APIC_timer(void); extern void disable_APIC_timer(void);
extern void enable_APIC_timer(void); extern void enable_APIC_timer(void);
extern void enable_NMI_through_LVT0 (void * dummy); extern void enable_NMI_through_LVT0 (void * dummy);
extern unsigned int nmi_watchdog;
#define NMI_NONE 0
#define NMI_IO_APIC 1
#define NMI_LOCAL_APIC 2
#define NMI_INVALID 3
extern int disable_timer_pin_1; extern int disable_timer_pin_1;
void smp_send_timer_broadcast_ipi(struct pt_regs *regs); void smp_send_timer_broadcast_ipi(struct pt_regs *regs);
......
...@@ -5,24 +5,38 @@ ...@@ -5,24 +5,38 @@
#define ASM_NMI_H #define ASM_NMI_H
#include <linux/pm.h> #include <linux/pm.h>
struct pt_regs; struct pt_regs;
typedef int (*nmi_callback_t)(struct pt_regs * regs, int cpu); typedef int (*nmi_callback_t)(struct pt_regs * regs, int cpu);
/** /**
* set_nmi_callback * set_nmi_callback
* *
* Set a handler for an NMI. Only one handler may be * Set a handler for an NMI. Only one handler may be
* set. Return 1 if the NMI was handled. * set. Return 1 if the NMI was handled.
*/ */
void set_nmi_callback(nmi_callback_t callback); void set_nmi_callback(nmi_callback_t callback);
/** /**
* unset_nmi_callback * unset_nmi_callback
* *
* Remove the handler previously set. * Remove the handler previously set.
*/ */
void unset_nmi_callback(void); void unset_nmi_callback(void);
extern void setup_apic_nmi_watchdog (void);
extern int reserve_lapic_nmi(void);
extern void release_lapic_nmi(void);
extern void disable_timer_nmi_watchdog(void);
extern void enable_timer_nmi_watchdog(void);
extern void nmi_watchdog_tick (struct pt_regs * regs);
extern unsigned int nmi_watchdog;
#define NMI_DEFAULT -1
#define NMI_NONE 0
#define NMI_IO_APIC 1
#define NMI_LOCAL_APIC 2
#define NMI_INVALID 3
#endif /* ASM_NMI_H */ #endif /* ASM_NMI_H */
...@@ -79,27 +79,11 @@ extern void init_apic_mappings (void); ...@@ -79,27 +79,11 @@ extern void init_apic_mappings (void);
extern void smp_local_timer_interrupt (struct pt_regs * regs); extern void smp_local_timer_interrupt (struct pt_regs * regs);
extern void setup_boot_APIC_clock (void); extern void setup_boot_APIC_clock (void);
extern void setup_secondary_APIC_clock (void); extern void setup_secondary_APIC_clock (void);
extern void setup_apic_nmi_watchdog (void);
extern int reserve_lapic_nmi(void);
extern void release_lapic_nmi(void);
extern void disable_timer_nmi_watchdog(void);
extern void enable_timer_nmi_watchdog(void);
extern void nmi_watchdog_tick (struct pt_regs * regs, unsigned reason);
extern int APIC_init_uniprocessor (void); extern int APIC_init_uniprocessor (void);
extern void disable_APIC_timer(void); extern void disable_APIC_timer(void);
extern void enable_APIC_timer(void); extern void enable_APIC_timer(void);
extern void clustered_apic_check(void); extern void clustered_apic_check(void);
extern void nmi_watchdog_default(void);
extern int setup_nmi_watchdog(char *);
extern unsigned int nmi_watchdog;
#define NMI_DEFAULT -1
#define NMI_NONE 0
#define NMI_IO_APIC 1
#define NMI_LOCAL_APIC 2
#define NMI_INVALID 3
extern int disable_timer_pin_1; extern int disable_timer_pin_1;
extern void setup_threshold_lvt(unsigned long lvt_off); extern void setup_threshold_lvt(unsigned long lvt_off);
......
...@@ -5,26 +5,27 @@ ...@@ -5,26 +5,27 @@
#define ASM_NMI_H #define ASM_NMI_H
#include <linux/pm.h> #include <linux/pm.h>
#include <asm/io.h>
struct pt_regs; struct pt_regs;
typedef int (*nmi_callback_t)(struct pt_regs * regs, int cpu); typedef int (*nmi_callback_t)(struct pt_regs * regs, int cpu);
/** /**
* set_nmi_callback * set_nmi_callback
* *
* Set a handler for an NMI. Only one handler may be * Set a handler for an NMI. Only one handler may be
* set. Return 1 if the NMI was handled. * set. Return 1 if the NMI was handled.
*/ */
void set_nmi_callback(nmi_callback_t callback); void set_nmi_callback(nmi_callback_t callback);
/** /**
* unset_nmi_callback * unset_nmi_callback
* *
* Remove the handler previously set. * Remove the handler previously set.
*/ */
void unset_nmi_callback(void); void unset_nmi_callback(void);
#ifdef CONFIG_PM #ifdef CONFIG_PM
/** Replace the PM callback routine for NMI. */ /** Replace the PM callback routine for NMI. */
...@@ -56,4 +57,21 @@ extern int unknown_nmi_panic; ...@@ -56,4 +57,21 @@ extern int unknown_nmi_panic;
extern int check_nmi_watchdog(void); extern int check_nmi_watchdog(void);
extern void setup_apic_nmi_watchdog (void);
extern int reserve_lapic_nmi(void);
extern void release_lapic_nmi(void);
extern void disable_timer_nmi_watchdog(void);
extern void enable_timer_nmi_watchdog(void);
extern void nmi_watchdog_tick (struct pt_regs * regs, unsigned reason);
extern void nmi_watchdog_default(void);
extern int setup_nmi_watchdog(char *);
extern unsigned int nmi_watchdog;
#define NMI_DEFAULT -1
#define NMI_NONE 0
#define NMI_IO_APIC 1
#define NMI_LOCAL_APIC 2
#define NMI_INVALID 3
#endif /* ASM_NMI_H */ #endif /* ASM_NMI_H */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment