x86, 32-bit: trim memory not covered by wb mtrrs
[deliverable/linux.git] / arch / x86 / kernel / topology.c
index c25f23eb397cceebe5e73afc62191815fce53455..a0d1719bda790cb23dbed9d776327b00d0c1c934 100644 (file)
@@ -31,9 +31,9 @@
 #include <linux/mmzone.h>
 #include <asm/cpu.h>
 
-static struct i386_cpu cpu_devices[NR_CPUS];
+static DEFINE_PER_CPU(struct x86_cpu, cpu_devices);
 
-int arch_register_cpu(int num)
+int __cpuinit arch_register_cpu(int num)
 {
        /*
         * CPU0 cannot be offlined due to several
@@ -44,17 +44,18 @@ int arch_register_cpu(int num)
         * Also certain PCI quirks require not to enable hotplug control
         * for all CPU's.
         */
-       if (num && enable_cpu_hotplug)
-               cpu_devices[num].cpu.hotpluggable = 1;
+#ifdef CONFIG_HOTPLUG_CPU
+       if (num)
+               per_cpu(cpu_devices, num).cpu.hotpluggable = 1;
+#endif
 
-       return register_cpu(&cpu_devices[num].cpu, num);
+       return register_cpu(&per_cpu(cpu_devices, num).cpu, num);
 }
 
 #ifdef CONFIG_HOTPLUG_CPU
-int enable_cpu_hotplug = 1;
-
-void arch_unregister_cpu(int num) {
-       return unregister_cpu(&cpu_devices[num].cpu);
+void arch_unregister_cpu(int num)
+{
+       return unregister_cpu(&per_cpu(cpu_devices, num).cpu);
 }
 EXPORT_SYMBOL(arch_register_cpu);
 EXPORT_SYMBOL(arch_unregister_cpu);
This page took 0.0252 seconds and 5 git commands to generate.