1/*
2 *  Copyright (C) 1994  Linus Torvalds
3 *  Copyright (C) 2000  SuSE
4 */
5
6#include <linux/kernel.h>
7#include <linux/init.h>
8#include <asm/alternative.h>
9#include <asm/bugs.h>
10#include <asm/processor.h>
11#include <asm/mtrr.h>
12#include <asm/cacheflush.h>
13
14void __init check_bugs(void)
15{
16	identify_boot_cpu();
17#if !defined(CONFIG_SMP)
18	printk(KERN_INFO "CPU: ");
19	print_cpu_info(&boot_cpu_data);
20#endif
21	alternative_instructions();
22
23	/*
24	 * Make sure the first 2MB area is not mapped by huge pages
25	 * There are typically fixed size MTRRs in there and overlapping
26	 * MTRRs into large pages causes slow downs.
27	 *
28	 * Right now we don't do that with gbpages because there seems
29	 * very little benefit for that case.
30	 */
31	if (!direct_gbpages)
32		set_memory_4k((unsigned long)__va(0), 1);
33}
34