[PATCH v3 05/35] efi: Create a 64-bit app
Simon Glass
sjg at chromium.org
Thu Oct 28 16:19:29 CEST 2021
Hi Heinrich,
On Wed, 27 Oct 2021 at 23:58, Heinrich Schuchardt <xypron.glpk at gmx.de> wrote:
>
> On 10/26/21 5:30 AM, Simon Glass wrote:
> > Most modern platforms use 64-bit EFI so it is useful to have a U-Boot app
> > that runs under that. Add a (non-functional) build for this.
> >
> > Note that --whole-archive causes the gcc 9.2 linker to crash, so disable
> > this for now. Once this is resolved, things should work.
> >
> > For now, avoid mentioning the documentation for the 64-bit app, since it
> > does not work.
> >
> > Signed-off-by: Simon Glass <sjg at chromium.org>
> > ---
> >
> > Changes in v3:
> > - Default to 256MB of RAM for U-Boot instead of 32MB
> >
> > Changes in v2:
> > - Add MAINTAINERS entry
> > - Add a work-around to avoid a toolchain crash
> >
> > MAINTAINERS | 3 ++
> > Makefile | 8 +++-
> > arch/x86/cpu/u-boot-64.lds | 2 +
> > arch/x86/cpu/x86_64/Makefile | 4 ++
> > arch/x86/cpu/x86_64/cpu.c | 17 --------
> > arch/x86/cpu/x86_64/misc.c | 25 ++++++++++++
> > board/efi/Kconfig | 15 ++++++-
> > board/efi/efi-x86_app/Kconfig | 2 +-
> > board/efi/efi-x86_app/MAINTAINERS | 11 +++++-
> > ..._app_defconfig => efi-x86_app32_defconfig} | 2 +-
> > configs/efi-x86_app64_defconfig | 39 +++++++++++++++++++
> > doc/develop/uefi/u-boot_on_efi.rst | 6 +--
> > 12 files changed, 106 insertions(+), 28 deletions(-)
> > create mode 100644 arch/x86/cpu/x86_64/misc.c
> > rename configs/{efi-x86_app_defconfig => efi-x86_app32_defconfig} (97%)
> > create mode 100644 configs/efi-x86_app64_defconfig
> If CONFIG_EFI_LOADER generally does not work with the app shouldn't we
> put this into a Kconfig condition (in a separate patch)?
Yes I can send a patch for that. It would be yet another EFI case
(pass-through) I think, if we do implement it.
>
> Reviewed-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
>
> > diff --git a/doc/develop/uefi/u-boot_on_efi.rst b/doc/develop/uefi/u-boot_on_efi.rst
> > index 4b2a733076d..d049f429fdc 100644
> > --- a/doc/develop/uefi/u-boot_on_efi.rst
> > +++ b/doc/develop/uefi/u-boot_on_efi.rst
> > @@ -48,10 +48,10 @@ for that board. It will be either 32-bit or 64-bit. Alternatively, you can
> > opt for using QEMU [1] and the OVMF [2], as detailed below.
> >
> > To build U-Boot as an EFI application (32-bit EFI required), enable CONFIG_EFI
> > -and CONFIG_EFI_APP. The efi-x86_app config (efi-x86_app_defconfig) is set up
> > +and CONFIG_EFI_APP. The efi-x86_app config (efi-x86_app32_defconfig) is set up
> > for this. Just build U-Boot as normal, e.g.::
> >
> > - make efi-x86_app_defconfig
> > + make efi-x86_app32_defconfig
> > make
> >
> > To build U-Boot as an EFI payload (32-bit or 64-bit EFI can be used), enable
> > @@ -259,7 +259,7 @@ This work could be extended in a number of ways:
> >
> > - Add ARM support
> >
> > -- Add 64-bit application support
> > +- Add 64-bit application support (in progress)
> >
> > - Figure out how to solve the interrupt problem
> >
> >
>
[..]
Regards,
Simon
More information about the U-Boot
mailing list