[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