diff options
author | Siddha, Suresh B <suresh.b.siddha@intel.com> | 2006-12-07 02:14:10 +0100 |
---|---|---|
committer | Andi Kleen <andi@basil.nowhere.org> | 2006-12-07 02:14:10 +0100 |
commit | fd6d7d26897dec834d0b9fbdc59819b0332a1257 (patch) | |
tree | a4bb5a7c9160c70c7763640dbb11082b3cefcbe5 | |
parent | 274e1bbdeeaf16e71418f11f5f305ab26061f2c2 (diff) | |
download | kernel_samsung_espresso10-fd6d7d26897dec834d0b9fbdc59819b0332a1257.zip kernel_samsung_espresso10-fd6d7d26897dec834d0b9fbdc59819b0332a1257.tar.gz kernel_samsung_espresso10-fd6d7d26897dec834d0b9fbdc59819b0332a1257.tar.bz2 |
[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>
-rw-r--r-- | arch/i386/kernel/topology.c | 6 | ||||
-rw-r--r-- | include/asm-i386/cpu.h | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/arch/i386/kernel/topology.c b/arch/i386/kernel/topology.c index 07d6da3..844c08f 100644 --- a/arch/i386/kernel/topology.c +++ b/arch/i386/kernel/topology.c @@ -40,14 +40,18 @@ int arch_register_cpu(int num) * restrictions and assumptions in kernel. This basically * doesnt add a control file, one cannot attempt to offline * BSP. + * + * Also certain PCI quirks require not to enable hotplug control + * for all CPU's. */ - if (!num) + if (!num || !enable_cpu_hotplug) cpu_devices[num].cpu.no_control = 1; return register_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); diff --git a/include/asm-i386/cpu.h b/include/asm-i386/cpu.h index b1bc7b1..9d914e1 100644 --- a/include/asm-i386/cpu.h +++ b/include/asm-i386/cpu.h @@ -13,6 +13,9 @@ struct i386_cpu { extern int arch_register_cpu(int num); #ifdef CONFIG_HOTPLUG_CPU extern void arch_unregister_cpu(int); +extern int enable_cpu_hotplug; +#else +#define enable_cpu_hotplug 0 #endif DECLARE_PER_CPU(int, cpu_state); |