grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v3 4/7] linux: ignore FDT unless we need to modify it


From: Daniel Kiper
Subject: Re: [PATCH v3 4/7] linux: ignore FDT unless we need to modify it
Date: Thu, 25 Nov 2021 17:16:36 +0100
User-agent: NeoMutt/20170113 (1.7.2)

On Thu, Oct 28, 2021 at 11:31:17PM +0300, Nikita Ermakov wrote:
> From: Ard Biesheuvel <ard.biesheuvel@arm.com>
>
> Now that we implemented supported for the LoadFile2 protocol for initrd
> loading, there is no longer a need to pass the initrd parameters via
> the device tree. This means there is no longer a reason to update the
> device tree in the first place, and so we can ignore it entirely.
>
> The only remaining reason to deal with the devicetree is if we are
> using the 'devicetree' command to load one from disk, so tweak the
> logic in grub_fdt_install() to take that into account.
>
> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@arm.com>
> ---
>  grub-core/loader/arm64/linux.c | 22 +++++++++++-----------
>  grub-core/loader/efi/fdt.c     |  7 +++++--
>  2 files changed, 16 insertions(+), 13 deletions(-)
>
> diff --git a/grub-core/loader/arm64/linux.c b/grub-core/loader/arm64/linux.c
> index 6b03455d1..65f1275fb 100644
> --- a/grub-core/loader/arm64/linux.c
> +++ b/grub-core/loader/arm64/linux.c
> @@ -95,21 +95,21 @@ finalize_params_linux (void)
>
>    void *fdt;
>
> -  fdt = grub_fdt_load (GRUB_EFI_LINUX_FDT_EXTRA_SPACE);
> +  /* Set initrd info */
> +  if (initrd_start && initrd_end > initrd_start)
> +    {
> +      fdt = grub_fdt_load (GRUB_EFI_LINUX_FDT_EXTRA_SPACE);
>
> -  if (!fdt)
> -    goto failure;
> +      if (!fdt)
> +     goto failure;
>
> -  node = grub_fdt_find_subnode (fdt, 0, "chosen");
> -  if (node < 0)
> -    node = grub_fdt_add_subnode (fdt, 0, "chosen");
> +      node = grub_fdt_find_subnode (fdt, 0, "chosen");
> +      if (node < 0)
> +     node = grub_fdt_add_subnode (fdt, 0, "chosen");
>
> -  if (node < 1)
> -    goto failure;
> +      if (node < 1)
> +     goto failure;
>
> -  /* Set initrd info */
> -  if (initrd_start && initrd_end > initrd_start)
> -    {
>        grub_dprintf ("linux", "Initrd @ %p-%p\n",
>                   (void *) initrd_start, (void *) initrd_end);

You are saying in the commit message that this code is not needed any
longer but effectively it stay as is. Something is wrong here. I think
the commit message should be improved or the initrd FDT code should be
removed entirely.

Daniel



reply via email to

[Prev in Thread] Current Thread [Next in Thread]