[PATCH 08/12] x86: Don't assume boot cpu is #0

From: Brian Gerst
Date: Mon Jan 26 2009 - 01:18:04 EST


Impact: minor cleanup

Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx>
---
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 36c2e81..be77f1a 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

--
1.6.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/