diff options
Diffstat (limited to 'kernel/arch/x86/kernel/cpu/bugs_64.c')
-rw-r--r-- | kernel/arch/x86/kernel/cpu/bugs_64.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/kernel/arch/x86/kernel/cpu/bugs_64.c b/kernel/arch/x86/kernel/cpu/bugs_64.c new file mode 100644 index 000000000..04f0fe5af --- /dev/null +++ b/kernel/arch/x86/kernel/cpu/bugs_64.c @@ -0,0 +1,33 @@ +/* + * Copyright (C) 1994 Linus Torvalds + * Copyright (C) 2000 SuSE + */ + +#include <linux/kernel.h> +#include <linux/init.h> +#include <asm/alternative.h> +#include <asm/bugs.h> +#include <asm/processor.h> +#include <asm/mtrr.h> +#include <asm/cacheflush.h> + +void __init check_bugs(void) +{ + identify_boot_cpu(); +#if !defined(CONFIG_SMP) + printk(KERN_INFO "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); +} |