Hi Albert, On Sat, Oct 9, 2010 at 3:43 PM, Albert ARIBAUD <[email protected]> wrote: > Le 09/10/2010 07:50, Lei Wen a écrit : >> Hi, >> >> I recently try to port our board code to new uboot, which has been >> changed to use new relocation scheme. >> But I found a very strange thing, that is if the uboot is loaded to >> the TEXT_BASE address, it could run without >> problem. But if it is loaded to a different place, it fail to boot up... >> >> I check the code, and found that in the board_init_f, it calls the >> init_sequence which is stored as a data sector >> in the u-boot.bin file. While the new scheme use the fPIC, the code >> could locate the GOT table correctly, >> and it seem to forgot what the GOT table stores is context that is >> meaningful in TEXT_BASE, not the loaded base. >> That is to say, if the TEXT_BASE is 0xf00000, and loaded base is >> 0x500000, I found the GOT table also filled >> with 0xf0****, not the 0x50****. This leads the cpu loading wrong >> function address in the init_sequence table, and >> cause pc become invalid... >> >> Am I missing something to switch to the new relocation scheme? >> >> Thanks, >> Lei > > Can you indicate which hardware (architecture, cpu, SoC, etc) you're > running this code on? > I am running the code on Marvell aspen soc, which is arm926ejs compatible core.
Best regards, Lei _______________________________________________ U-Boot mailing list [email protected] http://lists.denx.de/mailman/listinfo/u-boot

