1#ifndef _ASM_X86_BOOT_H 2#define _ASM_X86_BOOT_H 3 4/* Internal svga startup constants */ 5#define NORMAL_VGA 0xffff /* 80x25 mode */ 6#define EXTENDED_VGA 0xfffe /* 80x50 mode */ 7#define ASK_VGA 0xfffd /* ask for it at bootup */ 8 9#ifdef __KERNEL__ 10 11#include <asm/pgtable_types.h> 12 13/* Physical address where kernel should be loaded. */ 14#define LOAD_PHYSICAL_ADDR ((CONFIG_PHYSICAL_START \ 15 + (CONFIG_PHYSICAL_ALIGN - 1)) \ 16 & ~(CONFIG_PHYSICAL_ALIGN - 1)) 17 18/* Minimum kernel alignment, as a power of two */ 19#ifdef CONFIG_X86_64 20#define MIN_KERNEL_ALIGN_LG2 PMD_SHIFT 21#else 22#define MIN_KERNEL_ALIGN_LG2 (PAGE_SHIFT + THREAD_ORDER) 23#endif 24#define MIN_KERNEL_ALIGN (_AC(1, UL) << MIN_KERNEL_ALIGN_LG2) 25 26#if (CONFIG_PHYSICAL_ALIGN & (CONFIG_PHYSICAL_ALIGN-1)) || (CONFIG_PHYSICAL_ALIGN < \ 27 MIN_KERNEL_ALIGN) 28#error "Invalid value for CONFIG_PHYSICAL_ALIGN" 29#endif 30 31#ifdef CONFIG_KERNEL_BZIP2 32#define BOOT_HEAP_SIZE 0x400000 33#else /* !CONFIG_KERNEL_BZIP2 */ 34 35#ifdef CONFIG_X86_64 36#define BOOT_HEAP_SIZE 0x7000 37#else 38#define BOOT_HEAP_SIZE 0x4000 39#endif 40 41#endif /* !CONFIG_KERNEL_BZIP2 */ 42 43#ifdef CONFIG_X86_64 44#define BOOT_STACK_SIZE 0x4000 45#else 46#define BOOT_STACK_SIZE 0x1000 47#endif 48 49#endif /* __KERNEL__ */ 50 51#endif /* _ASM_X86_BOOT_H */ 52