[U-Boot] [PATCH] bootm: mips: Remove boot_reloc_ramdisk

Daniel Schwierzeck daniel.schwierzeck at gmail.com
Thu Mar 7 17:33:21 UTC 2019


Am Do., 7. März 2019 um 16:49 Uhr schrieb Horatiu Vultur
<horatiu.vultur at microchip.com>:
>
> Remove the function boot_reloc_ramdisk in the file arch/mips/lib/bootm
> because it is relocating again the ramdisk. The function do_bootm_states()
> already relocates the ramdisk even if it is a legacy uImage or a FIT image.
>
> The relocation in the function do_bootm_states() was introduce in the
> commit c2e7e72bb9f0cb47d024997b381cb64786eb5402 ("bootm: relocate ramdisk
> if CONFIG_SYS_BOOT_RAMDISK_HIGH set")
>
> Signed-off-by: Horatiu Vultur <horatiu.vultur at microchip.com>
> ---
>  arch/mips/lib/bootm.c | 19 -------------------
>  1 file changed, 19 deletions(-)
>
> diff --git a/arch/mips/lib/bootm.c b/arch/mips/lib/bootm.c
> index deca518..35152cb 100644
> --- a/arch/mips/lib/bootm.c
> +++ b/arch/mips/lib/bootm.c
> @@ -215,23 +215,6 @@ static void linux_env_legacy(bootm_headers_t *images)
>         }
>  }
>
> -static int boot_reloc_ramdisk(bootm_headers_t *images)
> -{
> -       ulong rd_len = images->rd_end - images->rd_start;
> -
> -       /*
> -        * In case of legacy uImage's, relocation of ramdisk is already done
> -        * by do_bootm_states() and should not repeated in 'bootm prep'.
> -        */
> -       if (images->state & BOOTM_STATE_RAMDISK) {
> -               debug("## Ramdisk already relocated\n");
> -               return 0;
> -       }
> -
> -       return boot_ramdisk_high(&images->lmb, images->rd_start,
> -               rd_len, &images->initrd_start, &images->initrd_end);
> -}
> -
>  static int boot_reloc_fdt(bootm_headers_t *images)
>  {
>         /*
> @@ -270,8 +253,6 @@ static int boot_setup_fdt(bootm_headers_t *images)
>
>  static void boot_prep_linux(bootm_headers_t *images)
>  {
> -       boot_reloc_ramdisk(images);
> -
>         if (CONFIG_IS_ENABLED(MIPS_BOOT_FDT) && images->ft_len) {
>                 boot_reloc_fdt(images);
>                 boot_setup_fdt(images);
> --
> 2.7.4
>

Combined with c2e7e72bb9f0cb47d024997b381cb64786eb5402 it looks right.
But could you please verify that following scenarios still work?

- bootm uImage_legacy_addr initrd_addr
- bootm start uImage_legacy_addr initrd_addr + bootm loados ramdisk
fdt prep go (single step)
- bootm uImage_fit_addr
- bootm start uImage_fit_addr (single step) + bootm loados ramdisk fdt
prep go (single step)

-- 
- Daniel


More information about the U-Boot mailing list