diff options
author | Brian Gerst <brgerst@gmail.com> | 2009-01-27 12:56:48 +0900 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2009-01-27 12:56:48 +0900 |
commit | 34019be1cd2941128b5de6d7c0fbdb51f967d268 (patch) | |
tree | ff7dab4188cb42306bef7640fe9a947765896de1 | |
parent | 1688401a0fddba8991aa5c0943b8ae9583998d60 (diff) | |
download | linux-34019be1cd2941128b5de6d7c0fbdb51f967d268.tar.gz linux-34019be1cd2941128b5de6d7c0fbdb51f967d268.tar.bz2 linux-34019be1cd2941128b5de6d7c0fbdb51f967d268.zip |
x86: don't assume boot cpu is #0
Impact: minor cleanup
Signed-off-by: Brian Gerst <brgerst@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
-rw-r--r-- | arch/x86/kernel/setup_percpu.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/x86/kernel/setup_percpu.c b/arch/x86/kernel/setup_percpu.c index 36c2e81dfc3c..be77f1a1231d 100644 --- a/arch/x86/kernel/setup_percpu.c +++ b/arch/x86/kernel/setup_percpu.c @@ -15,6 +15,7 @@ #include <asm/highmem.h> #include <asm/proto.h> #include <asm/cpumask.h> +#include <asm/cpu.h> #ifdef CONFIG_DEBUG_PER_CPU_MAPS # define DBG(x...) printk(KERN_DEBUG x) @@ -37,7 +38,7 @@ EXPORT_PER_CPU_SYMBOL(this_cpu_off); #ifdef CONFIG_HAVE_SETUP_PER_CPU_AREA unsigned long __per_cpu_offset[NR_CPUS] __read_mostly = { - [0] = BOOT_PERCPU_OFFSET, + [0 ... NR_CPUS-1] = BOOT_PERCPU_OFFSET, }; EXPORT_SYMBOL(__per_cpu_offset); @@ -101,10 +102,10 @@ void __init setup_per_cpu_areas(void) early_per_cpu_map(x86_cpu_to_node_map, cpu); #endif /* - * Up to this point, CPU0 has been using .data.init - * area. Reload %gs offset for CPU0. + * Up to this point, the boot CPU has been using .data.init + * area. Reload %gs offset for the boot CPU. */ - if (cpu == 0) + if (cpu == boot_cpu_id) load_gs_base(cpu); #endif |