diff options
Diffstat (limited to 'arch/xtensa/boot/boot-elf/boot.lds.S')
-rw-r--r-- | arch/xtensa/boot/boot-elf/boot.lds.S | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/arch/xtensa/boot/boot-elf/boot.lds.S b/arch/xtensa/boot/boot-elf/boot.lds.S new file mode 100644 index 000000000000..849dfcafd518 --- /dev/null +++ b/arch/xtensa/boot/boot-elf/boot.lds.S | |||
@@ -0,0 +1,73 @@ | |||
1 | #include <asm/variant/core.h> | ||
2 | OUTPUT_ARCH(xtensa) | ||
3 | ENTRY(_ResetVector) | ||
4 | |||
5 | SECTIONS | ||
6 | { | ||
7 | .start 0xD0000000 : { *(.start) } | ||
8 | |||
9 | .text 0xD0000000: | ||
10 | { | ||
11 | __reloc_start = . ; | ||
12 | _text_start = . ; | ||
13 | *(.literal .text.literal .text) | ||
14 | _text_end = . ; | ||
15 | } | ||
16 | |||
17 | .rodata ALIGN(0x04): | ||
18 | { | ||
19 | *(.rodata) | ||
20 | *(.rodata1) | ||
21 | } | ||
22 | |||
23 | .data ALIGN(0x04): | ||
24 | { | ||
25 | *(.data) | ||
26 | *(.data1) | ||
27 | *(.sdata) | ||
28 | *(.sdata2) | ||
29 | *(.got.plt) | ||
30 | *(.got) | ||
31 | *(.dynamic) | ||
32 | } | ||
33 | |||
34 | __reloc_end = . ; | ||
35 | |||
36 | .initrd ALIGN(0x10) : | ||
37 | { | ||
38 | boot_initrd_start = . ; | ||
39 | *(.initrd) | ||
40 | boot_initrd_end = .; | ||
41 | } | ||
42 | |||
43 | . = ALIGN(0x10); | ||
44 | __image_load = . ; | ||
45 | .image 0xd0001000: | ||
46 | { | ||
47 | _image_start = .; | ||
48 | *(image) | ||
49 | . = (. + 3) & ~ 3; | ||
50 | _image_end = . ; | ||
51 | } | ||
52 | |||
53 | |||
54 | .bss ((LOADADDR(.image) + SIZEOF(.image) + 3) & ~ 3): | ||
55 | { | ||
56 | __bss_start = .; | ||
57 | *(.sbss) | ||
58 | *(.scommon) | ||
59 | *(.dynbss) | ||
60 | *(.bss) | ||
61 | __bss_end = .; | ||
62 | } | ||
63 | _end = .; | ||
64 | _param_start = .; | ||
65 | |||
66 | .ResetVector.text XCHAL_RESET_VECTOR_VADDR : | ||
67 | { | ||
68 | *(.ResetVector.text) | ||
69 | } | ||
70 | |||
71 | |||
72 | PROVIDE (end = .); | ||
73 | } | ||