Browse Source

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>
Pekka Enberg 16 years ago
parent
commit
01ced9ec14
2 changed files with 14 additions and 0 deletions
  1. 6 0
      arch/x86/mm/init_32.c
  2. 8 0
      arch/x86/mm/init_64.c

+ 6 - 0
arch/x86/mm/init_32.c

@@ -1054,10 +1054,16 @@ unsigned long __init_refok init_memory_mapping(unsigned long start,
 						   mr[i].page_size_mask);
 						   mr[i].page_size_mask);
 #endif
 #endif
 
 
+#ifdef CONFIG_X86_32
 	early_ioremap_page_table_range_init();
 	early_ioremap_page_table_range_init();
 
 
 	load_cr3(swapper_pg_dir);
 	load_cr3(swapper_pg_dir);
+#endif
 
 
+#ifdef CONFIG_X86_64
+	if (!after_bootmem)
+		mmu_cr4_features = read_cr4();
+#endif
 	__flush_tlb_all();
 	__flush_tlb_all();
 
 
 	if (!after_bootmem && table_end > table_start)
 	if (!after_bootmem && table_end > table_start)

+ 8 - 0
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);
 						   mr[i].page_size_mask);
 #endif
 #endif
 
 
+#ifdef CONFIG_X86_32
+	early_ioremap_page_table_range_init();
+
+	load_cr3(swapper_pg_dir);
+#endif
+
+#ifdef CONFIG_X86_64
 	if (!after_bootmem)
 	if (!after_bootmem)
 		mmu_cr4_features = read_cr4();
 		mmu_cr4_features = read_cr4();
+#endif
 	__flush_tlb_all();
 	__flush_tlb_all();
 
 
 	if (!after_bootmem && table_end > table_start)
 	if (!after_bootmem && table_end > table_start)