aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorBrian Gerst <brgerst@gmail.com>2009-01-26 22:56:48 -0500
committerTejun Heo <tj@kernel.org>2009-01-26 22:56:48 -0500
commit1688401a0fddba8991aa5c0943b8ae9583998d60 (patch)
tree226ea8e760d37fc9812cc0f12855d43ba1b11427 /arch
parent996db817e3d1529d711e55b938d72ae4060b39fd (diff)
x86: move this_cpu_offset
Impact: Small cleanup Define BOOT_PERCPU_OFFSET and use it for this_cpu_offset and __per_cpu_offset initializers. Signed-off-by: Brian Gerst <brgerst@gmail.com> Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/kernel/setup_percpu.c15
-rw-r--r--arch/x86/kernel/smpcommon.c7
2 files changed, 10 insertions, 12 deletions
diff --git a/arch/x86/kernel/setup_percpu.c b/arch/x86/kernel/setup_percpu.c
index f30ff691c34d..36c2e81dfc3c 100644
--- a/arch/x86/kernel/setup_percpu.c
+++ b/arch/x86/kernel/setup_percpu.c
@@ -25,15 +25,20 @@
25DEFINE_PER_CPU(int, cpu_number); 25DEFINE_PER_CPU(int, cpu_number);
26EXPORT_PER_CPU_SYMBOL(cpu_number); 26EXPORT_PER_CPU_SYMBOL(cpu_number);
27 27
28#ifdef CONFIG_X86_64
29#define BOOT_PERCPU_OFFSET ((unsigned long)__per_cpu_load)
30#else
31#define BOOT_PERCPU_OFFSET 0
32#endif
33
34DEFINE_PER_CPU(unsigned long, this_cpu_off) = BOOT_PERCPU_OFFSET;
35EXPORT_PER_CPU_SYMBOL(this_cpu_off);
36
28#ifdef CONFIG_HAVE_SETUP_PER_CPU_AREA 37#ifdef CONFIG_HAVE_SETUP_PER_CPU_AREA
29 38
30#ifdef CONFIG_X86_64
31unsigned long __per_cpu_offset[NR_CPUS] __read_mostly = { 39unsigned long __per_cpu_offset[NR_CPUS] __read_mostly = {
32 [0] = (unsigned long)__per_cpu_load, 40 [0] = BOOT_PERCPU_OFFSET,
33}; 41};
34#else
35unsigned long __per_cpu_offset[NR_CPUS] __read_mostly;
36#endif
37EXPORT_SYMBOL(__per_cpu_offset); 42EXPORT_SYMBOL(__per_cpu_offset);
38 43
39/* 44/*
diff --git a/arch/x86/kernel/smpcommon.c b/arch/x86/kernel/smpcommon.c
index add36b4e37c9..5ec29a1a8465 100644
--- a/arch/x86/kernel/smpcommon.c
+++ b/arch/x86/kernel/smpcommon.c
@@ -5,13 +5,6 @@
5#include <asm/smp.h> 5#include <asm/smp.h>
6#include <asm/sections.h> 6#include <asm/sections.h>
7 7
8#ifdef CONFIG_X86_64
9DEFINE_PER_CPU(unsigned long, this_cpu_off) = (unsigned long)__per_cpu_load;
10#else
11DEFINE_PER_CPU(unsigned long, this_cpu_off);
12#endif
13EXPORT_PER_CPU_SYMBOL(this_cpu_off);
14
15#ifdef CONFIG_X86_32 8#ifdef CONFIG_X86_32
16/* 9/*
17 * Initialize the CPU's GDT. This is either the boot CPU doing itself 10 * Initialize the CPU's GDT. This is either the boot CPU doing itself