2 * Copyright 2007-2009 Freescale Semiconductor, Inc.
4 * SPDX-License-Identifier: GPL-2.0+
7 #include "config.h" /* CONFIG_BOARDDIR */
9 #ifndef RESET_VECTOR_ADDRESS
10 #ifdef CONFIG_RESET_VECTOR_ADDRESS
11 #define RESET_VECTOR_ADDRESS CONFIG_RESET_VECTOR_ADDRESS
13 #define RESET_VECTOR_ADDRESS 0xfffffffc
27 /* Read-only sections, merged into text segment: */
37 *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
40 /* Read-write section, merged into data segment: */
41 . = (. + 0x00FF) & 0xFFFFFF00;
43 PROVIDE (erotext = .);
49 PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
53 __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_) >> 2) - 1;
54 __fixup_entries = (. - _FIXUP_TABLE_) >> 2;
68 KEEP(*(SORT(.u_boot_list*)));
72 __start___ex_table = .;
73 __ex_table : { *(__ex_table) }
74 __stop___ex_table = .;
78 .text.init : { *(.text.init) }
82 LONG(0) LONG(0) /* Extend u-boot.bin to here */
89 .bootpg RESET_VECTOR_ADDRESS - 0xffc :
91 arch/powerpc/cpu/ppc4xx/start.o (.bootpg)
94 * PPC440 board need a board specific object with the
95 * TLB definitions. This needs to get included right after
96 * start.o, since the first shadow TLB only covers 4k
99 #ifdef CONFIG_INIT_TLB
100 CONFIG_INIT_TLB (.bootpg)
102 CONFIG_BOARDDIR/init.o (.bootpg)
107 .resetvec RESET_VECTOR_ADDRESS :
112 . = RESET_VECTOR_ADDRESS + 0x4;
115 * Make sure that the bss segment isn't linked at 0x0, otherwise its
116 * address won't be updated during relocation fixups. Note that
117 * this is a temporary fix. Code to dynamically the fixup the bss
118 * location will be added in the future. When the bss relocation
119 * fixup code is present this workaround should be removed.
121 #if (RESET_VECTOR_ADDRESS == 0xfffffffc)
124 #endif /* CONFIG_SPL */