Question regarding "boot-hartid" DT node

Ard Biesheuvel ardb at kernel.org
Thu Dec 2 08:20:21 PST 2021


On Thu, 2 Dec 2021 at 16:05, Sunil V L <sunilvl at ventanamicro.com> wrote:
>
> Hi All,
>    I am starting this thread to discuss about the "boot-hartid" DT node
>    that is being used in RISC-V Linux EFI stub.
>
>    As you know, the boot Hart ID is passed in a0 register to the kernel
>    and hence there is actually no need to pass it via DT. However, since
>    EFI stub follows EFI application calling conventions, it needs to
>    know the boot Hart ID so that it can pass it to the proper kernel via
>    a0. For this issue, the solution was to add "/chosen/boot-hartid" in
>    DT. Both EDK2 and u-boot append this node in DT.
>

I think this was a mistake tbh

>    But above approach causes issue for ACPI since ACPI initialization
>    happens late in the proper kernel. Same is true even if we pass this
>    information via SMBIOS.
>

It would be better to define a RISCV specific EFI protocol that the
stub can call to discover the boot-hartid value. That wat, it can pass
it directly, without having to rely on firmware tables.

Note that you don't need any spec changes for this on the ACPI or UEFI side.

>    Do you have any suggestions what can be done in ACPI case? Can we use
>    a UEFI variable with RVI specific GUID to pass this information? This
>    will have the advantage that it can work with either DT or ACPI.
>    Also, we may not need any UEFI spec update. Do you see any issue with
>    this approach? Your inputs will be very helpful.
>
> Thanks!
> Sunil



More information about the linux-riscv mailing list