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

From: Sunil V L
Date: Wed Mar 23 2022 - 12:28:03 EST


On Tue, Mar 22, 2022 at 06:32:22PM -0700, Palmer Dabbelt wrote:
> 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

Thank you Palmer. The specification is in frozen state now.
http://lists.infradead.org/pipermail/linux-riscv/2022-March/013431.html.

Thanks
Sunil
>
> 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(-)