diff --git a/arch/x86/kernel/topology.c b/arch/x86/kernel/topology.c index 7e16d675eb850530a72796adba4aca48806d3001..a0d1719bda790cb23dbed9d776327b00d0c1c934 100644 --- a/arch/x86/kernel/topology.c +++ b/arch/x86/kernel/topology.c @@ -31,7 +31,7 @@ #include #include -static struct i386_cpu cpu_devices[NR_CPUS]; +static DEFINE_PER_CPU(struct x86_cpu, cpu_devices); int __cpuinit arch_register_cpu(int num) { @@ -46,16 +46,16 @@ int __cpuinit arch_register_cpu(int num) */ #ifdef CONFIG_HOTPLUG_CPU if (num) - cpu_devices[num].cpu.hotpluggable = 1; + 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 void arch_unregister_cpu(int num) { - return unregister_cpu(&cpu_devices[num].cpu); + return unregister_cpu(&per_cpu(cpu_devices, num).cpu); } EXPORT_SYMBOL(arch_register_cpu); EXPORT_SYMBOL(arch_unregister_cpu); diff --git a/include/asm-x86/cpu.h b/include/asm-x86/cpu.h index b1bc7b1b64b0e304d13f907e4d5cd607417bdfee..85ece5f10e9ee9b69807e32091114cedb32298fc 100644 --- a/include/asm-x86/cpu.h +++ b/include/asm-x86/cpu.h @@ -7,7 +7,7 @@ #include #include -struct i386_cpu { +struct x86_cpu { struct cpu cpu; }; extern int arch_register_cpu(int num);