| Jeremy Fitzhardinge | c169859d | 2007-05-02 19:27:12 +0200 | [diff] [blame] | 1 | /* | 
| Jeremy Fitzhardinge | c169859d | 2007-05-02 19:27:12 +0200 | [diff] [blame] | 2 | *  Copyright (C) 1994  Linus Torvalds | 
|  | 3 | *  Copyright (C) 2000  SuSE | 
| Jeremy Fitzhardinge | c169859d | 2007-05-02 19:27:12 +0200 | [diff] [blame] | 4 | */ | 
|  | 5 |  | 
|  | 6 | #include <linux/kernel.h> | 
| Jeremy Fitzhardinge | 57decbd | 2007-05-02 19:27:16 +0200 | [diff] [blame] | 7 | #include <linux/init.h> | 
| Jeremy Fitzhardinge | c169859d | 2007-05-02 19:27:12 +0200 | [diff] [blame] | 8 | #include <asm/alternative.h> | 
| Josh Triplett | dd22a68 | 2007-07-31 00:39:21 -0700 | [diff] [blame] | 9 | #include <asm/bugs.h> | 
| Jeremy Fitzhardinge | c169859d | 2007-05-02 19:27:12 +0200 | [diff] [blame] | 10 | #include <asm/processor.h> | 
| Andi Kleen | 0a203a4 | 2007-05-12 17:27:40 +0200 | [diff] [blame] | 11 | #include <asm/mtrr.h> | 
| Andi Kleen | f5c24a7 | 2008-03-12 03:53:30 +0100 | [diff] [blame] | 12 | #include <asm/cacheflush.h> | 
| Jeremy Fitzhardinge | c169859d | 2007-05-02 19:27:12 +0200 | [diff] [blame] | 13 |  | 
|  | 14 | void __init check_bugs(void) | 
|  | 15 | { | 
| Glauber de Oliveira Costa | 5745abf | 2008-03-19 14:25:03 -0300 | [diff] [blame] | 16 | identify_boot_cpu(); | 
| Jeremy Fitzhardinge | c169859d | 2007-05-02 19:27:12 +0200 | [diff] [blame] | 17 | #if !defined(CONFIG_SMP) | 
|  | 18 | printk("CPU: "); | 
|  | 19 | print_cpu_info(&boot_cpu_data); | 
|  | 20 | #endif | 
|  | 21 | alternative_instructions(); | 
| Andi Kleen | f5c24a7 | 2008-03-12 03:53:30 +0100 | [diff] [blame] | 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); | 
| Jeremy Fitzhardinge | c169859d | 2007-05-02 19:27:12 +0200 | [diff] [blame] | 33 | } |