At present this is disabled, but it should work so long as the kernel does
not need EFI services. Enable it and add a note about remaining work.

Signed-off-by: Simon Glass <s...@chromium.org>
---

(no changes since v2)

Changes in v2:
- Update documentation

 arch/x86/lib/bootm.c               | 11 +++++++----
 doc/develop/uefi/u-boot_on_efi.rst |  2 +-
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/arch/x86/lib/bootm.c b/arch/x86/lib/bootm.c
index 667e5e689e3..57cba5c65d3 100644
--- a/arch/x86/lib/bootm.c
+++ b/arch/x86/lib/bootm.c
@@ -179,10 +179,14 @@ int boot_linux_kernel(ulong setup_base, ulong 
load_address, bool image_64bit)
                * U-Boot is setting them up that way for itself in
                * arch/i386/cpu/cpu.c.
                *
-               * Note that we cannot currently boot a kernel while running as
-               * an EFI application. Please use the payload option for that.
+               * Note: this is incomplete for EFI kernels!
+               *
+               * This can boot a kernel while running as an EFI application,
+               * but if the kernel requires EFI support then that support needs
+               * to be enabled first (see EFI_LOADER). Also the EFI information
+               * must enabled with setup_efi_info(). See setup_zimage() for
+               * how this is done with the stub.
                */
-#ifndef CONFIG_EFI_APP
                __asm__ __volatile__ (
                "movl $0, %%ebp\n"
                "cli\n"
@@ -191,7 +195,6 @@ int boot_linux_kernel(ulong setup_base, ulong load_address, 
bool image_64bit)
                [boot_params] "S"(setup_base),
                "b"(0), "D"(0)
                );
-#endif
        }
 
        /* We can't get to here */
diff --git a/doc/develop/uefi/u-boot_on_efi.rst 
b/doc/develop/uefi/u-boot_on_efi.rst
index f39be4a1ed9..7bd757ca645 100644
--- a/doc/develop/uefi/u-boot_on_efi.rst
+++ b/doc/develop/uefi/u-boot_on_efi.rst
@@ -267,7 +267,7 @@ This work could be extended in a number of ways:
 
 - Avoid turning off boot services in the stub. Instead allow U-Boot to make
   use of boot services in case it wants to. It is unclear what it might want
-  though.
+  though. It is better to use the app.
 
 Where is the code?
 ------------------
-- 
2.33.0.1079.g6e70778dc9-goog

Reply via email to