x86: Enable EFI loader support
authorSimon Glass <sjg@chromium.org>
Mon, 7 Nov 2016 15:47:16 +0000 (08:47 -0700)
committerAlexander Graf <agraf@suse.de>
Mon, 14 Nov 2016 22:24:04 +0000 (23:24 +0100)
Enable this so that EFI applications (notably grub) can be run under U-Boot
on x86 platforms.

At present the 'hello world' EFI application is not supported for the
qemu-x86_efi_payload64 board. That board builds a payload consisting of a
64-bit header and a 32-bit U-Boot, which is incompatible with the way the
EFI loader builds its EFI application. The following error is obtained:

x86_64-linux-ld.bfd: i386 architecture of input file
   `lib/efi_loader/helloworld.o' is incompatible with i386:x86-64 output

This could be corrected with additional Makefile rules. For now, this
feature is disabled for that board.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
[agraf: drop hello kconfig bits]
Signed-off-by: Alexander Graf <agraf@suse.de>
configs/efi-x86_defconfig
doc/README.x86
lib/efi_loader/Kconfig

index b31c73b71e76aed09015e25be429bb8c1d28c4f6..1fe61428644f52bbb9cc89b5dd7f08c63cc14859 100644 (file)
@@ -34,3 +34,4 @@ CONFIG_USB=y
 CONFIG_USB_STORAGE=y
 CONFIG_USB_KEYBOARD=y
 CONFIG_EFI=y
+# CONFIG_EFI_LOADER is not set
index 679955983bba613af4217210b224c1ff8c6bb5e1..a38cc1bc6ca9b7b7a00036961f606bc4d1e48bf9 100644 (file)
@@ -1077,7 +1077,6 @@ TODO List
 ---------
 - Audio
 - Chrome OS verified boot
-- Support for CONFIG_EFI_LOADER
 - Building U-Boot to run in 64-bit mode
 
 References
index 7d4106e4c92dc97369182a9ce9e1dc641dafe714..d2b6327119b401abf342da83c614bb26ea717158 100644 (file)
@@ -1,6 +1,6 @@
 config EFI_LOADER
        bool "Support running EFI Applications in U-Boot"
-       depends on ARM && OF_LIBFDT
+       depends on (ARM || X86) && OF_LIBFDT
        default y
        help
          Select this option if you want to run EFI applications (like grub2)