Re: [RFC PATCH V2 0/1] RISCV_EFI_BOOT_PROTOCOL support in linux

From: Palmer Dabbelt
Date: Tue Mar 22 2022 - 21:32:29 EST


On Thu, 03 Mar 2022 06:59:43 PST (-0800), sunilvl@xxxxxxxxxxxxxxxx wrote:
This patch adds support for getting the boot hart ID using new
RISCV_EFI_BOOT_PROTOCOL in linux efi stub. While there is an existing
solution of passing the boot hart ID through Device Tree, it doesn't work
for ACPI. Hence an EFI protocol protocol is recommended which works for
both DT and ACPI based platforms.

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 looks fine to me, but we need the spec folk to commit to this being a stable interface before we can start using it. Historically that's been "frozen" for RISC-V specs, but I'm not sure how that all fits together in EFI land as IIUC we also have to follow the UEFI forum's process. Last I checked you guys understood that better than I did, so

Acked-by: Palmer Dabbelt <palmer@xxxxxxxxxxxx> # pending spec freeze

I had a minor comment about the error message, as well.

Thanks!

This linux ptach can be found in:
riscv_boot_protocol_rfc_v2 branch at
https://github.com/vlsunil/linux.git

This is tested in qemu with u-boot 2022.04.rc3.

Changes since V1:
- Rebased to get the "Fix get_boot_hartid_from_fdt() return value"
patch
- Removed mixed_mode member
- Separated return value and status.

Sunil V L (1):
riscv/efi_stub: Add support for RISCV_EFI_BOOT_PROTOCOL

drivers/firmware/efi/libstub/efistub.h | 7 ++++++
drivers/firmware/efi/libstub/riscv-stub.c | 29 +++++++++++++++++++----
include/linux/efi.h | 1 +
3 files changed, 32 insertions(+), 5 deletions(-)