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, enable CONFIG_EFI_CLIENT and CONFIG_EFI_APP.
-The efi-x86_app32 and efi-x86_app64 configs are set up for this. Just build
-U-Boot as normal, e.g.::
+To build U-Boot as an EFI application, enable CONFIG_EFI_CLIENT and
+CONFIG_EFI_APP. The efi-x86_app32 and efi-x86_app64 configs are set up for
+this. Just build U-Boot as normal, e.g.::
make efi-x86_app32_defconfig
make
--- /dev/null
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+# Copyright 2025 Simon Glass <sjg@chromium.org>
+#
+
+config EFI
+ bool
+ help
+ Indicates that EFI functionality is enabled, either via EFI_CLIENT or
+ EFI_LOADER
+
+ This is used to provide libraries shared by both.
bool "Support running U-Boot from EFI"
depends on X86
imply X86_TSC_READ_BASE
+ select EFI
help
U-Boot can be started from EFI on certain platforms. This allows
EFI to perform most of the system init and then jump to U-Boot for
depends on !EFI_STUB || !X86 || X86_64 || EFI_STUB_32BIT
depends on !EFI_APP
default y if !ARM || SYS_CPU = armv7 || SYS_CPU = armv8
+ select EFI
select CHARSET
# We need to send DM events, dynamically, in the EFI block driver
select DM_EVENT
source "lib/efi_client/Kconfig"
+source "lib/efi/Kconfig"
+
endmenu