aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/cpu/common.c
diff options
context:
space:
mode:
authorBrian Gerst <brgerst@gmail.com>2009-01-21 17:26:05 +0900
committerTejun Heo <tj@kernel.org>2009-01-21 17:26:05 +0900
commit0dd76d736eeb3e0ef86c5b103b47ae0e15edebad (patch)
tree1ab75fceefae986c80dbe1e86a7975df3fb5d9fd /arch/x86/kernel/cpu/common.c
parentx86: fix percpu_write with 64-bit constants (diff)
downloadlinux-dev-0dd76d736eeb3e0ef86c5b103b47ae0e15edebad.tar.xz
linux-dev-0dd76d736eeb3e0ef86c5b103b47ae0e15edebad.zip
x86: set %fs to __KERNEL_PERCPU unconditionally for x86_32
Impact: cleanup %fs is currently set to __KERNEL_DS at boot, and conditionally switched to __KERNEL_PERCPU for secondary cpus. Instead, initialize GDT_ENTRY_PERCPU to the same attributes as GDT_ENTRY_KERNEL_DS and set %fs to __KERNEL_PERCPU unconditionally. Signed-off-by: Brian Gerst <brgerst@gmail.com> Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'arch/x86/kernel/cpu/common.c')
-rw-r--r--arch/x86/kernel/cpu/common.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
index a8f0dedcb0cc..fbebbcec001b 100644
--- a/arch/x86/kernel/cpu/common.c
+++ b/arch/x86/kernel/cpu/common.c
@@ -111,7 +111,7 @@ DEFINE_PER_CPU_PAGE_ALIGNED(struct gdt_page, gdt_page) = { .gdt = {
[GDT_ENTRY_APMBIOS_BASE+2] = { { { 0x0000ffff, 0x00409200 } } },
[GDT_ENTRY_ESPFIX_SS] = { { { 0x00000000, 0x00c09200 } } },
- [GDT_ENTRY_PERCPU] = { { { 0x00000000, 0x00000000 } } },
+ [GDT_ENTRY_PERCPU] = { { { 0x0000ffff, 0x00cf9200 } } },
#endif
} };
EXPORT_PER_CPU_SYMBOL_GPL(gdt_page);