xref: /rk3399_rockchip-uboot/arch/arm/mach-zynq/u-boot-spl.lds (revision f8a4826383860318d90079bf40402447d369ad87)
10107f240SMasahiro Yamada/*
20107f240SMasahiro Yamada * Copyright (c) 2014 Xilinx, Inc. Michal Simek
30107f240SMasahiro Yamada * Copyright (c) 2004-2008 Texas Instruments
40107f240SMasahiro Yamada *
50107f240SMasahiro Yamada * (C) Copyright 2002
60107f240SMasahiro Yamada * Gary Jennejohn, DENX Software Engineering, <garyj@denx.de>
70107f240SMasahiro Yamada *
80107f240SMasahiro Yamada * SPDX-License-Identifier:	GPL-2.0+
90107f240SMasahiro Yamada */
100107f240SMasahiro Yamada
110107f240SMasahiro YamadaMEMORY { .sram : ORIGIN = CONFIG_SPL_TEXT_BASE,\
120107f240SMasahiro Yamada		LENGTH = CONFIG_SPL_MAX_SIZE }
130107f240SMasahiro YamadaMEMORY { .sdram : ORIGIN = CONFIG_SPL_BSS_START_ADDR, \
140107f240SMasahiro Yamada		LENGTH = CONFIG_SPL_BSS_MAX_SIZE }
150107f240SMasahiro Yamada
160107f240SMasahiro YamadaOUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
170107f240SMasahiro YamadaOUTPUT_ARCH(arm)
180107f240SMasahiro YamadaENTRY(_start)
190107f240SMasahiro YamadaSECTIONS
200107f240SMasahiro Yamada{
210107f240SMasahiro Yamada	. = ALIGN(4);
220107f240SMasahiro Yamada	.text :
230107f240SMasahiro Yamada	{
240107f240SMasahiro Yamada		__image_copy_start = .;
250107f240SMasahiro Yamada		*(.vectors)
260107f240SMasahiro Yamada		CPUDIR/start.o (.text*)
270107f240SMasahiro Yamada		*(.text*)
280107f240SMasahiro Yamada	} > .sram
290107f240SMasahiro Yamada
300107f240SMasahiro Yamada	. = ALIGN(4);
310107f240SMasahiro Yamada	.rodata : {
320107f240SMasahiro Yamada		*(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
330107f240SMasahiro Yamada	} > .sram
340107f240SMasahiro Yamada
350107f240SMasahiro Yamada	. = ALIGN(4);
360107f240SMasahiro Yamada	.data : {
370107f240SMasahiro Yamada		*(.data*)
380107f240SMasahiro Yamada	} > .sram
390107f240SMasahiro Yamada
400107f240SMasahiro Yamada	. = ALIGN(4);
4171556fbcSSimon Glass	.u_boot_list : {
42*f8a48263STom Rini		KEEP(*(SORT(.u_boot_list*)));
4371556fbcSSimon Glass	} > .sram
4471556fbcSSimon Glass
4571556fbcSSimon Glass	. = ALIGN(4);
460107f240SMasahiro Yamada
4771556fbcSSimon Glass	_image_binary_end = .;
480107f240SMasahiro Yamada
490107f240SMasahiro Yamada	_end = .;
500107f240SMasahiro Yamada
510107f240SMasahiro Yamada	/* Move BSS section to RAM because of FAT */
520107f240SMasahiro Yamada	.bss (NOLOAD) : {
530107f240SMasahiro Yamada		__bss_start = .;
540107f240SMasahiro Yamada		*(.bss*)
550107f240SMasahiro Yamada		 . = ALIGN(4);
560107f240SMasahiro Yamada		__bss_end = .;
570107f240SMasahiro Yamada	} > .sdram
580107f240SMasahiro Yamada
590107f240SMasahiro Yamada	/DISCARD/ : { *(.dynsym) }
600107f240SMasahiro Yamada	/DISCARD/ : { *(.dynstr*) }
610107f240SMasahiro Yamada	/DISCARD/ : { *(.dynamic*) }
620107f240SMasahiro Yamada	/DISCARD/ : { *(.plt*) }
630107f240SMasahiro Yamada	/DISCARD/ : { *(.interp*) }
640107f240SMasahiro Yamada	/DISCARD/ : { *(.gnu*) }
650107f240SMasahiro Yamada}
66