]> git.neil.brown.name Git - history.git/commitdiff
[PATCH] NUMA-Q subarch directory
authorMartin J. Bligh <mbligh@aracnet.com>
Mon, 23 Dec 2002 02:19:28 +0000 (18:19 -0800)
committerPatrick Mochel <mochel@osdl.org>
Mon, 23 Dec 2002 02:19:28 +0000 (18:19 -0800)
This adds a shell of a NUMA-Q subarch directory, and copies
mach-default/mach_apic.h into it.  I then edited the default version to
remove the NUMA-Q stuff, and the NUMA-Q version to remove the default
stuff.

arch/i386/Makefile
include/asm-i386/mach-default/mach_apic.h
include/asm-i386/mach-numaq/mach_apic.h [new file with mode: 0644]

index 74c59b47f3b9fea39bedad3bba189fcec8c4664e..383bc1dfec295cd3aa026dccb436da0dd519af05 100644 (file)
@@ -55,6 +55,10 @@ mcore-y  := mach-default
 mflags-$(CONFIG_VISWS) := -Iinclude/asm-i386/mach-visws
 mcore-$(CONFIG_VISWS)  := mach-visws
 
+#NUMAQ subarch support
+mflags-$(CONFIG_X86_NUMAQ) := -Iinclude/asm-i386/mach-numaq
+mcore-$(CONFIG_X86_NUMAQ)  := mach-default
+
 #add other subarch support here
 
 #default subarch .h files
index f7be859e761efdc74f9be00d2b780c3e3041137a..9b1e59a7df5e47aca4d087ae79cc56f4119c2f47 100644 (file)
@@ -12,7 +12,7 @@ static inline unsigned long calculate_ldr(unsigned long old)
 #define APIC_DFR_VALUE (APIC_DFR_FLAT)
 
 #ifdef CONFIG_SMP
- #define TARGET_CPUS (clustered_apic_mode ? 0xf : cpu_online_map)
+ #define TARGET_CPUS (cpu_online_map)
 #else
  #define TARGET_CPUS 0x01
 #endif
@@ -27,15 +27,12 @@ static inline void summit_check(char *oem, char *productid)
 static inline void clustered_apic_check(void)
 {
        printk("Enabling APIC mode:  %s.  Using %d I/O APICs\n",
-               (clustered_apic_mode ? "NUMA-Q" : "Flat"), nr_ioapics);
+                                       "Flat", nr_ioapics);
 }
 
 static inline int cpu_present_to_apicid(int mps_cpu)
 {
-       if (clustered_apic_mode)
-               return ( ((mps_cpu/4)*16) + (1<<(mps_cpu%4)) );
-       else
-               return mps_cpu;
+       return  mps_cpu;
 }
 
 static inline unsigned long apicid_to_cpu_present(int apicid)
diff --git a/include/asm-i386/mach-numaq/mach_apic.h b/include/asm-i386/mach-numaq/mach_apic.h
new file mode 100644 (file)
index 0000000..77c7317
--- /dev/null
@@ -0,0 +1,39 @@
+#ifndef __ASM_MACH_APIC_H
+#define __ASM_MACH_APIC_H
+
+static inline unsigned long calculate_ldr(unsigned long old)
+{
+       unsigned long id;
+
+       id = 1UL << smp_processor_id();
+       return ((old & ~APIC_LDR_MASK) | SET_APIC_LOGICAL_ID(id));
+}
+
+#define APIC_DFR_VALUE (APIC_DFR_FLAT)
+
+#define TARGET_CPUS (0xf)
+
+#define APIC_BROADCAST_ID      0x0F
+#define check_apicid_used(bitmap, apicid) (bitmap & (1 << apicid))
+
+static inline void summit_check(char *oem, char *productid) 
+{
+}
+
+static inline void clustered_apic_check(void)
+{
+       printk("Enabling APIC mode:  %s.  Using %d I/O APICs\n",
+               "NUMA-Q", nr_ioapics);
+}
+
+static inline int cpu_present_to_apicid(int mps_cpu)
+{
+       return ( ((mps_cpu/4)*16) + (1<<(mps_cpu%4)) );
+}
+
+static inline unsigned long apicid_to_cpu_present(int apicid)
+{
+       return (1ul << apicid);
+}
+
+#endif /* __ASM_MACH_APIC_H */