aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/mm/init_64.c
diff options
context:
space:
mode:
authorPekka Enberg <penberg@cs.helsinki.fi>2009-03-05 14:55:01 +0200
committerIngo Molnar <mingo@elte.hu>2009-03-05 14:17:15 +0100
commit01ced9ec14ad1b4f8a533c2f2b5a4fe4c92c1099 (patch)
treec40e6de0257182517e65ae0133e2b8a0d96d14a1 /arch/x86/mm/init_64.c
parentx86: add table start and end sanity checks to 32-bit init_memory_mapping() (diff)
downloadlinux-dev-01ced9ec14ad1b4f8a533c2f2b5a4fe4c92c1099.tar.xz
linux-dev-01ced9ec14ad1b4f8a533c2f2b5a4fe4c92c1099.zip
x86: ifdef 32-bit and 64-bit setup in init_memory_mapping()
Impact: cleanup To reduce the diff between the 32-bit and 64-bit versions of init_memory_mapping(), ifdef configuration specific setup code in the function. Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi> Cc: Yinghai Lu <yinghai@kernel.org> LKML-Reference: <1236257708-27269-10-git-send-email-penberg@cs.helsinki.fi> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/mm/init_64.c')
-rw-r--r--arch/x86/mm/init_64.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c
index e4fadea2e521..5ecb23a57d2f 100644
--- a/arch/x86/mm/init_64.c
+++ b/arch/x86/mm/init_64.c
@@ -832,8 +832,16 @@ unsigned long __init_refok init_memory_mapping(unsigned long start,
mr[i].page_size_mask);
#endif
+#ifdef CONFIG_X86_32
+ early_ioremap_page_table_range_init();
+
+ load_cr3(swapper_pg_dir);
+#endif
+
+#ifdef CONFIG_X86_64
if (!after_bootmem)
mmu_cr4_features = read_cr4();
+#endif
__flush_tlb_all();
if (!after_bootmem && table_end > table_start)