[PATCH 0/7] MIPS: Enable EFI support

Heinrich Schuchardt xypron.glpk at gmx.de
Fri May 17 19:12:55 CEST 2024



Am 17. Mai 2024 18:32:51 MESZ schrieb Jiaxun Yang <jiaxun.yang at flygoat.com>:
>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

Implementing the Loongarch architecture defined in <https://uefi.org/specs/UEFI/2.10/02_Overview.html#loongarch-platforms> would make sense to me.

Supporting an architecture that does not have published UEFI standards is less convincing. 

Is any of the mentioned boards being produced anymore?

Best regards

Heinrich

>
>[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,


More information about the U-Boot mailing list