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