diff options
Diffstat (limited to 'include/asm-x86_64/apic.h')
-rw-r--r-- | include/asm-x86_64/apic.h | 27 |
1 files changed, 10 insertions, 17 deletions
diff --git a/include/asm-x86_64/apic.h b/include/asm-x86_64/apic.h index bdbd8935612..9c96a0a8d1b 100644 --- a/include/asm-x86_64/apic.h +++ b/include/asm-x86_64/apic.h | |||
@@ -1,7 +1,6 @@ | |||
1 | #ifndef __ASM_APIC_H | 1 | #ifndef __ASM_APIC_H |
2 | #define __ASM_APIC_H | 2 | #define __ASM_APIC_H |
3 | 3 | ||
4 | #include <linux/config.h> | ||
5 | #include <linux/pm.h> | 4 | #include <linux/pm.h> |
6 | #include <asm/fixmap.h> | 5 | #include <asm/fixmap.h> |
7 | #include <asm/apicdef.h> | 6 | #include <asm/apicdef.h> |
@@ -50,7 +49,8 @@ static __inline unsigned int apic_read(unsigned long reg) | |||
50 | 49 | ||
51 | static __inline__ void apic_wait_icr_idle(void) | 50 | static __inline__ void apic_wait_icr_idle(void) |
52 | { | 51 | { |
53 | while ( apic_read( APIC_ICR ) & APIC_ICR_BUSY ); | 52 | while (apic_read( APIC_ICR ) & APIC_ICR_BUSY) |
53 | cpu_relax(); | ||
54 | } | 54 | } |
55 | 55 | ||
56 | static inline void ack_APIC_irq(void) | 56 | static inline void ack_APIC_irq(void) |
@@ -80,30 +80,23 @@ extern void init_apic_mappings (void); | |||
80 | extern void smp_local_timer_interrupt (struct pt_regs * regs); | 80 | extern void smp_local_timer_interrupt (struct pt_regs * regs); |
81 | extern void setup_boot_APIC_clock (void); | 81 | extern void setup_boot_APIC_clock (void); |
82 | extern void setup_secondary_APIC_clock (void); | 82 | extern void setup_secondary_APIC_clock (void); |
83 | extern void setup_apic_nmi_watchdog (void); | ||
84 | extern int reserve_lapic_nmi(void); | ||
85 | extern void release_lapic_nmi(void); | ||
86 | extern void disable_timer_nmi_watchdog(void); | ||
87 | extern void enable_timer_nmi_watchdog(void); | ||
88 | extern void nmi_watchdog_tick (struct pt_regs * regs, unsigned reason); | ||
89 | extern int APIC_init_uniprocessor (void); | 83 | extern int APIC_init_uniprocessor (void); |
90 | extern void disable_APIC_timer(void); | 84 | extern void disable_APIC_timer(void); |
91 | extern void enable_APIC_timer(void); | 85 | extern void enable_APIC_timer(void); |
92 | extern void clustered_apic_check(void); | 86 | extern void clustered_apic_check(void); |
93 | 87 | ||
94 | extern void nmi_watchdog_default(void); | 88 | extern void setup_APIC_extened_lvt(unsigned char lvt_off, unsigned char vector, |
95 | extern int setup_nmi_watchdog(char *); | 89 | unsigned char msg_type, unsigned char mask); |
96 | 90 | ||
97 | extern unsigned int nmi_watchdog; | 91 | #define K8_APIC_EXT_LVT_BASE 0x500 |
98 | #define NMI_DEFAULT -1 | 92 | #define K8_APIC_EXT_INT_MSG_FIX 0x0 |
99 | #define NMI_NONE 0 | 93 | #define K8_APIC_EXT_INT_MSG_SMI 0x2 |
100 | #define NMI_IO_APIC 1 | 94 | #define K8_APIC_EXT_INT_MSG_NMI 0x4 |
101 | #define NMI_LOCAL_APIC 2 | 95 | #define K8_APIC_EXT_INT_MSG_EXT 0x7 |
102 | #define NMI_INVALID 3 | 96 | #define K8_APIC_EXT_LVT_ENTRY_THRESHOLD 0 |
103 | 97 | ||
104 | extern int disable_timer_pin_1; | 98 | extern int disable_timer_pin_1; |
105 | 99 | ||
106 | extern void setup_threshold_lvt(unsigned long lvt_off); | ||
107 | 100 | ||
108 | void smp_send_timer_broadcast_ipi(void); | 101 | void smp_send_timer_broadcast_ipi(void); |
109 | void switch_APIC_timer_to_ipi(void *cpumask); | 102 | void switch_APIC_timer_to_ipi(void *cpumask); |