|
@@ -9,6 +9,7 @@
|
|
|
#include <asm/bugs.h>
|
|
|
#include <asm/processor.h>
|
|
|
#include <asm/mtrr.h>
|
|
|
+#include <asm/cacheflush.h>
|
|
|
|
|
|
void __init check_bugs(void)
|
|
|
{
|
|
@@ -18,4 +19,15 @@ void __init check_bugs(void)
|
|
|
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);
|
|
|
}
|