xref: /openbmc/u-boot/arch/arm/cpu/armv8/u-boot-spl.lds (revision 2f41ade79e5969ebea03a7dcadbeae8e03787d7e)
183d290c5STom Rini/* SPDX-License-Identifier: GPL-2.0+ */
2b2d5ac59SScott Wood/*
3b2d5ac59SScott Wood * (C) Copyright 2013
4b2d5ac59SScott Wood * David Feng <fenghua@phytium.com.cn>
5b2d5ac59SScott Wood *
6b2d5ac59SScott Wood * (C) Copyright 2002
7b2d5ac59SScott Wood * Gary Jennejohn, DENX Software Engineering, <garyj@denx.de>
8b2d5ac59SScott Wood *
9b2d5ac59SScott Wood * (C) Copyright 2010
10b2d5ac59SScott Wood * Texas Instruments, <www.ti.com>
11b2d5ac59SScott Wood *	Aneesh V <aneesh@ti.com>
12b2d5ac59SScott Wood */
13b2d5ac59SScott Wood
14*2f41ade7STom RiniMEMORY { .sram : ORIGIN = IMAGE_TEXT_BASE,
15*2f41ade7STom Rini		LENGTH = IMAGE_MAX_SIZE }
16b2d5ac59SScott WoodMEMORY { .sdram : ORIGIN = CONFIG_SPL_BSS_START_ADDR,
17b2d5ac59SScott Wood		LENGTH = CONFIG_SPL_BSS_MAX_SIZE }
18b2d5ac59SScott Wood
19b2d5ac59SScott WoodOUTPUT_FORMAT("elf64-littleaarch64", "elf64-littleaarch64", "elf64-littleaarch64")
20b2d5ac59SScott WoodOUTPUT_ARCH(aarch64)
21b2d5ac59SScott WoodENTRY(_start)
22b2d5ac59SScott WoodSECTIONS
23b2d5ac59SScott Wood{
24b2d5ac59SScott Wood	.text : {
25b2d5ac59SScott Wood		. = ALIGN(8);
26b2d5ac59SScott Wood		*(.__image_copy_start)
27b2d5ac59SScott Wood		CPUDIR/start.o (.text*)
28b2d5ac59SScott Wood		*(.text*)
29b2d5ac59SScott Wood	} >.sram
30b2d5ac59SScott Wood
31b2d5ac59SScott Wood	.rodata : {
32b2d5ac59SScott Wood		. = ALIGN(8);
33b2d5ac59SScott Wood		*(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
34b2d5ac59SScott Wood	} >.sram
35b2d5ac59SScott Wood
36b2d5ac59SScott Wood	.data : {
37b2d5ac59SScott Wood		. = ALIGN(8);
38b2d5ac59SScott Wood		*(.data*)
39b2d5ac59SScott Wood	} >.sram
40b2d5ac59SScott Wood
41b2d5ac59SScott Wood	.u_boot_list : {
42b2d5ac59SScott Wood		. = ALIGN(8);
43b2d5ac59SScott Wood		KEEP(*(SORT(.u_boot_list*)));
44b2d5ac59SScott Wood	} >.sram
45b2d5ac59SScott Wood
46b2d5ac59SScott Wood	.image_copy_end : {
47b2d5ac59SScott Wood		. = ALIGN(8);
48b2d5ac59SScott Wood		*(.__image_copy_end)
49b2d5ac59SScott Wood	} >.sram
50b2d5ac59SScott Wood
51b2d5ac59SScott Wood	.end : {
52b2d5ac59SScott Wood		. = ALIGN(8);
53b2d5ac59SScott Wood		*(.__end)
54b2d5ac59SScott Wood	} >.sram
55b2d5ac59SScott Wood
560ea6cc12SMasahiro Yamada	_image_binary_end = .;
570ea6cc12SMasahiro Yamada
58439edf61SMichal Simek	.bss_start (NOLOAD) : {
59b2d5ac59SScott Wood		. = ALIGN(8);
60b2d5ac59SScott Wood		KEEP(*(.__bss_start));
61b2d5ac59SScott Wood	} >.sdram
62b2d5ac59SScott Wood
63439edf61SMichal Simek	.bss (NOLOAD) : {
64b2d5ac59SScott Wood		*(.bss*)
65b2d5ac59SScott Wood		 . = ALIGN(8);
66b2d5ac59SScott Wood	} >.sdram
67b2d5ac59SScott Wood
68439edf61SMichal Simek	.bss_end (NOLOAD) : {
69b2d5ac59SScott Wood		KEEP(*(.__bss_end));
70b2d5ac59SScott Wood	} >.sdram
71b2d5ac59SScott Wood
72b2d5ac59SScott Wood	/DISCARD/ : { *(.dynsym) }
73b2d5ac59SScott Wood	/DISCARD/ : { *(.dynstr*) }
74b2d5ac59SScott Wood	/DISCARD/ : { *(.dynamic*) }
75b2d5ac59SScott Wood	/DISCARD/ : { *(.plt*) }
76b2d5ac59SScott Wood	/DISCARD/ : { *(.interp*) }
77b2d5ac59SScott Wood	/DISCARD/ : { *(.gnu*) }
78b2d5ac59SScott Wood}
79