aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-x86_64/apic.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-x86_64/apic.h')
-rw-r--r--include/asm-x86_64/apic.h27
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
51static __inline__ void apic_wait_icr_idle(void) 50static __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
56static inline void ack_APIC_irq(void) 56static inline void ack_APIC_irq(void)
@@ -80,30 +80,23 @@ extern void init_apic_mappings (void);
80extern void smp_local_timer_interrupt (struct pt_regs * regs); 80extern void smp_local_timer_interrupt (struct pt_regs * regs);
81extern void setup_boot_APIC_clock (void); 81extern void setup_boot_APIC_clock (void);
82extern void setup_secondary_APIC_clock (void); 82extern void setup_secondary_APIC_clock (void);
83extern void setup_apic_nmi_watchdog (void);
84extern int reserve_lapic_nmi(void);
85extern void release_lapic_nmi(void);
86extern void disable_timer_nmi_watchdog(void);
87extern void enable_timer_nmi_watchdog(void);
88extern void nmi_watchdog_tick (struct pt_regs * regs, unsigned reason);
89extern int APIC_init_uniprocessor (void); 83extern int APIC_init_uniprocessor (void);
90extern void disable_APIC_timer(void); 84extern void disable_APIC_timer(void);
91extern void enable_APIC_timer(void); 85extern void enable_APIC_timer(void);
92extern void clustered_apic_check(void); 86extern void clustered_apic_check(void);
93 87
94extern void nmi_watchdog_default(void); 88extern void setup_APIC_extened_lvt(unsigned char lvt_off, unsigned char vector,
95extern int setup_nmi_watchdog(char *); 89 unsigned char msg_type, unsigned char mask);
96 90
97extern 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
104extern int disable_timer_pin_1; 98extern int disable_timer_pin_1;
105 99
106extern void setup_threshold_lvt(unsigned long lvt_off);
107 100
108void smp_send_timer_broadcast_ipi(void); 101void smp_send_timer_broadcast_ipi(void);
109void switch_APIC_timer_to_ipi(void *cpumask); 102void switch_APIC_timer_to_ipi(void *cpumask);