From e0e4c7b32745500813b0044fc4dcc30fdf7c4a35 Mon Sep 17 00:00:00 2001 From: "Siddha, Suresh B" Date: Thu, 7 Dec 2006 02:14:10 +0100 Subject: [PATCH] --- yaml --- r: 43097 b: refs/heads/master c: fd6d7d26897dec834d0b9fbdc59819b0332a1257 h: refs/heads/master i: 43095: 8a5e3150f55f1c187311e533b0bb3ba7ab737c7c v: v3 --- [refs] | 2 +- trunk/arch/i386/kernel/topology.c | 6 +++++- trunk/include/asm-i386/cpu.h | 3 +++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 294cf646ca13..95fc43e93e82 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 274e1bbdeeaf16e71418f11f5f305ab26061f2c2 +refs/heads/master: fd6d7d26897dec834d0b9fbdc59819b0332a1257 diff --git a/trunk/arch/i386/kernel/topology.c b/trunk/arch/i386/kernel/topology.c index 07d6da36a825..844c08fdb225 100644 --- a/trunk/arch/i386/kernel/topology.c +++ b/trunk/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/trunk/include/asm-i386/cpu.h b/trunk/include/asm-i386/cpu.h index b1bc7b1b64b0..9d914e1e4aad 100644 --- a/trunk/include/asm-i386/cpu.h +++ b/trunk/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);