xref: /rk3399_rockchip-uboot/arch/arm/cpu/armv8/u-boot-spl.lds (revision 6184121cdc2fc45e350eb406a78dbf685f281d2e)
1b2d5ac59SScott Wood/*
2b2d5ac59SScott Wood * (C) Copyright 2013
3b2d5ac59SScott Wood * David Feng <fenghua@phytium.com.cn>
4b2d5ac59SScott Wood *
5b2d5ac59SScott Wood * (C) Copyright 2002
6b2d5ac59SScott Wood * Gary Jennejohn, DENX Software Engineering, <garyj@denx.de>
7b2d5ac59SScott Wood *
8b2d5ac59SScott Wood * (C) Copyright 2010
9b2d5ac59SScott Wood * Texas Instruments, <www.ti.com>
10b2d5ac59SScott Wood *	Aneesh V <aneesh@ti.com>
11b2d5ac59SScott Wood *
12b2d5ac59SScott Wood * SPDX-License-Identifier:	GPL-2.0+
13b2d5ac59SScott Wood */
14b2d5ac59SScott Wood
15b2d5ac59SScott WoodMEMORY { .sram : ORIGIN = CONFIG_SPL_TEXT_BASE,
16b2d5ac59SScott Wood		LENGTH = CONFIG_SPL_MAX_SIZE }
17b2d5ac59SScott WoodMEMORY { .sdram : ORIGIN = CONFIG_SPL_BSS_START_ADDR,
18b2d5ac59SScott Wood		LENGTH = CONFIG_SPL_BSS_MAX_SIZE }
19b2d5ac59SScott Wood
20b2d5ac59SScott WoodOUTPUT_FORMAT("elf64-littleaarch64", "elf64-littleaarch64", "elf64-littleaarch64")
21b2d5ac59SScott WoodOUTPUT_ARCH(aarch64)
22b2d5ac59SScott WoodENTRY(_start)
23b2d5ac59SScott WoodSECTIONS
24b2d5ac59SScott Wood{
25b2d5ac59SScott Wood	.text : {
26b2d5ac59SScott Wood		. = ALIGN(8);
27b2d5ac59SScott Wood		*(.__image_copy_start)
28b2d5ac59SScott Wood		CPUDIR/start.o (.text*)
29b2d5ac59SScott Wood		*(.text*)
30b2d5ac59SScott Wood	} >.sram
31b2d5ac59SScott Wood
32b2d5ac59SScott Wood	.rodata : {
33b2d5ac59SScott Wood		. = ALIGN(8);
34b2d5ac59SScott Wood		*(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
35b2d5ac59SScott Wood	} >.sram
36b2d5ac59SScott Wood
37b2d5ac59SScott Wood	.data : {
38b2d5ac59SScott Wood		. = ALIGN(8);
39b2d5ac59SScott Wood		*(.data*)
40b2d5ac59SScott Wood	} >.sram
41b2d5ac59SScott Wood
42b2d5ac59SScott Wood	.u_boot_list : {
43b2d5ac59SScott Wood		. = ALIGN(8);
44b2d5ac59SScott Wood		KEEP(*(SORT(.u_boot_list*)));
45b2d5ac59SScott Wood	} >.sram
46b2d5ac59SScott Wood
47b2d5ac59SScott Wood	.image_copy_end : {
48b2d5ac59SScott Wood		. = ALIGN(8);
49b2d5ac59SScott Wood		*(.__image_copy_end)
50b2d5ac59SScott Wood	} >.sram
51b2d5ac59SScott Wood
52b2d5ac59SScott Wood	.end : {
53b2d5ac59SScott Wood		. = ALIGN(8);
54b2d5ac59SScott Wood		*(.__end)
55b2d5ac59SScott Wood	} >.sram
56b2d5ac59SScott Wood
57*6184121cSAndy Yan#ifndef CONFIG_SPL_SKIP_RELOCATE
58*6184121cSAndy Yan	. = ALIGN(8);
59*6184121cSAndy Yan
60*6184121cSAndy Yan	.rel_dyn_start :
61*6184121cSAndy Yan	{
62*6184121cSAndy Yan		*(.__rel_dyn_start)
63*6184121cSAndy Yan	} >.sram
64*6184121cSAndy Yan
65*6184121cSAndy Yan	.rela.dyn : {
66*6184121cSAndy Yan		*(.rela*)
67*6184121cSAndy Yan	} >.sram
68*6184121cSAndy Yan
69*6184121cSAndy Yan	.rel_dyn_end :
70*6184121cSAndy Yan	{
71*6184121cSAndy Yan		*(.__rel_dyn_end)
72*6184121cSAndy Yan	} >.sram
73*6184121cSAndy Yan#endif
740ea6cc12SMasahiro Yamada	_image_binary_end = .;
750ea6cc12SMasahiro Yamada
76439edf61SMichal Simek	.bss_start (NOLOAD) : {
77b2d5ac59SScott Wood		. = ALIGN(8);
78b2d5ac59SScott Wood		KEEP(*(.__bss_start));
79b2d5ac59SScott Wood	} >.sdram
80b2d5ac59SScott Wood
81439edf61SMichal Simek	.bss (NOLOAD) : {
82b2d5ac59SScott Wood		*(.bss*)
83b2d5ac59SScott Wood		 . = ALIGN(8);
84b2d5ac59SScott Wood	} >.sdram
85b2d5ac59SScott Wood
86439edf61SMichal Simek	.bss_end (NOLOAD) : {
87b2d5ac59SScott Wood		KEEP(*(.__bss_end));
88b2d5ac59SScott Wood	} >.sdram
89b2d5ac59SScott Wood
90b2d5ac59SScott Wood	/DISCARD/ : { *(.dynsym) }
91b2d5ac59SScott Wood	/DISCARD/ : { *(.dynstr*) }
92b2d5ac59SScott Wood	/DISCARD/ : { *(.dynamic*) }
93b2d5ac59SScott Wood	/DISCARD/ : { *(.plt*) }
94b2d5ac59SScott Wood	/DISCARD/ : { *(.interp*) }
95b2d5ac59SScott Wood	/DISCARD/ : { *(.gnu*) }
96b2d5ac59SScott Wood}
97