|  | /* | 
|  | *  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) | 
|  | pr_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); | 
|  | } |