2008-10-23 09:26:29 +04:00
# ifndef _ASM_X86_BOOT_H
# define _ASM_X86_BOOT_H
2005-04-17 02:20:36 +04:00
/* Internal svga startup constants */
# define NORMAL_VGA 0xffff /* 80x25 mode */
# define EXTENDED_VGA 0xfffe /* 80x50 mode */
# define ASK_VGA 0xfffd /* ask for it at bootup */
2009-01-14 23:37:46 +03:00
# ifdef __KERNEL__
2009-06-26 02:16:06 +04:00
# include <asm/pgtable_types.h>
2009-05-12 02:56:08 +04:00
2007-05-09 09:14:03 +04:00
/* Physical address where kernel should be loaded. */
2007-01-06 03:36:30 +03:00
# define LOAD_PHYSICAL_ADDR ((CONFIG_PHYSICAL_START \
+ ( CONFIG_PHYSICAL_ALIGN - 1 ) ) \
2006-12-07 04:14:04 +03:00
& ~ ( CONFIG_PHYSICAL_ALIGN - 1 ) )
2009-05-12 02:56:08 +04:00
/* Minimum kernel alignment, as a power of two */
2009-06-26 00:20:48 +04:00
# ifdef CONFIG_X86_64
2009-05-12 02:56:08 +04:00
# define MIN_KERNEL_ALIGN_LG2 PMD_SHIFT
# else
2009-06-26 02:16:06 +04:00
# define MIN_KERNEL_ALIGN_LG2 (PAGE_SHIFT + THREAD_ORDER)
2009-05-12 02:56:08 +04:00
# endif
# define MIN_KERNEL_ALIGN (_AC(1, UL) << MIN_KERNEL_ALIGN_LG2)
# if (CONFIG_PHYSICAL_ALIGN & (CONFIG_PHYSICAL_ALIGN-1)) || \
2010-04-21 18:23:44 +04:00
( CONFIG_PHYSICAL_ALIGN < MIN_KERNEL_ALIGN )
2009-05-12 02:56:08 +04:00
# error "Invalid value for CONFIG_PHYSICAL_ALIGN"
# endif
2009-01-14 23:37:46 +03:00
# ifdef CONFIG_KERNEL_BZIP2
2009-01-05 00:46:17 +03:00
# define BOOT_HEAP_SIZE 0x400000
2009-01-14 23:37:46 +03:00
# else /* !CONFIG_KERNEL_BZIP2 */
2009-01-05 00:46:17 +03:00
2011-01-13 04:01:24 +03:00
# define BOOT_HEAP_SIZE 0x8000
2009-01-05 00:46:17 +03:00
2009-01-14 23:37:46 +03:00
# endif /* !CONFIG_KERNEL_BZIP2 */
2009-01-05 00:46:17 +03:00
# ifdef CONFIG_X86_64
# define BOOT_STACK_SIZE 0x4000
# else
2008-04-08 14:54:30 +04:00
# define BOOT_STACK_SIZE 0x1000
# endif
2009-01-14 23:37:46 +03:00
# endif /* __KERNEL__ */
2008-10-23 09:26:29 +04:00
# endif /* _ASM_X86_BOOT_H */