| 
									
										
										
										
											2007-05-02 19:27:12 +02:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  *  Copyright (C) 1994  Linus Torvalds | 
					
						
							|  |  |  |  *  Copyright (C) 2000  SuSE | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <linux/kernel.h>
 | 
					
						
							| 
									
										
										
										
											2007-05-02 19:27:16 +02:00
										 |  |  | #include <linux/init.h>
 | 
					
						
							| 
									
										
										
										
											2007-05-02 19:27:12 +02:00
										 |  |  | #include <asm/alternative.h>
 | 
					
						
							| 
									
										
										
										
											2007-07-31 00:39:21 -07:00
										 |  |  | #include <asm/bugs.h>
 | 
					
						
							| 
									
										
										
										
											2007-05-02 19:27:12 +02:00
										 |  |  | #include <asm/processor.h>
 | 
					
						
							| 
									
										
										
										
											2007-05-12 17:27:40 +02:00
										 |  |  | #include <asm/mtrr.h>
 | 
					
						
							| 
									
										
										
										
											2008-03-12 03:53:30 +01:00
										 |  |  | #include <asm/cacheflush.h>
 | 
					
						
							| 
									
										
										
										
											2007-05-02 19:27:12 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | void __init check_bugs(void) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2008-03-19 14:25:03 -03:00
										 |  |  | 	identify_boot_cpu(); | 
					
						
							| 
									
										
										
										
											2007-05-02 19:27:12 +02:00
										 |  |  | #if !defined(CONFIG_SMP)
 | 
					
						
							| 
									
										
										
										
											2009-07-04 00:35:45 +01:00
										 |  |  | 	printk(KERN_INFO "CPU: "); | 
					
						
							| 
									
										
										
										
											2007-05-02 19:27:12 +02:00
										 |  |  | 	print_cpu_info(&boot_cpu_data); | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 	alternative_instructions(); | 
					
						
							| 
									
										
										
										
											2008-03-12 03:53:30 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	/*
 | 
					
						
							|  |  |  | 	 * 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); | 
					
						
							| 
									
										
										
										
											2007-05-02 19:27:12 +02:00
										 |  |  | } |