aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/setup.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kernel/setup.c')
-rw-r--r--arch/x86/kernel/setup.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index 41ead8d3bc0b..235cfd39e0d7 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -879,6 +879,15 @@ void __init setup_arch(char **cmdline_p)
879 KERNEL_PGD_PTRS); 879 KERNEL_PGD_PTRS);
880 880
881 load_cr3(swapper_pg_dir); 881 load_cr3(swapper_pg_dir);
882 /*
883 * Note: Quark X1000 CPUs advertise PGE incorrectly and require
884 * a cr3 based tlb flush, so the following __flush_tlb_all()
885 * will not flush anything because the cpu quirk which clears
886 * X86_FEATURE_PGE has not been invoked yet. Though due to the
887 * load_cr3() above the TLB has been flushed already. The
888 * quirk is invoked before subsequent calls to __flush_tlb_all()
889 * so proper operation is guaranteed.
890 */
882 __flush_tlb_all(); 891 __flush_tlb_all();
883#else 892#else
884 printk(KERN_INFO "Command line: %s\n", boot_command_line); 893 printk(KERN_INFO "Command line: %s\n", boot_command_line);