blob: cc353e1b3ffd49185f2cf0683e21894462f0c1de [file] [log] [blame]
Linus Torvalds51b26ad2009-04-26 10:12:47 -07001OUTPUT_FORMAT(CONFIG_OUTPUT_FORMAT, CONFIG_OUTPUT_FORMAT, CONFIG_OUTPUT_FORMAT)
2
Sam Ravnborg83c48322009-04-30 12:03:16 +02003#undef i386
4
H. Peter Anvin5b11f1c2009-05-08 16:20:34 -07005#include <asm/page_types.h>
6
Linus Torvalds51b26ad2009-04-26 10:12:47 -07007#ifdef CONFIG_X86_64
Vivek Goyal1ab60e02007-05-02 19:27:07 +02008OUTPUT_ARCH(i386:x86-64)
9ENTRY(startup_64)
Linus Torvalds51b26ad2009-04-26 10:12:47 -070010#else
11OUTPUT_ARCH(i386)
12ENTRY(startup_32)
13#endif
14
Vivek Goyal1ab60e02007-05-02 19:27:07 +020015SECTIONS
16{
Yinghai Lu32ed9372008-02-01 17:49:41 +010017 /* Be careful parts of head_64.S assume startup_32 is at
Ian Campbellafe0bc62008-01-30 13:33:37 +010018 * address 0.
Vivek Goyal1ab60e02007-05-02 19:27:07 +020019 */
20 . = 0;
Ian Campbell20514e92008-01-30 13:33:38 +010021 .text.head : {
Vivek Goyal1ab60e02007-05-02 19:27:07 +020022 _head = . ;
23 *(.text.head)
24 _ehead = . ;
Ian Campbell20514e92008-01-30 13:33:38 +010025 }
26 .rodata.compressed : {
27 *(.rodata.compressed)
28 }
29 .text : {
Vivek Goyal1ab60e02007-05-02 19:27:07 +020030 _text = .; /* Text */
31 *(.text)
32 *(.text.*)
33 _etext = . ;
34 }
35 .rodata : {
36 _rodata = . ;
37 *(.rodata) /* read-only data */
38 *(.rodata.*)
39 _erodata = . ;
40 }
41 .data : {
42 _data = . ;
43 *(.data)
44 *(.data.*)
45 _edata = . ;
46 }
H. Peter Anvin0b4eb462009-04-30 17:59:36 -070047 . = ALIGN(CONFIG_X86_L1_CACHE_BYTES);
Vivek Goyal1ab60e02007-05-02 19:27:07 +020048 .bss : {
49 _bss = . ;
50 *(.bss)
51 *(.bss.*)
52 *(COMMON)
H. Peter Anvin5b11f1c2009-05-08 16:20:34 -070053 . = ALIGN(8); /* For convenience during zeroing */
Yinghai Lu4a9f54c2008-04-10 15:06:38 -070054 _ebss = .;
Vivek Goyal1ab60e02007-05-02 19:27:07 +020055 }
H. Peter Anvin5b11f1c2009-05-08 16:20:34 -070056#ifdef CONFIG_X86_64
57 . = ALIGN(PAGE_SIZE);
58 .pgtable : {
59 _pgtable = . ;
60 *(.pgtable)
61 _epgtable = . ;
62 }
63#endif
64 _end = .;
Vivek Goyal1ab60e02007-05-02 19:27:07 +020065}