xref: /linux/arch/xtensa/boot/boot-elf/boot.lds.S (revision 4413e16d9d21673bb5048a2e542f1aaa00015c2e)
1#include <variant/core.h>
2OUTPUT_ARCH(xtensa)
3ENTRY(_ResetVector)
4
5SECTIONS
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}
74