diff options
author | Siddha, Suresh B <suresh.b.siddha@intel.com> | 2006-12-06 20:14:10 -0500 |
---|---|---|
committer | Andi Kleen <andi@basil.nowhere.org> | 2006-12-06 20:14:10 -0500 |
commit | fd6d7d26897dec834d0b9fbdc59819b0332a1257 (patch) | |
tree | a4bb5a7c9160c70c7763640dbb11082b3cefcbe5 /arch/i386/kernel | |
parent | 274e1bbdeeaf16e71418f11f5f305ab26061f2c2 (diff) |
[PATCH] i386: introduce the mechanism of disabling cpu hotplug control
Add 'enable_cpu_hotplug' flag and when cleared, the hotplug control file
("online") will not be added under /sys/devices/system/cpu/cpuX/
Next patch doing PCI quirks will use this.
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Cc: Andi Kleen <ak@suse.de>
Cc: "Li, Shaohua" <shaohua.li@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Diffstat (limited to 'arch/i386/kernel')
-rw-r--r-- | arch/i386/kernel/topology.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/i386/kernel/topology.c b/arch/i386/kernel/topology.c index 07d6da36a825..844c08fdb225 100644 --- a/arch/i386/kernel/topology.c +++ b/arch/i386/kernel/topology.c | |||
@@ -40,14 +40,18 @@ int arch_register_cpu(int num) | |||
40 | * restrictions and assumptions in kernel. This basically | 40 | * restrictions and assumptions in kernel. This basically |
41 | * doesnt add a control file, one cannot attempt to offline | 41 | * doesnt add a control file, one cannot attempt to offline |
42 | * BSP. | 42 | * BSP. |
43 | * | ||
44 | * Also certain PCI quirks require not to enable hotplug control | ||
45 | * for all CPU's. | ||
43 | */ | 46 | */ |
44 | if (!num) | 47 | if (!num || !enable_cpu_hotplug) |
45 | cpu_devices[num].cpu.no_control = 1; | 48 | cpu_devices[num].cpu.no_control = 1; |
46 | 49 | ||
47 | return register_cpu(&cpu_devices[num].cpu, num); | 50 | return register_cpu(&cpu_devices[num].cpu, num); |
48 | } | 51 | } |
49 | 52 | ||
50 | #ifdef CONFIG_HOTPLUG_CPU | 53 | #ifdef CONFIG_HOTPLUG_CPU |
54 | int enable_cpu_hotplug = 1; | ||
51 | 55 | ||
52 | void arch_unregister_cpu(int num) { | 56 | void arch_unregister_cpu(int num) { |
53 | return unregister_cpu(&cpu_devices[num].cpu); | 57 | return unregister_cpu(&cpu_devices[num].cpu); |