patch-2.2.0-pre9 linux/include/asm-i386/smp.h
Next file: linux/include/asm-i386/string.h
Previous file: linux/include/asm-i386/lithium.h
Back to the patch index
Back to the overall index
- Lines: 50
- Date:
Wed Jan 20 16:21:43 1999
- Orig file:
v2.2.0-pre8/linux/include/asm-i386/smp.h
- Orig date:
Thu Dec 31 10:29:02 1998
diff -u --recursive --new-file v2.2.0-pre8/linux/include/asm-i386/smp.h linux/include/asm-i386/smp.h
@@ -1,12 +1,20 @@
#ifndef __ASM_SMP_H
#define __ASM_SMP_H
-#ifdef __SMP__
+/*
+ * We need the APIC definitions automatically as part of 'smp.h'
+ */
+#include <linux/config.h>
+#ifdef CONFIG_X86_LOCAL_APIC
#ifndef ASSEMBLY
-
+#include <asm/fixmap.h>
#include <asm/i82489.h>
#include <asm/bitops.h>
-#include <asm/fixmap.h>
+#endif
+#endif
+
+#ifdef __SMP__
+#ifndef ASSEMBLY
#include <linux/tasks.h>
#include <linux/ptrace.h>
@@ -186,25 +194,6 @@
extern void smp_callin(void);
extern void smp_boot_cpus(void);
extern void smp_store_cpu_info(int id); /* Store per CPU info (like the initial udelay numbers */
-
-/*
- * APIC handlers: Note according to the Intel specification update
- * you should put reads between APIC writes.
- * Intel Pentium processor specification update [11AP, pg 64]
- * "Back to Back Assertions of HOLD May Cause Lost APIC Write Cycle"
- */
-
-#define APIC_BASE (fix_to_virt(FIX_APIC_BASE))
-
-extern __inline void apic_write(unsigned long reg, unsigned long v)
-{
- *((volatile unsigned long *)(APIC_BASE+reg))=v;
-}
-
-extern __inline unsigned long apic_read(unsigned long reg)
-{
- return *((volatile unsigned long *)(APIC_BASE+reg));
-}
/*
* This function is needed by all SMP systems. It must _always_ be valid
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov