diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-03-20 06:27:18 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-03-20 06:27:18 -0400 |
commit | 4958134df54c2c84e9c22ea042761d439164d26e (patch) | |
tree | 503177afab11f7d25b12a84ce25b481d305c51ba /arch/x86/kernel/setup_percpu.c | |
parent | c4f528795d1add8b63652673f7262729f679c6c1 (diff) | |
parent | c698ca5278934c0ae32297a8725ced2e27585d7f (diff) |
Merge 4.16-rc6 into tty-next
We want the serial/tty fixes in here as well.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
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) | |||
287 | /* Setup cpu initialized, callin, callout masks */ | 287 | /* Setup cpu initialized, callin, callout masks */ |
288 | setup_cpu_local_masks(); | 288 | setup_cpu_local_masks(); |
289 | 289 | ||
290 | #ifdef CONFIG_X86_32 | ||
291 | /* | 290 | /* |
292 | * Sync back kernel address range again. We already did this in | 291 | * Sync back kernel address range again. We already did this in |
293 | * setup_arch(), but percpu data also needs to be available in | 292 | * setup_arch(), but percpu data also needs to be available in |
294 | * the smpboot asm. We can't reliably pick up percpu mappings | 293 | * the smpboot asm. We can't reliably pick up percpu mappings |
295 | * using vmalloc_fault(), because exception dispatch needs | 294 | * using vmalloc_fault(), because exception dispatch needs |
296 | * percpu data. | 295 | * percpu data. |
296 | * | ||
297 | * FIXME: Can the later sync in setup_cpu_entry_areas() replace | ||
298 | * this call? | ||
297 | */ | 299 | */ |
298 | clone_pgd_range(initial_page_table + KERNEL_PGD_BOUNDARY, | 300 | sync_initial_page_table(); |
299 | swapper_pg_dir + KERNEL_PGD_BOUNDARY, | ||
300 | KERNEL_PGD_PTRS); | ||
301 | |||
302 | /* | ||
303 | * sync back low identity map too. It is used for example | ||
304 | * in the 32-bit EFI stub. | ||
305 | */ | ||
306 | clone_pgd_range(initial_page_table, | ||
307 | swapper_pg_dir + KERNEL_PGD_BOUNDARY, | ||
308 | min(KERNEL_PGD_PTRS, KERNEL_PGD_BOUNDARY)); | ||
309 | #endif | ||
310 | } | 301 | } |