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_SIZE_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)) || \ 27 (CONFIG_PHYSICAL_ALIGN < 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#define BOOT_HEAP_SIZE 0x8000 36 37#endif /* !CONFIG_KERNEL_BZIP2 */ 38 39#ifdef CONFIG_X86_64 40#define BOOT_STACK_SIZE 0x4000 41#else 42#define BOOT_STACK_SIZE 0x1000 43#endif 44 45#endif /* __KERNEL__ */ 46 47#endif /* _ASM_X86_BOOT_H */ 48