summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAshok Raj <ashok.raj@intel.com>2006-03-23 10:59:57 (GMT)
committerLinus Torvalds <torvalds@g5.osdl.org>2006-03-23 15:38:07 (GMT)
commitbdaff4a331db46f3bd953f413316c4603c4004b4 (patch)
treea0c379bb38725c912ae674866e5db1b5d7e44d50
parentaeefc956d5d8f8402216a5447bd72ade9eb37eff (diff)
downloadlinux-bdaff4a331db46f3bd953f413316c4603c4004b4.tar.xz
[PATCH] x86 topology: don;t create a control file for BSP that cannot be removed
Don't create "online" control file for BSP (i386/x86_64) since its not removable. We originally added this to support ppc64 if the kernel has support but BIOS indicated no offline support, we just didnt create online files for them. We used the same method in ia64 as well, if we have a cpu taking platform interrupts but cannot be removed if those interrupts cannot be re-targeted to another cpu. Signed-off-by: Ashok Raj <ashok.raj@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--arch/i386/kernel/topology.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/i386/kernel/topology.c b/arch/i386/kernel/topology.c
index 67a0e1b..2963552 100644
--- a/arch/i386/kernel/topology.c
+++ b/arch/i386/kernel/topology.c
@@ -41,6 +41,15 @@ int arch_register_cpu(int num){
parent = &node_devices[node].node;
#endif /* CONFIG_NUMA */
+ /*
+ * CPU0 cannot be offlined due to several
+ * restrictions and assumptions in kernel. This basically
+ * doesnt add a control file, one cannot attempt to offline
+ * BSP.
+ */
+ if (!num)
+ cpu_devices[num].cpu.no_control = 1;
+
return register_cpu(&cpu_devices[num].cpu, num, parent);
}