Unfortunately the EFI x86 application and payload support have been broken for quite a while. This series addresses various bug fixes, plus several enhancements like toolchain compatibility (eg: kernel.org i386-linux-gcc), introduction of generic EFI payload which can run on any x86 board, and a EFI framebuffer driver for the payload.
This series is available at u-boot-x86/efi-working for testing. Changes in v2: - update the x86 doc to reference also README.uefi - new patch to "change __kernel_size_t conditionals to use compiler provided defines" - update README.u-boot_on_efi to reflect directory changes - update README.u-boot_on_efi to mention generic EFI payload support - update QEMU MAINTAINERS file to remove defconfig files - update README.u-boot_on_efi to use efi-x86_app - drop patches that were already applied to u-boot-x86 Alexander Graf (1): efi.h: Do not use config options Bin Meng (12): x86: doc: Fix reference to EFI doc in U-Boot x86: Change __kernel_size_t conditionals to use compiler provided defines x86: efi: Refactor the directory of EFI app and payload support x86: efi: payload: Add arch_cpu_init() x86: Add generic EFI payload support x86: Drop QEMU-specific EFI payload support x86: baytrail: Drop EFI-specific test logics efi: stub: Pass EFI GOP information to U-Boot payload dm: video: Add an EFI framebuffer driver x86: efi: payload: Add EFI framebuffer driver support x86: Rename efi-x86 target to efi-x86_app x86: efi: app: Display correct CPU info during boot arch/x86/Kconfig | 3 +- arch/x86/cpu/Makefile | 2 +- arch/x86/cpu/baytrail/Kconfig | 6 +- arch/x86/cpu/baytrail/valleyview.c | 3 - arch/x86/{lib => cpu}/efi/Kconfig | 0 arch/x86/cpu/efi/Makefile | 9 +- arch/x86/cpu/efi/{efi.c => app.c} | 2 +- arch/x86/{lib => cpu}/efi/car.S | 0 arch/x86/{lib/efi/efi.c => cpu/efi/payload.c} | 11 +- arch/x86/cpu/intel_common/Makefile | 2 +- arch/x86/cpu/qemu/Makefile | 2 - arch/x86/cpu/qemu/qemu.c | 4 - arch/x86/dts/Makefile | 3 +- arch/x86/dts/{efi.dts => efi-x86_app.dts} | 4 +- arch/x86/dts/efi-x86_payload.dts | 40 ++++++ arch/x86/include/asm/posix_types.h | 2 +- arch/x86/lib/Makefile | 1 - arch/x86/lib/efi/Makefile | 7 - board/advantech/som-db5800-som-6867/Kconfig | 5 +- board/congatec/conga-qeval20-qa3-e3845/Kconfig | 5 +- board/dfi/dfi-bt700/Kconfig | 5 +- board/efi/Kconfig | 15 ++- board/efi/{efi-x86 => efi-x86_app}/Kconfig | 6 +- board/efi/{efi-x86 => efi-x86_app}/MAINTAINERS | 0 board/efi/{efi-x86 => efi-x86_app}/Makefile | 2 +- board/efi/{efi-x86/efi.c => efi-x86_app/app.c} | 0 board/efi/efi-x86_payload/Kconfig | 39 ++++++ board/efi/efi-x86_payload/MAINTAINERS | 7 + board/efi/efi-x86_payload/Makefile | 5 + board/efi/efi-x86_payload/start.S | 8 ++ board/emulation/qemu-x86/Kconfig | 6 +- board/emulation/qemu-x86/MAINTAINERS | 2 - board/intel/minnowmax/Kconfig | 5 +- .../{efi-x86_defconfig => efi-x86_app_defconfig} | 4 +- ...oad32_defconfig => efi-x86_payload32_defconfig} | 24 +--- ...oad64_defconfig => efi-x86_payload64_defconfig} | 24 +--- doc/README.u-boot_on_efi | 33 ++--- doc/README.x86 | 14 +- drivers/video/Kconfig | 9 ++ drivers/video/Makefile | 1 + drivers/video/efi.c | 146 +++++++++++++++++++++ include/configs/{efi-x86.h => efi-x86_app.h} | 0 include/configs/efi-x86_payload.h | 32 +++++ include/efi.h | 52 ++++++-- lib/efi/Makefile | 4 +- lib/efi/efi_stub.c | 15 +++ 46 files changed, 433 insertions(+), 136 deletions(-) rename arch/x86/{lib => cpu}/efi/Kconfig (100%) rename arch/x86/cpu/efi/{efi.c => app.c} (92%) rename arch/x86/{lib => cpu}/efi/car.S (100%) rename arch/x86/{lib/efi/efi.c => cpu/efi/payload.c} (97%) rename arch/x86/dts/{efi.dts => efi-x86_app.dts} (82%) create mode 100644 arch/x86/dts/efi-x86_payload.dts delete mode 100644 arch/x86/lib/efi/Makefile rename board/efi/{efi-x86 => efi-x86_app}/Kconfig (64%) rename board/efi/{efi-x86 => efi-x86_app}/MAINTAINERS (100%) rename board/efi/{efi-x86 => efi-x86_app}/Makefile (82%) rename board/efi/{efi-x86/efi.c => efi-x86_app/app.c} (100%) create mode 100644 board/efi/efi-x86_payload/Kconfig create mode 100644 board/efi/efi-x86_payload/MAINTAINERS create mode 100644 board/efi/efi-x86_payload/Makefile create mode 100644 board/efi/efi-x86_payload/start.S rename configs/{efi-x86_defconfig => efi-x86_app_defconfig} (92%) rename configs/{qemu-x86_efi_payload32_defconfig => efi-x86_payload32_defconfig} (61%) rename configs/{qemu-x86_efi_payload64_defconfig => efi-x86_payload64_defconfig} (62%) create mode 100644 drivers/video/efi.c rename include/configs/{efi-x86.h => efi-x86_app.h} (100%) create mode 100644 include/configs/efi-x86_payload.h -- 2.7.4 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot