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 .bss : 43 { 44 . = ALIGN(4); 45 __bss_start = .; 46 *(.bss*) 47 . = ALIGN(4); 48 __bss_end = .; 49 } >.sdram 50} 51 52#if defined(IMAGE_MAX_SIZE) 53ASSERT(__image_copy_end - __start < (IMAGE_MAX_SIZE), \ 54 "SPL image too big"); 55#endif 56 57#if defined(CONFIG_SPL_BSS_MAX_SIZE) 58ASSERT(__bss_end - __bss_start < (CONFIG_SPL_BSS_MAX_SIZE), \ 59 "SPL image BSS too big"); 60#endif 61