blob: ae1df1719ac4b8f14a3e764a10e26a694b2d7520 [file] [log] [blame]
Stefan Roese98f99e92013-04-02 10:37:04 +02001/*
2 * Copyright 2012-2013 Stefan Roese <sr@denx.de>
3 *
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public License as
6 * published by the Free Software Foundation; either version 2 of
7 * the License, or (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
17 * MA 02111-1307 USA
18 */
19
20MEMORY
21{
22 sdram : ORIGIN = CONFIG_SPL_BSS_START_ADDR,
23 LENGTH = CONFIG_SPL_BSS_MAX_SIZE
24 flash : ORIGIN = CONFIG_SPL_TEXT_BASE,
25 LENGTH = CONFIG_SYS_SPL_MAX_LEN
26}
27
28OUTPUT_ARCH(powerpc)
29ENTRY(_start)
30SECTIONS
31{
32#ifdef CONFIG_440
33 .bootpg 0xfffff000 :
34 {
35 arch/powerpc/cpu/ppc4xx/start.o (.bootpg)
36
37 /*
38 * PPC440 board need a board specific object with the
39 * TLB definitions. This needs to get included right after
40 * start.o, since the first shadow TLB only covers 4k
41 * of address space.
42 */
43 CONFIG_BOARDDIR/init.o (.bootpg)
44 } > flash
45#endif
46
47 .resetvec 0xFFFFFFFC :
48 {
49 KEEP(*(.resetvec))
50 } > flash
51
52 .text :
53 {
54 __start = .;
55 arch/powerpc/cpu/ppc4xx/start.o (.text)
56 CONFIG_BOARDDIR/init.o (.text)
57 *(.text*)
58 } > flash
59
60 . = ALIGN(4);
61 .data : { *(SORT_BY_ALIGNMENT(.data*)) } > flash
62
63 . = ALIGN(4);
64 .rodata : { *(SORT_BY_ALIGNMENT(.rodata*)) } > flash
65
66 .bss :
67 {
68 . = ALIGN(4);
69 __bss_start = .;
70 *(.bss*)
71 . = ALIGN(4);
72 __bss_end = .;
73 } > sdram
74}