Merge branch 'core/percpu' into x86/paravirt
This commit is contained in:
@@ -917,6 +917,9 @@ asmlinkage void __init xen_start_kernel(void)
|
||||
have_vcpu_info_placement = 0;
|
||||
#endif
|
||||
|
||||
/* setup percpu state */
|
||||
load_percpu_segment(0);
|
||||
|
||||
xen_smp_init();
|
||||
|
||||
/* Get mfn list */
|
||||
|
@@ -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 */
|
||||
|
Reference in New Issue
Block a user