public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: AKASHI Takahiro <takahiro.akashi@linaro.org>
To: u-boot@lists.denx.de
Subject: [PATCH v3 06/17] efi_loader: add option to initialise EFI subsystem early
Date: Wed, 15 Jul 2020 13:41:31 +0900	[thread overview]
Message-ID: <20200715044131.GD24274@laputa> (raw)
In-Reply-To: <536c8a25-355e-3d13-5513-4c6bc6979a9c@gmx.de>

Heinrich,

On Fri, Jul 10, 2020 at 06:25:34PM +0200, Heinrich Schuchardt wrote:
> On 10.07.20 03:25, AKASHI Takahiro wrote:
> > If this option, CONFIG_EFI_SETUP_EARLY, is enabled, the initialisation
> > of UEFI subsystem will be done as part of U-Boot initialisation.
> >
> > Please note that this option won't be enabled explicitly by users,
> > instead, should be enabled implicitly by other configuration options.
> >
> > Specifically, this feature will be utilised in implementing capsule-on-disk
> > feature.
> 
> This breaks access to block devices in UEFI. You cannot do the
> initialization before the initialization of block devices which
> currently is not done automatically but requires commands like 'scsi
> scan' in a script or entered manually.

I know that, but I'm also sure there are some devices detected before
executing such kind of commands.

The reason that I added this configuration is to give users alternative
choices depending on their systems and 'needs'.

> It might make sense to scan all block devices automatically instead of
> requiring command entry.

I don't object to this idea, but it can break the compatibility
with existing config_distro_bootcmd framework.

-Takahiro Akashi


> Best regards
> 
> Heinrich
> 
> >
> > Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
> > ---
> >  common/board_r.c       | 6 ++++++
> >  lib/efi_loader/Kconfig | 4 ++++
> >  2 files changed, 10 insertions(+)
> >
> > diff --git a/common/board_r.c b/common/board_r.c
> > index fa57fa9b6993..dcb8c6f79d2f 100644
> > --- a/common/board_r.c
> > +++ b/common/board_r.c
> > @@ -68,6 +68,9 @@
> >  #if defined(CONFIG_GPIO_HOG)
> >  #include <asm/gpio.h>
> >  #endif
> > +#ifdef CONFIG_EFI_SETUP_EARLY
> > +#include <efi_loader.h>
> > +#endif
> >
> >  DECLARE_GLOBAL_DATA_PTR;
> >
> > @@ -858,6 +861,9 @@ static init_fnc_t init_sequence_r[] = {
> >  #endif
> >  #if defined(CONFIG_M68K) && defined(CONFIG_BLOCK_CACHE)
> >  	blkcache_init,
> > +#endif
> > +#ifdef CONFIG_EFI_SETUP_EARLY
> > +	(init_fnc_t)efi_init_obj_list,
> >  #endif
> >  	run_main_loop,
> >  };
> > diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
> > index 6c9df3a76763..f0a30a43bc48 100644
> > --- a/lib/efi_loader/Kconfig
> > +++ b/lib/efi_loader/Kconfig
> > @@ -27,6 +27,10 @@ config EFI_LOADER
> >
> >  if EFI_LOADER
> >
> > +config EFI_SETUP_EARLY
> > +	bool
> > +	default n
> > +
> >  config EFI_GET_TIME
> >  	bool "GetTime() runtime service"
> >  	depends on DM_RTC
> >
> 

  reply	other threads:[~2020-07-15  4:41 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-10  1:25 [PATCH v3 00/17] efi_loader: add capsule update support AKASHI Takahiro
2020-07-10  1:25 ` [PATCH v3 01/17] common: update_tftp: remove unnecessary build check AKASHI Takahiro
2020-07-10  5:38   ` Heinrich Schuchardt
2020-07-10  1:25 ` [PATCH v3 02/17] dfu: add a hidden reverse-dependency on UPDATE_TFTP AKASHI Takahiro
2020-07-10  5:21   ` Heinrich Schuchardt
2020-07-15  5:14     ` AKASHI Takahiro
2020-07-10  1:25 ` [PATCH v3 03/17] dfu: rename dfu_tftp_write() to dfu_write_by_name() AKASHI Takahiro
2020-07-10  5:45   ` Heinrich Schuchardt
2020-07-15  5:23     ` AKASHI Takahiro
2020-07-10  1:25 ` [PATCH v3 04/17] common: update: add a generic interface for FIT image AKASHI Takahiro
2020-07-10 16:24   ` Heinrich Schuchardt
2020-07-15  4:28     ` AKASHI Takahiro
2020-07-15  7:07       ` Heinrich Schuchardt
2020-07-16  0:43         ` AKASHI Takahiro
2020-07-10  1:25 ` [PATCH v3 05/17] dfu: export dfu_list AKASHI Takahiro
2020-07-10 16:25   ` Heinrich Schuchardt
2020-07-15  4:33     ` AKASHI Takahiro
2020-07-10  1:25 ` [PATCH v3 06/17] efi_loader: add option to initialise EFI subsystem early AKASHI Takahiro
2020-07-10 16:25   ` Heinrich Schuchardt
2020-07-15  4:41     ` AKASHI Takahiro [this message]
2020-07-10  1:25 ` [PATCH v3 07/17] efi_loader: define UpdateCapsule api AKASHI Takahiro
2020-07-10  1:25 ` [PATCH v3 08/17] efi_loader: capsule: add capsule_on_disk support AKASHI Takahiro
2020-07-10  1:25 ` [PATCH v3 09/17] efi_loader: capsule: add memory range capsule definitions AKASHI Takahiro
2020-07-10  1:25 ` [PATCH v3 10/17] efi_loader: capsule: support firmware update AKASHI Takahiro
2020-07-10  1:25 ` [PATCH v3 11/17] efi_loader: add firmware management protocol for FIT image AKASHI Takahiro
2020-07-10  1:25 ` [PATCH v3 12/17] dfu: add dfu_write_by_alt() AKASHI Takahiro
2020-07-10  1:25 ` [PATCH v3 13/17] efi_loader: add firmware management protocol for raw image AKASHI Takahiro
2020-07-10  1:25 ` [PATCH v3 14/17] cmd: add "efidebug capsule" command AKASHI Takahiro
2020-07-10  1:25 ` [PATCH v3 15/17] tools: add mkeficapsule command for UEFI capsule update AKASHI Takahiro
2020-07-10  1:25 ` [PATCH v3 16/17] test/py: add a test for uefi firmware update capsule of FIT image AKASHI Takahiro
2020-07-10  1:25 ` [PATCH v3 17/17] test/py: add a test for uefi firmware update capsule of raw image AKASHI Takahiro

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=20200715044131.GD24274@laputa \
    --to=takahiro.akashi@linaro.org \
    --cc=u-boot@lists.denx.de \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox