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

[1]: https://github.com/kontais/EFI-MIPS

Last commit 8 years ago.

[2]: https://github.com/loongson-community/firmware-nonfree

Last commit 4 years ago.

[3]: http://www.kunluntech.com.cn/klbiosxl
[4]: https://sourceforge.net/projects/efify/

Last commit 2018.

[5]: https://github.com/loongson-community/grub

Last commit 5 year ago.

This looks like riding a dead horse.

Best regards

Heinrich


[6]: https://www.ventoy.net/en/index.html

Signed-off-by: Jiaxun Yang <jiaxun.y...@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,

Reply via email to