]> err.no Git - linux-2.6/blobdiff - arch/x86/kernel/bugs_64.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394...
[linux-2.6] / arch / x86 / kernel / bugs_64.c
index 9a189cef64043a8968a465f1c34c0424354956f2..9a3ed0649d4e98c4459f13d90fbf1988df2195ce 100644 (file)
@@ -9,14 +9,25 @@
 #include <asm/bugs.h>
 #include <asm/processor.h>
 #include <asm/mtrr.h>
+#include <asm/cacheflush.h>
 
 void __init check_bugs(void)
 {
-       identify_cpu(&boot_cpu_data);
-       mtrr_bp_init();
+       identify_boot_cpu();
 #if !defined(CONFIG_SMP)
        printk("CPU: ");
        print_cpu_info(&boot_cpu_data);
 #endif
        alternative_instructions();
+
+       /*
+        * Make sure the first 2MB area is not mapped by huge pages
+        * There are typically fixed size MTRRs in there and overlapping
+        * MTRRs into large pages causes slow downs.
+        *
+        * Right now we don't do that with gbpages because there seems
+        * very little benefit for that case.
+        */
+       if (!direct_gbpages)
+               set_memory_4k((unsigned long)__va(0), 1);
 }