1/* SPDX-License-Identifier: GPL-2.0+ */ 2/* 3 * Copyright (C) 2015 Atmel Corporation 4 * Bo Shen <voice.shen@atmel.com> 5 */ 6 7MEMORY { .sram : ORIGIN = IMAGE_TEXT_BASE, \ 8 LENGTH = IMAGE_MAX_SIZE } 9MEMORY { .sdram : ORIGIN = CONFIG_SPL_BSS_START_ADDR, \ 10 LENGTH = CONFIG_SPL_BSS_MAX_SIZE } 11 12OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") 13OUTPUT_ARCH(arm) 14ENTRY(_start) 15SECTIONS 16{ 17 .text : 18 { 19 __start = .; 20 *(.vectors) 21 arch/arm/cpu/arm926ejs/start.o (.text*) 22 *(.text*) 23 } >.sram 24 25 . = ALIGN(4); 26 .rodata : { *(SORT_BY_ALIGNMENT(.rodata*)) } >.sram 27 28 . = ALIGN(4); 29 .data : { *(SORT_BY_ALIGNMENT(.data*)) } >.sram 30 31 . = ALIGN(4); 32 .u_boot_list : { KEEP(*(SORT(.u_boot_list*))) } > .sram 33 34 . = ALIGN(4); 35 __image_copy_end = .; 36 37 .end : 38 { 39 *(.__end) 40 } >.sram 41 42 _image_binary_end = .; 43 44 .bss : 45 { 46 . = ALIGN(4); 47 __bss_start = .; 48 *(.bss*) 49 . = ALIGN(4); 50 __bss_end = .; 51 } >.sdram 52} 53 54#if defined(IMAGE_MAX_SIZE) 55ASSERT(__image_copy_end - __start <= (IMAGE_MAX_SIZE), \ 56 "SPL image too big"); 57#endif 58 59#if defined(CONFIG_SPL_BSS_MAX_SIZE) 60ASSERT(__bss_end - __bss_start <= (CONFIG_SPL_BSS_MAX_SIZE), \ 61 "SPL image BSS too big"); 62#endif 63