From: Yinghai Lu Date: Thu, 24 Jan 2013 20:19:50 +0000 (-0800) Subject: x86, 64bit, realmode: Use init_level4_pgt to set trampoline_pgd directly X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=9735e91e9c29c0d8fe432aef1152e43e50bdb316;p=linux-beck.git x86, 64bit, realmode: Use init_level4_pgt to set trampoline_pgd directly with #PF handler way to set early page table, level3_ident will go away with 64bit native path. So just use entries in init_level4_pgt to set them in trampoline_pgd. Signed-off-by: Yinghai Lu Link: http://lkml.kernel.org/r/1359058816-7615-10-git-send-email-yinghai@kernel.org Cc: Jarkko Sakkinen Acked-by: Jarkko Sakkinen Signed-off-by: H. Peter Anvin --- diff --git a/arch/x86/realmode/init.c b/arch/x86/realmode/init.c index c44ea7cf5741..ffee06ac7de9 100644 --- a/arch/x86/realmode/init.c +++ b/arch/x86/realmode/init.c @@ -78,8 +78,8 @@ void __init setup_real_mode(void) *trampoline_cr4_features = read_cr4(); trampoline_pgd = (u64 *) __va(real_mode_header->trampoline_pgd); - trampoline_pgd[0] = __pa(level3_ident_pgt) + _KERNPG_TABLE; - trampoline_pgd[511] = __pa(level3_kernel_pgt) + _KERNPG_TABLE; + trampoline_pgd[0] = init_level4_pgt[pgd_index(__PAGE_OFFSET)].pgd; + trampoline_pgd[511] = init_level4_pgt[511].pgd; #endif }