diff options
author | H. Peter Anvin <hpa@linux.intel.com> | 2009-02-05 01:58:26 +0100 |
---|---|---|
committer | H. Peter Anvin <hpa@linux.intel.com> | 2009-02-05 01:58:26 +0100 |
commit | 327641da8e3e227f42690479182b896fd19486be (patch) | |
tree | 05fa7f317e854f2da5d46d4c8977486d71bb2b21 /arch/x86/xen/smp.c | |
parent | xen: fix 32-bit build resulting from mmu move (diff) | |
parent | x86, percpu: fix kexec with vmlinux (diff) | |
download | linux-327641da8e3e227f42690479182b896fd19486be.tar.xz linux-327641da8e3e227f42690479182b896fd19486be.zip |
Merge branch 'core/percpu' into x86/paravirt
Diffstat (limited to 'arch/x86/xen/smp.c')
-rw-r--r-- | arch/x86/xen/smp.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/x86/xen/smp.c b/arch/x86/xen/smp.c index 7735e3dd359c..88d5d5ec6beb 100644 --- a/arch/x86/xen/smp.c +++ b/arch/x86/xen/smp.c @@ -170,7 +170,8 @@ static void __init xen_smp_prepare_boot_cpu(void) /* We've switched to the "real" per-cpu gdt, so make sure the old memory can be recycled */ - make_lowmem_page_readwrite(&per_cpu_var(gdt_page)); + make_lowmem_page_readwrite(__per_cpu_load + + (unsigned long)&per_cpu_var(gdt_page)); xen_setup_vcpu_info_placement(); } @@ -235,6 +236,8 @@ cpu_initialize_context(unsigned int cpu, struct task_struct *idle) ctxt->user_regs.ss = __KERNEL_DS; #ifdef CONFIG_X86_32 ctxt->user_regs.fs = __KERNEL_PERCPU; +#else + ctxt->gs_base_kernel = per_cpu_offset(cpu); #endif ctxt->user_regs.eip = (unsigned long)cpu_bringup_and_idle; ctxt->user_regs.eflags = 0x1000; /* IOPL_RING1 */ |