2010-08-03 03:21:22 +04: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
# 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 13:05:24 +04:00
# include <asm/bootparam_utils.h>
2010-08-03 03:21:22 +04:00
# define BOOT_BOOT_H
2010-08-03 08:03:46 +04:00
# include "../ctype.h"
2010-08-03 03:21:22 +04:00
2013-10-11 04:18:16 +04:00
# ifdef CONFIG_X86_64
# define memptr long
# else
# define memptr unsigned
# endif
2010-08-03 03:21:22 +04:00
/* misc.c */
2013-10-11 04:18:16 +04:00
extern memptr free_mem_ptr ;
extern memptr free_mem_end_ptr ;
2010-08-03 03:21:22 +04:00
extern struct boot_params * real_mode ; /* Pointer to real-mode data */
2012-07-20 05:04:39 +04: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-03 03:21:22 +04:00
2013-10-11 04:18:14 +04:00
# if CONFIG_EARLY_PRINTK || CONFIG_RANDOMIZE_BASE
2010-08-03 03:21:22 +04:00
/* cmdline.c */
int cmdline_find_option ( const char * option , char * buffer , int bufsize ) ;
int cmdline_find_option_bool ( const char * option ) ;
2013-10-11 04:18:14 +04:00
# endif
2010-08-03 03:21:22 +04:00
2013-10-11 04:18:14 +04: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-11 04:18:15 +04:00
/* cpuflags.c */
bool has_cpuflag ( int flag ) ;
2012-07-20 05:04:41 +04:00
# else
2013-10-11 04:18:14 +04: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-20 05:04:41 +04:00
2013-10-11 04:18:14 +04:00
# ifdef CONFIG_EARLY_PRINTK
2012-07-20 05:04:42 +04:00
/* early_serial_console.c */
2013-10-11 04:18:14 +04:00
extern int early_serial_base ;
void console_init ( void ) ;
# else
2012-07-20 05:04:41 +04:00
static const int early_serial_base ;
static inline void console_init ( void )
{ }
# endif
2010-08-03 03:21:22 +04:00
# endif