From: Ian Campbell Date: Wed, 30 Jan 2008 12:33:27 +0000 (+0100) Subject: x86_32: always run the full set of paging state. X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=5756dd59f118daacd68ee971a2381360ef769c48;p=deliverable%2Flinux.git x86_32: always run the full set of paging state. I am preparing to convert the boot time page table to the kernels native format. To achieve that I need to enable PAE. Enabling PSE and the no execute bit would not hurt. So this patch modifies the boot cpu path to execute all of the kernels enable code if and only if we have the proper bits set in mmu_cr4_features. Signed-off-by: Eric W. Biederman Signed-off-by: Ian Campbell Cc: H. Peter Anvin Cc: Andi Kleen Cc: Mika Penttilä Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner --- diff --git a/arch/x86/kernel/head_32.S b/arch/x86/kernel/head_32.S index 7b9b2566b7a8..a2b6331434da 100644 --- a/arch/x86/kernel/head_32.S +++ b/arch/x86/kernel/head_32.S @@ -221,6 +221,8 @@ ENTRY(startup_32_smp) movl %eax,%es movl %eax,%fs movl %eax,%gs +#endif /* CONFIG_SMP */ +3: /* * New page tables may be in 4Mbyte page mode and may @@ -267,8 +269,6 @@ ENTRY(startup_32_smp) wrmsr 6: -#endif /* CONFIG_SMP */ -3: /* * Enable paging