[U-Boot] question on do_bootm()
J.Hwan.Kim
frog1120 at gmail.com
Wed Jun 17 03:01:36 CEST 2009
Hi, everyone
I have a question on relocation of boot function table in do_bootm().
The boot function table boot_os[] has a pointer of functions such as
do_bootm_linux().
I think the address of the symbol "do_bootm_linux" has relocated address
by linker.
But there is address-modifying routine in do_bootm()
if (!relocated) {
int i;
for (i = 0; i < ARRAY_SIZE(boot_os); i++)
boot_os[i] += gd->reloc_off;
relocated = 1;
}
Why the routine above is needed?
Isn't the addresses of boot functions already relocated one?
Thanks in advance.
Regards,
J.H.Kim
More information about the U-Boot
mailing list