add uboot-oxnas
[15.05/openwrt.git] / package / boot / uboot-oxnas / files / board / ox820 / u-boot-spl.lds
1 /*
2  * Copyright (C) 2011 Marek Vasut <marek.vasut@gmail.com>
3  * on behalf of DENX Software Engineering GmbH
4  *
5  * January 2004 - Changed to support H4 device
6  * Copyright (c) 2004-2008 Texas Instruments
7  *
8  * (C) Copyright 2002
9  * Gary Jennejohn, DENX Software Engineering, <garyj@denx.de>
10  *
11  * See file CREDITS for list of people who contributed to this
12  * project.
13  *
14  * This program is free software; you can redistribute it and/or
15  * modify it under the terms of the GNU General Public License as
16  * published by the Free Software Foundation; either version 2 of
17  * the License, or (at your option) any later version.
18  *
19  * This program is distributed in the hope that it will be useful,
20  * but WITHOUT ANY WARRANTY; without even the implied warranty of
21  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22  * GNU General Public License for more details.
23  *
24  * You should have received a copy of the GNU General Public License
25  * along with this program; if not, write to the Free Software
26  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
27  * MA 02111-1307 USA
28  */
29
30 MEMORY
31 {
32          sram (rwx) : ORIGIN = CONFIG_SPL_TEXT_BASE, LENGTH = CONFIG_SPL_MAX_SIZE
33          dram : ORIGIN = CONFIG_SPL_BSS_DRAM_START, LENGTH = CONFIG_SPL_BSS_DRAM_SIZE
34 }
35
36 OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
37 OUTPUT_ARCH(arm)
38 ENTRY(_spl_start)
39 SECTIONS
40 {
41         .text.0 :
42         {
43                 *(.init*)
44         }
45
46
47         /* Start of the rest of the SPL */
48         code_start = . ;
49
50         .text.1 :
51         {
52                 *(.text*)
53         }
54
55         . = ALIGN(4);
56         .rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
57
58         . = ALIGN(4);
59         .data : {
60                 *(.data*)
61         }
62
63         . = ALIGN(4);
64
65         __image_copy_end = .;
66         code_size = . - code_start;
67
68         .rel.dyn : {
69                 __rel_dyn_start = .;
70                 *(.rel*)
71                 __rel_dyn_end = .;
72         }
73
74         . = ALIGN(0x800);
75
76         _end = .;
77
78         .bss.sram __rel_dyn_start (OVERLAY) : {
79                 __bss_start = .;
80                 *(.bss.stdio_devices)
81                 *(.bss.serial_current)
82                  . = ALIGN(4);
83                 __bss_end = .;
84         }
85
86         .bss : {
87                 __bss_dram_start = .;
88                 *(.bss*)
89                 __bss_dram_end = .;
90         } > dram
91
92         /DISCARD/ : { *(.bss*) }
93         /DISCARD/ : { *(.dynsym) }
94         /DISCARD/ : { *(.dynstr*) }
95         /DISCARD/ : { *(.dynsym*) }
96         /DISCARD/ : { *(.dynamic*) }
97         /DISCARD/ : { *(.hash*) }
98         /DISCARD/ : { *(.plt*) }
99         /DISCARD/ : { *(.interp*) }
100         /DISCARD/ : { *(.gnu*) }
101 }