All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Beulich <jbeulich@suse.com>
To: Luca Fancellu <luca.fancellu@arm.com>
Cc: bertrand.marquis@arm.com, wei.chen@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v4 2/3] arm/efi: Use dom0less configuration when using EFI boot
Date: Fri, 1 Oct 2021 13:02:21 +0200	[thread overview]
Message-ID: <2fa4be34-9c69-21cb-632f-f566caf622ca@suse.com> (raw)
In-Reply-To: <20210930142846.13348-3-luca.fancellu@arm.com>

On 30.09.2021 16:28, Luca Fancellu wrote:
> --- a/xen/common/efi/boot.c
> +++ b/xen/common/efi/boot.c
> @@ -1127,15 +1127,17 @@ efi_start(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable)
>      static EFI_GUID __initdata shim_lock_guid = SHIM_LOCK_PROTOCOL_GUID;
>      EFI_LOADED_IMAGE *loaded_image;
>      EFI_STATUS status;
> -    unsigned int i, argc;
> -    CHAR16 **argv, *file_name, *cfg_file_name = NULL, *options = NULL;
> +    unsigned int i, argc = 0;
> +    CHAR16 **argv, *file_name = NULL, *cfg_file_name = NULL, *options = NULL;

Are these two changes really still needed?

> @@ -1285,14 +1286,13 @@ efi_start(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable)
>              efi_bs->FreePool(name.w);
>          }
>  
> -        if ( !name.s )
> -            blexit(L"No Dom0 kernel image specified.");
> -
>          efi_arch_cfg_file_early(loaded_image, dir_handle, section.s);
>  
> -        option_str = split_string(name.s);
> +        if ( name.s )
> +            option_str = split_string(name.s);

        option_str = name.s ? split_string(name.s) : NULL;

would be the less intrusive change (eliminating the need to add an
initialized for option_str). Or if you really want to stick to your
model, then please at the same time at least move option_str into
the more narrow scope.

> @@ -1361,12 +1361,30 @@ efi_start(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable)
>          efi_bs->FreePages(cfg.addr, PFN_UP(cfg.size));
>          cfg.addr = 0;
>  
> -        dir_handle->Close(dir_handle);
> -
>          if ( gop && !base_video )
>              gop_mode = efi_find_gop_mode(gop, cols, rows, depth);
>      }
>  
> +#ifdef CONFIG_HAS_DEVICE_TREE
> +    /* Get the number of boot modules specified on the DT or an error (<0) */
> +    dt_modules_found = efi_arch_check_dt_boot(dir_handle);
> +#endif

So I had asked to add a stub enclosed in such an #ifdef, to avoid the
#ifdef here. I may be willing to let you keep things as you have them
now, but I'd like to understand why you've picked that different
approach despite the prior discussion.

> +    dir_handle->Close(dir_handle);
> +
> +    if ( dt_modules_found < 0 )
> +        /* efi_arch_check_dt_boot throws some error */
> +        blexit(L"Error processing boot modules on DT.");
> +
> +    /*
> +     * Check if a proper configuration is provided to start Xen:
> +     *  - Dom0 specified (minimum required)
> +     *  - Dom0 and DomU(s) specified
> +     *  - DomU(s) specified
> +     */

May I suggest to shorten the three bullet points to "At least one
of Dom0 or DomU(s) specified"?

> +    if ( !dt_modules_found && !kernel.addr )
> +        blexit(L"No Dom0 kernel image specified.");

And may I also ask to alter the text here, to be less confusing to
dom0less folks? E.g. "No initial domain kernel specified"?

Jan



  parent reply	other threads:[~2021-10-01 11:02 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-30 14:28 [PATCH v4 0/3] arm/efi: Add dom0less support to UEFI boot Luca Fancellu
2021-09-30 14:28 ` [PATCH v4 1/3] arm/efi: Introduce xen,uefi-cfg-load DT property Luca Fancellu
2021-09-30 14:33   ` Bertrand Marquis
2021-10-01 23:29     ` Stefano Stabellini
2021-10-06 18:32   ` Julien Grall
2021-10-07 14:25     ` Luca Fancellu
2021-09-30 14:28 ` [PATCH v4 2/3] arm/efi: Use dom0less configuration when using EFI boot Luca Fancellu
2021-09-30 14:33   ` Bertrand Marquis
2021-09-30 21:47   ` Stefano Stabellini
2021-10-01 11:02   ` Jan Beulich [this message]
2021-10-01 13:55     ` Luca Fancellu
2021-10-01 14:22       ` Jan Beulich
2021-10-01 15:13         ` Luca Fancellu
2021-10-07  7:15           ` Jan Beulich
2021-10-08 13:38             ` Luca Fancellu
2021-10-08 14:14               ` Jan Beulich
2021-09-30 14:28 ` [PATCH v4 3/3] arm/efi: load dom0 modules from DT using UEFI Luca Fancellu
2021-09-30 14:34   ` Bertrand Marquis
2021-09-30 21:58   ` Stefano Stabellini
2021-10-01 11:16   ` Jan Beulich
2021-10-01 14:08     ` Luca Fancellu
2021-10-01 14:24       ` Jan Beulich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2fa4be34-9c69-21cb-632f-f566caf622ca@suse.com \
    --to=jbeulich@suse.com \
    --cc=Volodymyr_Babchuk@epam.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=bertrand.marquis@arm.com \
    --cc=george.dunlap@citrix.com \
    --cc=iwj@xenproject.org \
    --cc=julien@xen.org \
    --cc=luca.fancellu@arm.com \
    --cc=sstabellini@kernel.org \
    --cc=wei.chen@arm.com \
    --cc=wl@xen.org \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.