
Hi Charles,
Thanks for the info. We have a primary boot loader, which read the flash which might contain more than one existing mod-image(containing header, uboot and kernel) and depending on the state and condition it decides which mod is valid and copies the uboot from the valid mod-image to RAM.
So our primary bootloader is needed to load correct version of u-boot to RAM from flash. But I am looking for a fix where in the uboot should setup the stack and gp and start executing from RAM and not to copy/relocate itself all over again to different RAM (High-memory region) location.
Thanks, Pandu
On Thu, Mar 3, 2011 at 3:27 PM, Charles Krinke charles.krinke@gmail.comwrote:
Dear Pandurang:
Sounds like you have battling boot loaders going on, perhaps with the Broadcom CFE (Common Firmware Environment) ?
Someone else may have some data on CONFIG_SKIP_RELOCATE_UBOOT, or you could reflash your target and replace the existing bootloader with the U-Boot bootloader so your bootloaders are not battling for the same resource.
Charles
On Thu, Mar 3, 2011 at 2:08 AM, Pandurang Kale kale.pandurang@gmail.comwrote:
Hello Everyone,
We have MIPS based development board and I am trying to get the uboot up and running on it. We have a primary bootloader which check for the valid mod-image stored on the flash. This mod-image consist of header, uboot and linux kernel. Depending on the recent, active and stable imagethe primary bootloader first copies the uboot image. and later on we would copy the kernel image from uboot.
But when primary bootloader copies the uboot image to the RAM and passes the control to the uboot, uboot (MIPS version of start.S and arch/mips/lib/borad.c) tries to relocate the already copied image from RAM (the primary bootloader copied it to start of the RAM+1MB address) to top of the RAM (0x87fc0000) region thinking that the uboot image is stored in flash.
All I need to do is skip the uboot relocate code in MIPS version of uboot startup as the primary bootloader has already relocated the uboot from Flash to RAM and set up the stack pointer and other global data appropriately, which it does after relocation. I can see there is a switch for ARM processor, CONFIG_SKIP_RELOCATE_UBOOT, which skips the relocation of uboot code and tries to run the uboot from RAM. I cannot see a similar switch implemented for MIPS and didnt find any related thread anywhere in mailing list or on net.
Do we have similar ARM like switch to SKIP the RELOCATION? If not has anyone done this before?
I would really appreciate if you can guide me to overcome this issue to run the uboot cleanly skipping the relocation.
Thanks in advance, Pandu
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
-- Charles Krinke