This patch series adds the support in u-boot for new RISCV_EFI_BOOT_PROTOCOL for RISC-V UEFI platforms. This protocol is required to communicate the boot hart ID to the bootloader/kernel which need to follow the EFI calling conventions.
The latest draft spec of this new protocol is available at https://github.com/riscv-non-isa/riscv-uefi/releases/download/1.0-rc2/RISCV_UEFI_PROTOCOL-spec.pdf This u-boot patches can be found in: riscv_boot_protocol_rfc_v2 branch at https://github.com/vlsunil/u-boot.git These patches are tested in qemu. To fully test the feature, we need Linux changes which consume this protocol. The linux patch can be found in: riscv_boot_protocol_rfc_v2 branch at https://github.com/vlsunil/linux.git Changes since RFC V1: - Used EFI_ENTRY/EXIT and removed need for static variable - Addressed other comments from Heinrich - Added unit test patch Sunil V L (2): efi_loader: Enable RISCV_EFI_BOOT_PROTOCOL support efi_selftest: unit test for RISCV_EFI_BOOT_PROTOCOL include/efi_api.h | 4 + include/efi_loader.h | 2 + include/efi_riscv.h | 24 ++++++ lib/efi_loader/Kconfig | 8 ++ lib/efi_loader/Makefile | 1 + lib/efi_loader/efi_riscv.c | 60 +++++++++++++ lib/efi_loader/efi_setup.c | 6 ++ lib/efi_selftest/Makefile | 1 + lib/efi_selftest/efi_selftest_riscv.c | 119 ++++++++++++++++++++++++++ 9 files changed, 225 insertions(+) create mode 100644 include/efi_riscv.h create mode 100644 lib/efi_loader/efi_riscv.c create mode 100644 lib/efi_selftest/efi_selftest_riscv.c -- 2.25.1