[PATCH 0/7] MIPS: Enable EFI support
Jiaxun Yang
jiaxun.yang at flygoat.com
Fri May 17 18:32:51 CEST 2024
Hi all,
This series enabled EFI support to MIPS platform.
Although MIPS is not defined by UEFI specification, there are
quite a few firmware implementations available, including
MIPS-EFI[1] for Loongson-2F, Lemote's proprietary EDK2 implementation
on Loongson-3[2], Kunlun firmware for Loongson-3[3], efiffy[4]
for MIPS Creator CI20 and another mystery EDK implementation shipped
with some Creator CI20 board.
Available applications including gnu-efi, Loongson's GRUB fork[5],
Ventoy[6].
My implementation in U-Boot is aiming to follow conventions made
by other implementations for architecture stuff and remain
compliance with spec for general aspects.
bootefi hello and selftest passed on both 32 and 64 bit system,
gnu-efi, grub and ventoy are tested on mips64el with my pending
platform works. mips32el efi executable from efiffy is tested
as well.
Please review.
Thanks
[1]: https://github.com/kontais/EFI-MIPS
[2]: https://github.com/loongson-community/firmware-nonfree
[3]: http://www.kunluntech.com.cn/klbiosxl
[4]: https://sourceforge.net/projects/efify/
[5]: https://github.com/loongson-community/grub
[6]: https://www.ventoy.net/en/index.html
Signed-off-by: Jiaxun Yang <jiaxun.yang at flygoat.com>
---
Jiaxun Yang (7):
MIPS: Implement setjmp
efi: Allow runtime relocate to be disabled
Makefile.lib: Preserve .rodata section for EFI file
Makefile.lib: Enforce EFI CFLAGS/AFLAGS
MIPS: Add smbios_start to arch_global_data
MIPS: Define MIPS EFI related bits everywhere
MIPS: Implement EFI supporting stuff
Makefile | 3 +
arch/mips/config.mk | 9 +
arch/mips/include/asm/global_data.h | 3 +
arch/mips/include/asm/setjmp.h | 36 ++++
arch/mips/lib/Makefile | 15 ++
arch/mips/lib/crt0_mips_efi.S | 239 ++++++++++++++++++++++
arch/mips/lib/elf_mips_efi.lds | 113 ++++++++++
arch/mips/lib/reloc_mips_efi.c | 99 +++++++++
arch/mips/lib/setjmp32.S | 51 +++++
arch/mips/lib/setjmp64.S | 56 +++++
include/asm-generic/pe.h | 5 +
include/config_distro_bootcmd.h | 6 +
include/efi_default_filename.h | 8 +
include/efi_loader.h | 26 ++-
include/elf.h | 8 +
lib/efi_loader/Kconfig | 12 +-
lib/efi_loader/efi_image_loader.c | 18 ++
lib/efi_loader/efi_memory.c | 14 +-
lib/efi_loader/efi_runtime.c | 11 +-
lib/efi_loader/efi_var_mem.c | 6 +-
lib/efi_selftest/Makefile | 2 +-
lib/efi_selftest/efi_selftest_miniapp_exception.c | 2 +
scripts/Makefile.lib | 10 +-
23 files changed, 734 insertions(+), 18 deletions(-)
---
base-commit: ad7dce5abd49ef3b5c93da5303e15449c8c162b4
change-id: 20240517-mips-efi-c9a1ad819c2d
Best regards,
--
Jiaxun Yang <jiaxun.yang at flygoat.com>
More information about the U-Boot
mailing list