aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorYinghai Lu <yinghai@kernel.org>2013-01-24 15:20:07 -0500
committerH. Peter Anvin <hpa@linux.intel.com>2013-01-29 22:32:57 -0500
commit8ee2f2dfdbdfe1851fcc0191b2d4faa4c26a39fb (patch)
tree01032cfcd27238ac44a3447ca4d07c4685bdb359 /arch
parentee92d815027a76ef92f3ec7b155b0c8aa345f239 (diff)
x86, boot: Update comments about entries for 64bit image
Now 64bit entry is fixed on 0x200, can not be changed anymore. Update the comments to reflect that. Also put info about it in boot.txt -v2: fix some grammar error Signed-off-by: Yinghai Lu <yinghai@kernel.org> Link: http://lkml.kernel.org/r/1359058816-7615-27-git-send-email-yinghai@kernel.org Cc: Rob Landley <rob@landley.net> Cc: Matt Fleming <matt.fleming@intel.com> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/boot/compressed/head_64.S22
1 files changed, 13 insertions, 9 deletions
diff --git a/arch/x86/boot/compressed/head_64.S b/arch/x86/boot/compressed/head_64.S
index 5c80b94f6c4a..d9ae9a4ffcb9 100644
--- a/arch/x86/boot/compressed/head_64.S
+++ b/arch/x86/boot/compressed/head_64.S
@@ -37,6 +37,12 @@
37 __HEAD 37 __HEAD
38 .code32 38 .code32
39ENTRY(startup_32) 39ENTRY(startup_32)
40 /*
41 * 32bit entry is 0 and it is ABI so immutable!
42 * If we come here directly from a bootloader,
43 * kernel(text+data+bss+brk) ramdisk, zero_page, command line
44 * all need to be under the 4G limit.
45 */
40 cld 46 cld
41 /* 47 /*
42 * Test KEEP_SEGMENTS flag to see if the bootloader is asking 48 * Test KEEP_SEGMENTS flag to see if the bootloader is asking
@@ -182,20 +188,18 @@ ENTRY(startup_32)
182 lret 188 lret
183ENDPROC(startup_32) 189ENDPROC(startup_32)
184 190
185 /*
186 * Be careful here startup_64 needs to be at a predictable
187 * address so I can export it in an ELF header. Bootloaders
188 * should look at the ELF header to find this address, as
189 * it may change in the future.
190 */
191 .code64 191 .code64
192 .org 0x200 192 .org 0x200
193ENTRY(startup_64) 193ENTRY(startup_64)
194 /* 194 /*
195 * 64bit entry is 0x200 and it is ABI so immutable!
195 * We come here either from startup_32 or directly from a 196 * We come here either from startup_32 or directly from a
196 * 64bit bootloader. If we come here from a bootloader we depend on 197 * 64bit bootloader.
197 * an identity mapped page table being provied that maps our 198 * If we come here from a bootloader, kernel(text+data+bss+brk),
198 * entire text+data+bss and hopefully all of memory. 199 * ramdisk, zero_page, command line could be above 4G.
200 * We depend on an identity mapped page table being provided
201 * that maps our entire kernel(text+data+bss+brk), zero page
202 * and command line.
199 */ 203 */
200#ifdef CONFIG_EFI_STUB 204#ifdef CONFIG_EFI_STUB
201 /* 205 /*