
On 17.05.24 18:32, Jiaxun Yang wrote:
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
Last commit 8 years ago.
Last commit 4 years ago.
Last commit 2018.
Last commit 5 year ago.
This looks like riding a dead horse.
Best regards
Heinrich
Signed-off-by: Jiaxun Yang jiaxun.yang@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,