diff options
Diffstat (limited to 'arch/x86/kernel/setup_percpu.c')
| -rw-r--r-- | arch/x86/kernel/setup_percpu.c | 17 | 
1 files changed, 4 insertions, 13 deletions
diff --git a/arch/x86/kernel/setup_percpu.c b/arch/x86/kernel/setup_percpu.c index 497aa766fab3..ea554f812ee1 100644 --- a/arch/x86/kernel/setup_percpu.c +++ b/arch/x86/kernel/setup_percpu.c @@ -287,24 +287,15 @@ void __init setup_per_cpu_areas(void)  	/* Setup cpu initialized, callin, callout masks */  	setup_cpu_local_masks(); -#ifdef CONFIG_X86_32  	/*  	 * Sync back kernel address range again.  We already did this in  	 * setup_arch(), but percpu data also needs to be available in  	 * the smpboot asm.  We can't reliably pick up percpu mappings  	 * using vmalloc_fault(), because exception dispatch needs  	 * percpu data. +	 * +	 * FIXME: Can the later sync in setup_cpu_entry_areas() replace +	 * this call?  	 */ -	clone_pgd_range(initial_page_table + KERNEL_PGD_BOUNDARY, -			swapper_pg_dir     + KERNEL_PGD_BOUNDARY, -			KERNEL_PGD_PTRS); - -	/* -	 * sync back low identity map too.  It is used for example -	 * in the 32-bit EFI stub. -	 */ -	clone_pgd_range(initial_page_table, -			swapper_pg_dir     + KERNEL_PGD_BOUNDARY, -			min(KERNEL_PGD_PTRS, KERNEL_PGD_BOUNDARY)); -#endif +	sync_initial_page_table();  }  | 

