diff options
| author | Ingo Molnar <mingo@elte.hu> | 2008-09-05 12:56:57 -0400 | 
|---|---|---|
| committer | Ingo Molnar <mingo@elte.hu> | 2008-09-05 12:56:57 -0400 | 
| commit | 616ad8c44281c0c6711a72b560e01ec335ff27e0 (patch) | |
| tree | 0a20453ffedb09db6fb41a0c2208ccc2c7751d3a /arch/x86/kernel/smpcommon.c | |
| parent | 99809963c99e1ed868d9ebeb4a5e7ee1cbe0309f (diff) | |
| parent | b380b0d4f7dffcc235c0facefa537d4655619101 (diff) | |
Merge branch 'linus' into x86/defconfig
Diffstat (limited to 'arch/x86/kernel/smpcommon.c')
| -rw-r--r-- | arch/x86/kernel/smpcommon.c | 17 | 
1 files changed, 10 insertions, 7 deletions
diff --git a/arch/x86/kernel/smpcommon.c b/arch/x86/kernel/smpcommon.c index 99941b37eca0..397e309839dd 100644 --- a/arch/x86/kernel/smpcommon.c +++ b/arch/x86/kernel/smpcommon.c  | |||
| @@ -8,18 +8,21 @@ | |||
| 8 | DEFINE_PER_CPU(unsigned long, this_cpu_off); | 8 | DEFINE_PER_CPU(unsigned long, this_cpu_off); | 
| 9 | EXPORT_PER_CPU_SYMBOL(this_cpu_off); | 9 | EXPORT_PER_CPU_SYMBOL(this_cpu_off); | 
| 10 | 10 | ||
| 11 | /* Initialize the CPU's GDT. This is either the boot CPU doing itself | 11 | /* | 
| 12 | (still using the master per-cpu area), or a CPU doing it for a | 12 | * Initialize the CPU's GDT. This is either the boot CPU doing itself | 
| 13 | secondary which will soon come up. */ | 13 | * (still using the master per-cpu area), or a CPU doing it for a | 
| 14 | * secondary which will soon come up. | ||
| 15 | */ | ||
| 14 | __cpuinit void init_gdt(int cpu) | 16 | __cpuinit void init_gdt(int cpu) | 
| 15 | { | 17 | { | 
| 16 | struct desc_struct *gdt = get_cpu_gdt_table(cpu); | 18 | struct desc_struct gdt; | 
| 17 | 19 | ||
| 18 | pack_descriptor(&gdt[GDT_ENTRY_PERCPU], | 20 | pack_descriptor(&gdt, __per_cpu_offset[cpu], 0xFFFFF, | 
| 19 | __per_cpu_offset[cpu], 0xFFFFF, | ||
| 20 | 0x2 | DESCTYPE_S, 0x8); | 21 | 0x2 | DESCTYPE_S, 0x8); | 
| 22 | gdt.s = 1; | ||
| 21 | 23 | ||
| 22 | gdt[GDT_ENTRY_PERCPU].s = 1; | 24 | write_gdt_entry(get_cpu_gdt_table(cpu), | 
| 25 | GDT_ENTRY_PERCPU, &gdt, DESCTYPE_S); | ||
| 23 | 26 | ||
| 24 | per_cpu(this_cpu_off, cpu) = __per_cpu_offset[cpu]; | 27 | per_cpu(this_cpu_off, cpu) = __per_cpu_offset[cpu]; | 
| 25 | per_cpu(cpu_number, cpu) = cpu; | 28 | per_cpu(cpu_number, cpu) = cpu; | 
