aboutsummaryrefslogtreecommitdiffstats
path: root/xen-2.4.16/include/asm-i386/apic.h
diff options
context:
space:
mode:
Diffstat (limited to 'xen-2.4.16/include/asm-i386/apic.h')
-rw-r--r--xen-2.4.16/include/asm-i386/apic.h35
1 files changed, 30 insertions, 5 deletions
diff --git a/xen-2.4.16/include/asm-i386/apic.h b/xen-2.4.16/include/asm-i386/apic.h
index 1f5670943b..574cc23203 100644
--- a/xen-2.4.16/include/asm-i386/apic.h
+++ b/xen-2.4.16/include/asm-i386/apic.h
@@ -1,9 +1,12 @@
#ifndef __ASM_APIC_H
#define __ASM_APIC_H
-#include <asm/system.h>
-#include <asm/ptrace.h>
+//#include <linux/config.h>
+//#include <linux/pm.h>
#include <asm/apicdef.h>
+#include <asm/system.h>
+
+#ifdef CONFIG_X86_LOCAL_APIC
#define APIC_DEBUG 0
@@ -37,9 +40,15 @@ static __inline__ void apic_wait_icr_idle(void)
do { } while ( apic_read( APIC_ICR ) & APIC_ICR_BUSY );
}
-#define FORCE_READ_AROUND_WRITE 0
-#define apic_read_around(x)
-#define apic_write_around(x,y) apic_write((x),(y))
+#ifdef CONFIG_X86_GOOD_APIC
+# define FORCE_READ_AROUND_WRITE 0
+# define apic_read_around(x)
+# define apic_write_around(x,y) apic_write((x),(y))
+#else
+# define FORCE_READ_AROUND_WRITE 1
+# define apic_read_around(x) apic_read(x)
+# define apic_write_around(x,y) apic_write_atomic((x),(y))
+#endif
static inline void ack_APIC_irq(void)
{
@@ -64,8 +73,24 @@ extern void init_bsp_APIC (void);
extern void setup_local_APIC (void);
extern void init_apic_mappings (void);
extern void setup_APIC_clocks (void);
+extern void setup_apic_nmi_watchdog (void);
+extern inline void nmi_watchdog_tick (struct pt_regs * regs);
extern int APIC_init_uniprocessor (void);
+extern void disable_APIC_timer(void);
+extern void enable_APIC_timer(void);
+
+//extern struct pm_dev *apic_pm_register(pm_dev_t, unsigned long, pm_callback);
+//extern void apic_pm_unregister(struct pm_dev*);
extern unsigned int apic_timer_irqs [NR_CPUS];
+extern int check_nmi_watchdog (void);
+
+extern unsigned int nmi_watchdog;
+#define NMI_NONE 0
+#define NMI_IO_APIC 1
+#define NMI_LOCAL_APIC 2
+#define NMI_INVALID 3
+
+#endif /* CONFIG_X86_LOCAL_APIC */
#endif /* __ASM_APIC_H */