[U-Boot] [PATCH] bootm: mips: Remove boot_reloc_ramdisk
Daniel Schwierzeck
daniel.schwierzeck at gmail.com
Fri Mar 15 11:17:01 UTC 2019
Am 08.03.19 um 13:30 schrieb Horatiu Vultur:
> Hi Daniel,
>
> The 03/07/2019 18:33, Daniel Schwierzeck wrote:
>> 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(-)
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck at gmail.com>
>>>
>>> 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)
>
> I tried all the above cases and all seems to work fine. I managed to
> start the linux kernel and it found the ramdisk. One observation
> in my case I used also a DT, but I don't see how this can influence the
> tests.
>
thanks for testing
--
- Daniel
More information about the U-Boot
mailing list