diff options
Diffstat (limited to 'arch/x86/include/asm/boot.h')
| -rw-r--r-- | arch/x86/include/asm/boot.h | 15 | 
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/x86/include/asm/boot.h b/arch/x86/include/asm/boot.h index 6ba23dd9fc9..418e632d4a8 100644 --- a/arch/x86/include/asm/boot.h +++ b/arch/x86/include/asm/boot.h @@ -8,11 +8,26 @@  #ifdef __KERNEL__ +#include <asm/page_types.h> +  /* Physical address where kernel should be loaded. */  #define LOAD_PHYSICAL_ADDR ((CONFIG_PHYSICAL_START \  				+ (CONFIG_PHYSICAL_ALIGN - 1)) \  				& ~(CONFIG_PHYSICAL_ALIGN - 1)) +/* Minimum kernel alignment, as a power of two */ +#ifdef CONFIG_x86_64 +#define MIN_KERNEL_ALIGN_LG2	PMD_SHIFT +#else +#define MIN_KERNEL_ALIGN_LG2	(PAGE_SHIFT+1) +#endif +#define MIN_KERNEL_ALIGN	(_AC(1, UL) << MIN_KERNEL_ALIGN_LG2) + +#if (CONFIG_PHYSICAL_ALIGN & (CONFIG_PHYSICAL_ALIGN-1)) || \ +	(CONFIG_PHYSICAL_ALIGN < (_AC(1, UL) << MIN_KERNEL_ALIGN_LG2)) +#error "Invalid value for CONFIG_PHYSICAL_ALIGN" +#endif +  #ifdef CONFIG_KERNEL_BZIP2  #define BOOT_HEAP_SIZE             0x400000  #else /* !CONFIG_KERNEL_BZIP2 */  | 
