[RFC PATCH V2 0/2] RISCV_EFI_BOOT_PROTOCOL support in U-boot

Sunil V L sunilvl at ventanamicro.com
Fri Jan 28 16:18:43 CET 2022


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



More information about the U-Boot mailing list