diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-06-10 18:30:41 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-06-10 18:30:41 -0400 |
| commit | 82782ca77d1bfb32b0334cce40a25b91bd8ec016 (patch) | |
| tree | d8c73212af80ed9aa314612e2b8b9e6cf74c47f7 /arch/x86/include | |
| parent | f0d5e12bd42b7173ebbbf59279c867605f859814 (diff) | |
| parent | 6799687a53a28536fd027ccb644833f66a778925 (diff) | |
Merge branch 'x86-kbuild-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'x86-kbuild-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (46 commits)
x86, boot: add new generated files to the appropriate .gitignore files
x86, boot: correct the calculation of ZO_INIT_SIZE
x86-64: align __PHYSICAL_START, remove __KERNEL_ALIGN
x86, boot: correct sanity checks in boot/compressed/misc.c
x86: add extension fields for bootloader type and version
x86, defconfig: update kernel position parameters
x86, defconfig: update to current, no material changes
x86: make CONFIG_RELOCATABLE the default
x86: default CONFIG_PHYSICAL_START and CONFIG_PHYSICAL_ALIGN to 16 MB
x86: document new bzImage fields
x86, boot: make kernel_alignment adjustable; new bzImage fields
x86, boot: remove dead code from boot/compressed/head_*.S
x86, boot: use LOAD_PHYSICAL_ADDR on 64 bits
x86, boot: make symbols from the main vmlinux available
x86, boot: determine compressed code offset at compile time
x86, boot: use appropriate rep string for move and clear
x86, boot: zero EFLAGS on 32 bits
x86, boot: set up the decompression stack as early as possible
x86, boot: straighten out ranges to copy/zero in compressed/head*.S
x86, boot: stylistic cleanups for boot/compressed/head_64.S
...
Fixed trivial conflict in arch/x86/configs/x86_64_defconfig manually
Diffstat (limited to 'arch/x86/include')
| -rw-r--r-- | arch/x86/include/asm/boot.h | 15 | ||||
| -rw-r--r-- | arch/x86/include/asm/bootparam.h | 3 | ||||
| -rw-r--r-- | arch/x86/include/asm/page_64_types.h | 14 | ||||
| -rw-r--r-- | arch/x86/include/asm/processor.h | 1 |
4 files changed, 21 insertions, 12 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 @@ | |||
| 8 | 8 | ||
| 9 | #ifdef __KERNEL__ | 9 | #ifdef __KERNEL__ |
| 10 | 10 | ||
| 11 | #include <asm/page_types.h> | ||
| 12 | |||
| 11 | /* Physical address where kernel should be loaded. */ | 13 | /* Physical address where kernel should be loaded. */ |
| 12 | #define LOAD_PHYSICAL_ADDR ((CONFIG_PHYSICAL_START \ | 14 | #define LOAD_PHYSICAL_ADDR ((CONFIG_PHYSICAL_START \ |
| 13 | + (CONFIG_PHYSICAL_ALIGN - 1)) \ | 15 | + (CONFIG_PHYSICAL_ALIGN - 1)) \ |
| 14 | & ~(CONFIG_PHYSICAL_ALIGN - 1)) | 16 | & ~(CONFIG_PHYSICAL_ALIGN - 1)) |
| 15 | 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+1) | ||
| 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 < (_AC(1, UL) << MIN_KERNEL_ALIGN_LG2)) | ||
| 28 | #error "Invalid value for CONFIG_PHYSICAL_ALIGN" | ||
| 29 | #endif | ||
| 30 | |||
| 16 | #ifdef CONFIG_KERNEL_BZIP2 | 31 | #ifdef CONFIG_KERNEL_BZIP2 |
| 17 | #define BOOT_HEAP_SIZE 0x400000 | 32 | #define BOOT_HEAP_SIZE 0x400000 |
| 18 | #else /* !CONFIG_KERNEL_BZIP2 */ | 33 | #else /* !CONFIG_KERNEL_BZIP2 */ |
diff --git a/arch/x86/include/asm/bootparam.h b/arch/x86/include/asm/bootparam.h index 433adaebf9b..1724e8de317 100644 --- a/arch/x86/include/asm/bootparam.h +++ b/arch/x86/include/asm/bootparam.h | |||
| @@ -50,7 +50,8 @@ struct setup_header { | |||
| 50 | __u32 ramdisk_size; | 50 | __u32 ramdisk_size; |
| 51 | __u32 bootsect_kludge; | 51 | __u32 bootsect_kludge; |
| 52 | __u16 heap_end_ptr; | 52 | __u16 heap_end_ptr; |
| 53 | __u16 _pad1; | 53 | __u8 ext_loader_ver; |
| 54 | __u8 ext_loader_type; | ||
| 54 | __u32 cmd_line_ptr; | 55 | __u32 cmd_line_ptr; |
| 55 | __u32 initrd_addr_max; | 56 | __u32 initrd_addr_max; |
| 56 | __u32 kernel_alignment; | 57 | __u32 kernel_alignment; |
diff --git a/arch/x86/include/asm/page_64_types.h b/arch/x86/include/asm/page_64_types.h index d38c91b7024..e11900f2500 100644 --- a/arch/x86/include/asm/page_64_types.h +++ b/arch/x86/include/asm/page_64_types.h | |||
| @@ -32,17 +32,9 @@ | |||
| 32 | */ | 32 | */ |
| 33 | #define __PAGE_OFFSET _AC(0xffff880000000000, UL) | 33 | #define __PAGE_OFFSET _AC(0xffff880000000000, UL) |
| 34 | 34 | ||
| 35 | #define __PHYSICAL_START CONFIG_PHYSICAL_START | 35 | #define __PHYSICAL_START ((CONFIG_PHYSICAL_START + \ |
| 36 | #define __KERNEL_ALIGN 0x200000 | 36 | (CONFIG_PHYSICAL_ALIGN - 1)) & \ |
| 37 | 37 | ~(CONFIG_PHYSICAL_ALIGN - 1)) | |
| 38 | /* | ||
| 39 | * Make sure kernel is aligned to 2MB address. Catching it at compile | ||
| 40 | * time is better. Change your config file and compile the kernel | ||
| 41 | * for a 2MB aligned address (CONFIG_PHYSICAL_START) | ||
| 42 | */ | ||
| 43 | #if (CONFIG_PHYSICAL_START % __KERNEL_ALIGN) != 0 | ||
| 44 | #error "CONFIG_PHYSICAL_START must be a multiple of 2MB" | ||
| 45 | #endif | ||
| 46 | 38 | ||
| 47 | #define __START_KERNEL (__START_KERNEL_map + __PHYSICAL_START) | 39 | #define __START_KERNEL (__START_KERNEL_map + __PHYSICAL_START) |
| 48 | #define __START_KERNEL_map _AC(0xffffffff80000000, UL) | 40 | #define __START_KERNEL_map _AC(0xffffffff80000000, UL) |
diff --git a/arch/x86/include/asm/processor.h b/arch/x86/include/asm/processor.h index fed93fec976..6469866a741 100644 --- a/arch/x86/include/asm/processor.h +++ b/arch/x86/include/asm/processor.h | |||
| @@ -815,6 +815,7 @@ extern unsigned int BIOS_revision; | |||
| 815 | 815 | ||
| 816 | /* Boot loader type from the setup header: */ | 816 | /* Boot loader type from the setup header: */ |
| 817 | extern int bootloader_type; | 817 | extern int bootloader_type; |
| 818 | extern int bootloader_version; | ||
| 818 | 819 | ||
| 819 | extern char ignore_fpu_irq; | 820 | extern char ignore_fpu_irq; |
| 820 | 821 | ||
