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