Re: [PATCH 020/171] efi: Add a Kconfig for SPL_EFI_LOADER et all

Simon Glass
2023-02-05T01:22:31Z

Hi Tom, Heinrich,

On Mon, 30 Jan 2023 at 07:51, Tom Rini <trini@konsulko.com> wrote:
>
> On Mon, Jan 30, 2023 at 03:48:44PM +0100, Heinrich Schuchardt wrote:
> > On 1/30/23 15:40, Simon Glass wrote:
> > > This and EFI_DEVICE_PATH_TO_TEXT are implicitly used in the source and
> >
> > This code is not compiled in SPL. So it cannot be used there.
> >
> > > seem useful, so add them.
> > >
> > > Signed-off-by: Simon Glass <sjg@chromium.org>
> > > ---
> > >
> > > lib/efi_loader/Kconfig | 8 ++++++++
> > > 1 file changed, 8 insertions(+)
> > >
> > > diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
> > > index 9fe9a2df9ea..0bd42b9e196 100644
> > > --- a/lib/efi_loader/Kconfig
> > > +++ b/lib/efi_loader/Kconfig
> > > @@ -32,6 +32,10 @@ config EFI_LOADER
> > >
> > > if EFI_LOADER
> > >
> > > +config SPL_EFI_LOADER
> > > + def_bool n # Support running UEFI applications (SPL)
> > > + depends on SPL
> > > +
> >
> > I cannot see how this could be used:
> >
> > * The size of the EFI code is too big to fit into SPL on most boards.
>
> OK, so please do a series to correct all CONFIG_IS_ENABLED(EFI_*) to be
> IS_ENABLED(CONFIG_EFI_*), other than EFI_PARTITIONS which can be in SPL.

This is another case where I think it is actually needed.

Heinrich makes the point that this code cannot be used in SPL. It is
precisely because of that that we need an SPL version of the config.
Otherwise it will be enabled everywhere. The fact that it currently
works is due to CONFIG_IS_ENABLED() not caring whether the Kconfig
options it is checking are present or not. That needs to change with
split config.

Regards,
Simon