aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYinghai Lu <yhlu.kernel@gmail.com>2008-09-04 23:09:05 -0400
committerIngo Molnar <mingo@elte.hu>2008-09-05 03:40:50 -0400
commitfab334c1d5f24d23d12f98ad652d399279cd03ce (patch)
tree8533620fceedb5cbabdcc9c28e2e810ff12cc4db
parent1ba76586f778be327e452180d8378e40ee70f066 (diff)
x86: cpu/common*.c, merge switch_to_new_gdt()
Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r--arch/x86/kernel/cpu/common.c2
-rw-r--r--arch/x86/kernel/cpu/common_64.c3
2 files changed, 5 insertions, 0 deletions
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
index f44678db1616..43d5287bb2a4 100644
--- a/arch/x86/kernel/cpu/common.c
+++ b/arch/x86/kernel/cpu/common.c
@@ -215,7 +215,9 @@ void switch_to_new_gdt(void)
215 gdt_descr.address = (long)get_cpu_gdt_table(smp_processor_id()); 215 gdt_descr.address = (long)get_cpu_gdt_table(smp_processor_id());
216 gdt_descr.size = GDT_SIZE - 1; 216 gdt_descr.size = GDT_SIZE - 1;
217 load_gdt(&gdt_descr); 217 load_gdt(&gdt_descr);
218#ifdef CONFIG_X86_32
218 asm("mov %0, %%fs" : : "r" (__KERNEL_PERCPU) : "memory"); 219 asm("mov %0, %%fs" : : "r" (__KERNEL_PERCPU) : "memory");
220#endif
219} 221}
220 222
221static struct cpu_dev *cpu_devs[X86_VENDOR_NUM] = {}; 223static struct cpu_dev *cpu_devs[X86_VENDOR_NUM] = {};
diff --git a/arch/x86/kernel/cpu/common_64.c b/arch/x86/kernel/cpu/common_64.c
index 2bd0ed5abb0a..d7b996518f86 100644
--- a/arch/x86/kernel/cpu/common_64.c
+++ b/arch/x86/kernel/cpu/common_64.c
@@ -214,6 +214,9 @@ void switch_to_new_gdt(void)
214 gdt_descr.address = (long)get_cpu_gdt_table(smp_processor_id()); 214 gdt_descr.address = (long)get_cpu_gdt_table(smp_processor_id());
215 gdt_descr.size = GDT_SIZE - 1; 215 gdt_descr.size = GDT_SIZE - 1;
216 load_gdt(&gdt_descr); 216 load_gdt(&gdt_descr);
217#ifdef CONFIG_X86_32
218 asm("mov %0, %%fs" : : "r" (__KERNEL_PERCPU) : "memory");
219#endif
217} 220}
218 221
219static struct cpu_dev *cpu_devs[X86_VENDOR_NUM] = {}; 222static struct cpu_dev *cpu_devs[X86_VENDOR_NUM] = {};