- Nov 27, 2010
-
-
Wolfgang Denk authored
Signed-off-by:
Wolfgang Denk <wd@denx.de> Cc: Kumar Gala <galak@kernel.crashing.org> Acked-by:
Stefan Roese <sr@denx.de>
-
Wolfgang Denk authored
Signed-off-by:
Wolfgang Denk <wd@denx.de> Cc: Kim Phillips <kim.phillips@freescale.com> Cc: Haiying Wang <r54964@freescale.com>
-
Wolfgang Denk authored
This commit adapts 4xx boards for partial linking with --gc-sections. Signed-off-by:
Stefan Roese <sr@denx.de> Signed-off-by:
Wolfgang Denk <wd@denx.de> Cc: Stefan Roese <sr@denx.de> Cc: Tirumala Marri <tmarri@apm.com> Cc: David Updegraff <dave@cray.com> Cc: Matthias Fuchs <matthias.fuchs@esd-electronics.com> Cc: Dirk Eibach <eibach@gdsys.de> Cc: Larry Johnson <lrj@acm.org> Cc: Peter De Schrijver <p2@mind.be> Cc: Niklaus Giger <niklaus.giger@netstal.com> Cc: Daniel Poirot <dan.poirot@windriver.com> Acked-by:
Stefan Roese <sr@denx.de>
-
Wolfgang Denk authored
The switch from archive libraries to partial linking has introduced a number of problems, that are non-trivial to solve. For example, it is no longer possible to include individual object files in the linker script as we did before for example in the case of boards with embedded environment to fill up the gap caused by the need to align the environment on flash erase block boundaries. The best (but unfortunately not easiest) approach to address this problem is to enable -ffunction-sections (and -fdata-sections) so we can again (and even in much finer granularity) place certain code where we want it. When doing this step, it seems only consequent to also add --gc-sections which has the added benefit of reducing the memory footprint of the U-Boot image (both in flash and in RAM). Unfortunately, this requires changes to a lot of linker scripts. Signed-off-by:
Wolfgang Denk <wd@denx.de> Cc: Stefan Roese <sr@denx.de> Cc: Kim Phillips <kim.phillips@freescale.com> Cc: Andy Fleming <afleming@gmail.com> Cc: Kumar Gala <galak@kernel.crashing.org> Acked-by:
Stefan Roese <sr@denx.de>
-
- Nov 26, 2010
-
-
Wolfgang Denk authored
As we try to get rid of board specific config.mk files we must provide a way for board specific settings of the LDSCRIPT variable (path to the linker script) where needed. We now implement the following hierarchy: - Highest priority has a "#define CONFIG_SYS_LDCONFIG" in the board config file. - If CONFIG_SYS_LDCONFIG is not set, and the system is booting from NAND (CONFIG_NAND_SPL is set), then a board specific linker script board/$(BOARDDIR)/u-boot-nand.lds gets used. - If we are not booting from NAND, we test if a processor specific linker script arch/powerpc/cpu/$(CPU)/u-boot.lds exists; if so we use that. - As default, arch/powerpc/config.mk gets used. Signed-off-by:
Wolfgang Denk <wd@denx.de> Cc: Stefan Roese <sr@denx.de> Cc: Kim Phillips <kim.phillips@freescale.com> Cc: Kumar Gala <kumar.gala@freescale.com> Cc: Andy Fleming <afleming@gmail.com> Acked-by:
Stefan Roese <sr@denx.de>
-
Wolfgang Denk authored
Signed-off-by:
Wolfgang Denk <wd@denx.de> Cc: Stefan Roese <sr@denx.de> Acked-by:
Stefan Roese <sr@denx.de>
-
Wolfgang Denk authored
So far, only the BAB7xx board would call the initialise_w83c553f() function for the WINBOND 83C553 chip, even though some other boards (HIDDEN_DRAGON, Sandpoint8240, Sandpoint8245) enabled it in their board configuration. These boards were also missing other config settings needed for that, which resulted in build errors like this: drivers/pci/libpci.o:(.got2+0x84): undefined reference to `ide_bus_offset' Switch arch/powerpc/lib/board.c to call initialise_w83c553f() not on a per-board base, but when a WINBOND_83C553 in enabled in a configuration (like BAB7xx), and disable it in the boards that had this set so far. Signed-off-by:
Wolfgang Denk <wd@denx.de> Cc: Yusdi Santoso <yusdi_santoso@adaptec.com> Cc: Jim Thompson <jim@musenki.com> Acked-by:
Stefan Roese <sr@denx.de>
-
Albert Aribaud authored
The start.S file was only half-rewritten for ELF relocations. This bugfix completes the rewrite. Signed-off-by:
Albert Aribaud <albert.aribaud@free.fr>
-
Albert Aribaud authored
bulk addition of ELF relocation support to ARM cpus arm946es, arm720t,arm920t, arm925t, arm_intcm, ixp, lh7a40x, s3c44b0, and sa1100. Signed-off-by:
Albert Aribaud <albert.aribaud@free.fr>
-
- Nov 20, 2010
-
-
Mike Frysinger authored
We explicitly link in the initcode.o in the Blackfin linker script, so there is no need to merge it into the main common object for the linker to pull in itself. This also fixes duplicate symbol errors with the new partial linking logic. Signed-off-by:
Mike Frysinger <vapier@gentoo.org>
-
- Nov 19, 2010
-
-
Nishanth Menon authored
DECLARE_GLOBAL_DATA_PTR is currently defined within the scope of function while it is a global pointer. Change the scope of definition to replicate it's global scope. This seems to help gcc 4.5 optimizations as well. Signed-off-by:
Nishanth Menon <nm@ti.com> Signed-off-by:
Sandeep Paulraj <s-paulraj@ti.com>
-
- Nov 18, 2010
-
-
Mike Frysinger authored
The Blackfin on-chip BootROM requires that fill operations (which is used for the bss) be aligned to 4 bytes (base addr and total len). Plus, the Blackfin early init asm code assumes the same thing. So rather than making things work for no real gain, make sure the bss len is padded to 4 bytes in the linker script. Signed-off-by:
Mike Frysinger <vapier@gentoo.org>
-
Mike Frysinger authored
This lets the linker garbage collect these functions when they aren't actually used by placing them into the standard .text.<func> section. Signed-off-by:
Mike Frysinger <vapier@gentoo.org>
-
- Nov 17, 2010
-
-
Sebastien Carlier authored
Before this commit, weak symbols were not overridden by non-weak symbols found in archive libraries when linking with recent versions of binutils. As stated in the System V ABI, "the link editor does not extract archive members to resolve undefined weak symbols". This commit changes all Makefiles to use partial linking (ld -r) instead of creating library archives, which forces all symbols to participate in linking, allowing non-weak symbols to override weak symbols as intended. This approach is also used by Linux, from which the gmake function cmd_link_o_target (defined in config.mk and used in all Makefiles) is inspired. The name of each former library archive is preserved except for extensions which change from ".a" to ".o". This commit updates references accordingly where needed, in particular in some linker scripts. This commit reveals board configurations that exclude some features but include source files that depend these disabled features in the build, resulting in undefined symbols. Known such cases include: - disabling CMD_NET but not CMD_NFS; - enabling CONFIG_OF_LIBFDT but not CONFIG_QE. Signed-off-by:
Sebastien Carlier <sebastien.carlier@gmail.com>
-
Albert Aribaud authored
older ld emitted all ELF relocations in input sections named .rel.dyn, whereas newer ld uses names of the form .rel*. The linker script only collected .rel.dyn input sections. Rewrite to collect all .rel* input sections. Signed-off-by:
Albert Aribaud <albert.aribaud@free.fr>
-
Heiko Schocher authored
Tested on upcoming hydra (mpc5200 based) board. Signed-off-by:
Heiko Schocher <hs@denx.de>
-
- Nov 14, 2010
-
-
Joakim Tjernlund authored
The fixup procedure just stored a constant value in the fixup table rather than just adjusting the table. Although that doesn't seem to do any harm, it prevents relocation more that once. Signed-off-by:
Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
-
- Nov 11, 2010
-
-
Haiying Wang authored
Use CONFIG_SYS_MONITOR_BASE instead of CONFIG_SYS_TEXT_BASE in early init code so we can share the same code with NAND or NOR boot and not have additional ifdefs in here. Signed-off-by:
Haiying Wang <Haiying.Wang@freescale.com> Signed-off-by:
Kumar Gala <galak@kernel.crashing.org>
-
Haiying Wang authored
Fix u-boot-nand.lds and u-boot-nand_spl.lds according to: Author: Peter Tyser <ptyser@xes-inc.com> Date: Wed Sep 29 14:05:56 2010 -0500 commit fbe53f59 85xx: Use gc-sections to reduce image size Signed-off-by:
Haiying Wang <Haiying.Wang@freescale.com> Signed-off-by:
Kumar Gala <galak@kernel.crashing.org>
-
- Nov 04, 2010
-
-
Heiko Schocher authored
since commit 3667cbee on beagle board the second sdram bank didn;t longer work. Since this patch sdram settings just get copied from bank a, but CMD_NOP, CMD_PRECHARGE, CMD_AUTOREFRESH are not executed and after that mr register is also not updated. This patch adds this for the bank b. Signed-off-by:
Heiko Schocher <hs@denx.de> cc: Steve Sakoman <steve@sakoman.com> cc: Sandeep Paulraj <s-paulraj@ti.com> cc: Wolfgang Denk <wd@denx.de> Signed-off-by:
Sandeep Paulraj <s-paulraj@ti.com>
-
Steve Sakoman authored
Commit c3d3a541 uses CONFIG_ARMV7 to determine whether to call the v7_flush_cache_all function. This breaks the build for all non-OMAP3 boards (like Panda and OMAP4430SDP) since there is only a v7_flush_cache_all implementation for OMAP3. This patch uses CONFIG_OMAP3XXX instead of CONFIG_ARMV7 so that only boards with a v7_flush_cache_all will make the call. Tested on Beagle, Overo, Panda, and OMAP4430SDP Signed-off-by:
Steve Sakoman <steve.sakoman@linaro.org> Signed-off-by:
Sandeep Paulraj <s-paulraj@ti.com>
-
- Nov 02, 2010
-
-
Reinhard Meyer authored
and SHDWN address entry in at91sam9260.h Signed-off-by:
Reinhard Meyer <u-boot@emk-elektronik.de>
-
- Oct 30, 2010
-
-
Reinhard Meyer authored
Signed-off-by:
Reinhard Meyer <u-boot@emk-elektronik.de>
-
- Oct 29, 2010
-
-
Wolfgang Denk authored
For ARM systems, before ELF relocation was introduced, CONFIG_SKIP_RELOCATE_UBOOT coul be used to prevent *COPYING* the U-Boot image from whereever it was loaded to it's link address (CONFIG_SYS_TEXT_BASE). The name was badly chosen, as no relocation was performed at all, it was just a memcpy(). With ELF relocation, this does not work like that any more, and related boards need to be fixed anyway. So don't keep this relict any longer. Signed-off-by:
Wolfgang Denk <wd@denx.de> Tested-by:
Heiko Schocher <hs@denx.de> Tested-by:
Reinhard Meyer <u-boot@emk-elektronik.de>
-
Wolfgang Denk authored
When this define was introduced, the idea was to provide a soft migration path for ARM boards to get adapted to the new relocation support. However, other recent changes led to a different implementation (ELF relocation), where this no longer works. By now CONFIG_SYS_ARM_WITHOUT_RELOC does not only not help any more, but it actually hurts because it obfuscates the actual code by sprinkling it with lots of dead and non-working debris. So let's make a clean cut and drop CONFIG_SYS_ARM_WITHOUT_RELOC. Signed-off-by:
Wolfgang Denk <wd@denx.de> Tested-by:
Heiko Schocher <hs@denx.de> Tested-by:
Reinhard Meyer <u-boot@emk-elektronik.de>
-
Wolfgang Denk authored
By now, the majority of architectures have working relocation support, so the few remaining architectures have become exceptions. To make this more obvious, we make working relocation now the default case, and flag the remaining cases with CONFIG_NEEDS_MANUAL_RELOC. Signed-off-by:
Wolfgang Denk <wd@denx.de> Tested-by:
Heiko Schocher <hs@denx.de> Tested-by:
Reinhard Meyer <u-boot@emk-elektronik.de>
-
- Oct 28, 2010
-
-
Tanmay Upadhyay authored
If start of any DRAM bank is greater than total DDR size, remaining DDR banks' start address & size were left un-initialized in dram_init function. This could break other functions who uses array 'gd->bd->bi_dram'. Kirkwood network driver is one example. This also stops Linux kernel from booting. v2 - Set start address also to 0. Without this Linux kernel couldn't boot up Signed-off-by:
Tanmay Upadhyay <tanmay.upadhyay@einfochips.com>
-
Shawn Guo authored
This patch is to fix build breakage and support new relocation scheme for mx51evk. - Correct IRAM base address and add size definition The IRAM starts from 0x1FFE0000 on final revsion i.mx51 than 0x1FFE8000 which is for older revision. - Include imx-regs.h in mx51evk.h Definitions like CSD0_BASE_ADDR and IRAM_BASE_ADDR can be referred to. - Define CONFIG_SYS_INIT_RAM_ADDR and CONFIG_SYS_INIT_RAM_SIZE They are used to define init RAM layout. - Remove comment for CONFIG_SYS_GBL_DATA_SIZE which has been buried by Wolfgang's commit below 25ddd1fb: Replace CONFIG_SYS_GBL_DATA_SIZE by auto-generated value Signed-off-by:
Shawn Guo <shawn.gsc@gmail.com>
-
Stefano Babic authored
The patch removes the warning: clock.c:291: warning: initialization from incompatible pointer type after constification of args[] Signed-off-by:
Stefano Babic <sbabic@denx.de>
-
Matthias Weisser authored
This patch fixes the reset command on imx25. The watchdog registers are 16 bits in size and not 32. This patch also adds the service register codes as constants. Signed-off-by:
Matthias Weisser <weisserm@arcor.de>
-
Jason Liu authored
Remove u-boot.lds from mx5 and use the common u-boot.lds of cpu layer. This patch also fix the building errors: arch/arm/cpu/armv7/start.o: In function `_rel_dyn_start_ofs': arch/arm/cpu/armv7/start.S:283: undefined reference to `__rel_dyn_start' arch/arm/cpu/armv7/start.o: In function `_rel_dyn_end_ofs': arch/arm/cpu/armv7/start.S:283: undefined reference to `__rel_dyn_end' arch/arm/cpu/armv7/start.o: In function `_dynsym_start_ofs': arch/arm/cpu/armv7/start.S:283: undefined reference to `__dynsym_start' Signed-off-by:
Jason Liu <r64343@freescale.com>
-
C Nauman authored
This patch adds generic support for the Samsung s3c2440 processor. Global s3c24x0 changes to struct members converting from upper case to lower case. Signed-off-by:
Craig Nauman <cnauman@diagraph.com> Cc: kevin.morfitt@fearnside-systems.co.uk Signed-off-by:
Minkyu Kang <mk7.kang@samsung.com>
-
Mike Frysinger authored
Now that the common code takes care of stripping away quotes and such from numeric options, we no longer need to do so ourselves. So drop the custom code we have in the Blackfin config.mk. Signed-off-by:
Mike Frysinger <vapier@gentoo.org>
-
Mike Frysinger authored
Since some of the defines in our config.h use the generated defines, we need to include the generated header. This fixes building of the Blackfin start.S file (where the stack is setup). Signed-off-by:
Mike Frysinger <vapier@gentoo.org>
-
- Oct 27, 2010
-
-
Mikhail Kshevetskiy authored
Signed-off-by:
Mikhail Kshevetskiy <mikhail.kshevetskiy@gmail.com>
-
Wolfgang Denk authored
Signed-off-by:
Wolfgang Denk <wd@denx.de>
-
- Oct 26, 2010
-
-
Wolfgang Denk authored
For the "fixloop" implementation in start.S a number of different instructions was used. Unify code so all architectures use "blo" here because it is more robust in case of incorrect alignments. Signed-off-by:
Wolfgang Denk <wd@denx.de> Cc: Albert ARIBAUD <albert.aribaud@free.fr> Cc: Minkyu Kang <mk7.kang@samsung.com> Cc: Sandeep Paulraj <s-paulraj@ti.com> Cc: Prafulla Wadaskar <prafulla@marvell.com> Cc: Stefano Babic <sbabic@denx.de> Cc: Marek Vasut <marek.vasut@gmail.com> Acked-by:
Heiko Schocher <hs@denx.de>
-
Heiko Schocher authored
Fix warning: bootm.c: In function 'bootm_linux_fdt': bootm.c:181: warning: unused variable 's' bootm.c:180: warning: unused variable 'bd' Signed-off-by:
Heiko Schocher <hs@denx.de>
-
Darius Augulis authored
Fix relocation code for arm1176, do it like other ARM CPU's are doing. Tested only with CONFIG_SKIP_RELOCATE_UBOOT defined and using nand_spl (booting from nand). Test done on s3c6410 based board (not yet supported in main line). Signed-off-by:
Darius Augulis <augulis.darius@gmail.com>
-
Darius Augulis authored
Fix address setup bug for ARM. This bug stops u-boot booting if CONFIG_SKIP_RELOCATE_UBOOT is defined. Signed-off-by:
Darius Augulis <augulis.darius@gmail.com>
-