| 
									
										
										
										
											2010-08-02 16:21:22 -07:00
										 |  |  | #ifndef BOOT_COMPRESSED_MISC_H
 | 
					
						
							|  |  |  | #define BOOT_COMPRESSED_MISC_H
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*
 | 
					
						
							|  |  |  |  * we have to be careful, because no indirections are allowed here, and | 
					
						
							|  |  |  |  * paravirt_ops is a kind of one. As it will only run in baremetal anyway, | 
					
						
							|  |  |  |  * we just keep it from happening | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | #undef CONFIG_PARAVIRT
 | 
					
						
							| 
									
										
										
										
											2015-02-13 14:39:56 -08:00
										 |  |  | #undef CONFIG_KASAN
 | 
					
						
							| 
									
										
										
										
											2010-08-02 16:21:22 -07:00
										 |  |  | #ifdef CONFIG_X86_32
 | 
					
						
							|  |  |  | #define _ASM_X86_DESC_H 1
 | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <linux/linkage.h>
 | 
					
						
							|  |  |  | #include <linux/screen_info.h>
 | 
					
						
							|  |  |  | #include <linux/elf.h>
 | 
					
						
							|  |  |  | #include <linux/io.h>
 | 
					
						
							|  |  |  | #include <asm/page.h>
 | 
					
						
							|  |  |  | #include <asm/boot.h>
 | 
					
						
							|  |  |  | #include <asm/bootparam.h>
 | 
					
						
							| 
									
										
										
										
											2013-01-29 01:05:24 -08:00
										 |  |  | #include <asm/bootparam_utils.h>
 | 
					
						
							| 
									
										
										
										
											2010-08-02 16:21:22 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | #define BOOT_BOOT_H
 | 
					
						
							| 
									
										
										
										
											2010-08-02 21:03:46 -07:00
										 |  |  | #include "../ctype.h"
 | 
					
						
							| 
									
										
										
										
											2010-08-02 16:21:22 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-10-10 17:18:16 -07:00
										 |  |  | #ifdef CONFIG_X86_64
 | 
					
						
							|  |  |  | #define memptr long
 | 
					
						
							|  |  |  | #else
 | 
					
						
							|  |  |  | #define memptr unsigned
 | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-08-02 16:21:22 -07:00
										 |  |  | /* misc.c */ | 
					
						
							| 
									
										
										
										
											2013-10-10 17:18:16 -07:00
										 |  |  | extern memptr free_mem_ptr; | 
					
						
							|  |  |  | extern memptr free_mem_end_ptr; | 
					
						
							| 
									
										
										
										
											2010-08-02 16:21:22 -07:00
										 |  |  | extern struct boot_params *real_mode;		/* Pointer to real-mode data */ | 
					
						
							| 
									
										
										
										
											2012-07-19 18:04:39 -07:00
										 |  |  | void __putstr(const char *s); | 
					
						
							|  |  |  | #define error_putstr(__x)  __putstr(__x)
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifdef CONFIG_X86_VERBOSE_BOOTUP
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define debug_putstr(__x)  __putstr(__x)
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #else
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static inline void debug_putstr(const char *s) | 
					
						
							|  |  |  | { } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2010-08-02 16:21:22 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-10-10 17:18:14 -07:00
										 |  |  | #if CONFIG_EARLY_PRINTK || CONFIG_RANDOMIZE_BASE
 | 
					
						
							| 
									
										
										
										
											2010-08-02 16:21:22 -07:00
										 |  |  | /* cmdline.c */ | 
					
						
							|  |  |  | int cmdline_find_option(const char *option, char *buffer, int bufsize); | 
					
						
							|  |  |  | int cmdline_find_option_bool(const char *option); | 
					
						
							| 
									
										
										
										
											2013-10-10 17:18:14 -07:00
										 |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2010-08-02 16:21:22 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-10-10 17:18:14 -07:00
										 |  |  | #if CONFIG_RANDOMIZE_BASE
 | 
					
						
							|  |  |  | /* aslr.c */ | 
					
						
							|  |  |  | unsigned char *choose_kernel_location(unsigned char *input, | 
					
						
							|  |  |  | 				      unsigned long input_size, | 
					
						
							|  |  |  | 				      unsigned char *output, | 
					
						
							|  |  |  | 				      unsigned long output_size); | 
					
						
							| 
									
										
										
										
											2013-10-10 17:18:15 -07:00
										 |  |  | /* cpuflags.c */ | 
					
						
							|  |  |  | bool has_cpuflag(int flag); | 
					
						
							| 
									
										
										
										
											2012-07-19 18:04:41 -07:00
										 |  |  | #else
 | 
					
						
							| 
									
										
										
										
											2013-10-10 17:18:14 -07:00
										 |  |  | static inline | 
					
						
							|  |  |  | unsigned char *choose_kernel_location(unsigned char *input, | 
					
						
							|  |  |  | 				      unsigned long input_size, | 
					
						
							|  |  |  | 				      unsigned char *output, | 
					
						
							|  |  |  | 				      unsigned long output_size) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	return output; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2012-07-19 18:04:41 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-10-10 17:18:14 -07:00
										 |  |  | #ifdef CONFIG_EARLY_PRINTK
 | 
					
						
							| 
									
										
										
										
											2012-07-19 18:04:42 -07:00
										 |  |  | /* early_serial_console.c */ | 
					
						
							| 
									
										
										
										
											2013-10-10 17:18:14 -07:00
										 |  |  | extern int early_serial_base; | 
					
						
							|  |  |  | void console_init(void); | 
					
						
							|  |  |  | #else
 | 
					
						
							| 
									
										
										
										
											2012-07-19 18:04:41 -07:00
										 |  |  | static const int early_serial_base; | 
					
						
							|  |  |  | static inline void console_init(void) | 
					
						
							|  |  |  | { } | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-08-02 16:21:22 -07:00
										 |  |  | #endif
 |