On Tue, 25 Feb 2020 at 09:28, Chang, Abner (HPS SW/FW Technologist)
<abner.ch...@hpe.com> wrote:
>
>
>
> > -----Original Message-----
> > From: Atish Patra [mailto:ati...@atishpatra.org]

<snip header soup>

> >
> > On Mon, Feb 24, 2020 at 3:35 PM Ard Biesheuvel
> > <ard.biesheu...@linaro.org> wrote:
> > >
> > > On Tue, 25 Feb 2020 at 00:22, Heinrich Schuchardt <xypron.g...@gmx.de>
> > wrote:
> > > >
> > > > On 2/24/20 11:19 PM, Atish Patra wrote:
> > > > > The RISC-V booting protocol requires the hart id to be present in "a0"
> > > > > register. This is not a problem for bootm/booti commands as they
> > > > > directly jump to Linux kernel. However, bootefi jumps to a EFI
> > > > > boot stub code in Linux kernel which acts a loader and jumps to
> > > > > real Linux after terminating the boot services. This boot stub
> > > > > code has to be aware of the boot hart id so that it can set it in
> > > > > "a0" before jumping to Linux kernel. Currently, UEFI protocol
> > > > > doesn't have any mechanism to pass the boot hart id to an EFI
> > > > > executable. We should keep it this way as this is a RISC-V
> > > > > specific requirement rather than a UEFI requirement. Out of the all
> > possible options, device tree seemed to be the best choice to do this job.
> > > > > The detailed discussion can be found in the following thread.
> > > > >
> > > > > INVALID URI REMOVED
> > > > >
> > abs.org_patch_1233664_&d=DwIBaQ&c=C5b8zRQO1miGmBeVZ2LFWg&r=_S
> > N6FZB
> > > > >
> > N4Vgi4Ulkskz6qU3NYRO03nHp9P7Z5q59A3E&m=J8GY_HS3fV_cJH9duXP739y
> > 0hDK
> > > > > 3qfHGNx2Dpcf-UBY&s=iVpRlpTOME_A-
> > O5STNbXXawkW24gxy2yi56Q8AtZ2bI&e=
> > > >
> > > > The above mentioned patch is obsoleted by the new suggestion.
> > > >
> >
> > Thanks for pointing that out to avoid confusion.
> >
> > > > >
> > > > > This patch updates the device tree in arch_fixup_fdt() which is
> > > > > common for all booting commands. As a result, the DT modification
> > > > > doesn't require any efi related arch specific functions and all DT
> > > > > related modifications are contained at one place. However, the
> > > > > hart id node will be available for Linux even if the kernel is booted 
> > > > > using
> > bootm command.
> > > > >
> > > > > If that is not acceptable, we can always move the code to an efi
> > > > > specific function.
> > > >
> > > > Does a related Linux patch already exist?
> >
> > Yes. But in my local tree ;). It will be included in RISC-V EFI stub 
> > support series
> > which I am planning to post in a couple of days.
> >
> > > > How about EDK2?
> > > >
> > >
> > > RISC-V is not supported at all yet in EDK2.
> > >
> >
> > The EDK2 patches are out there and reviewed. I guess it will be available in
> > mainline EDK2 pretty soon.
> Yes, currently we are working on edk2 CI testing for RISCV64 arch.  We hope 
> edk2 RISC-V port could be in mainstream in Mar.
>

Excellent! Is this core support? Or do you have a platform implemented
as well that can be upstreamed?

> > Abner agreed that similar patch can be added to EDK2 as well in the previous
> > thread.
> Yes, this will be another TODO for edk2 to add similar DT changes if we want 
> to boot system from edk2 firmware to EFI Stub and Linux kernel. We do not 
> have that so far.
>
> >
> > > > I guess boot loaders like GRUB would not have to care about the
> > > > extra property?
> > > >
> > >
> > > Yes, that is basically the point.
> >
> >
> >
> > --
> > Regards,
> > Atish

Reply via email to