[edk2-devel] [edk2-staging/RISC-V-V2 PATCH v3 37/39] edk2-staging:RISC-V-V2: Add RiscVEdk2Readme.md

Leif Lindholm leif.lindholm at linaro.org
Fri Nov 22 09:34:04 UTC 2019


On Fri, Nov 22, 2019 at 03:57:22 +0000, Chang, Abner (HPS SW/FW Technologist) wrote:
> > > +## RISC-V EDK2 Package
> > > +```
> > > +RiscVPkg       - RISC-V processor package. This package provides RISC-V
> > > +                 processor related protocols/libraries accroding to UEFI
> > > +                 specification and edk2 implementations.
> > > +RiscVPlatformPkg  - RISC-V platform package. This package provides RISC-
> > V
> > > +                    platform common modules, libraries, PCDs and definitoins.
> > > +```
> > > +## Toolchain of RISC-V EDK2 port
> > > +Due to not yet tracked down bugs, only the following toolchain is
> > > +known to produce bootoable binaries.
> > 
> > Was this issue also resolved by Mark's linker script patch?
> 
> The fix is not in lds, the fix is tool_def.template in which
> msmall-data-limit is added and set to 0 to avoid .sdata2
> section. See below email on edk2-devel,
> - [edk2-devel] [edk2-staging/RISC-V-V2 PATCH v3-2] BaseTools: Fix
> edk2 RISC-V binary hangs at POST with the latest toolchain

Yes, I saw that. (I still think of it as a linker-script patch,
because that's what Mark sent, but that's just my brain for you.)

> > > +https://github.com/riscv/riscv-gnu-toolchain at commit ID 64879b24.
> > > +The commit ID 64879b24 of riscv-gnu-toolchain repository is verified
> > > +to build RISC-V edk2 platform and boot to EFI SHELL successfully.
> > > +You have to clone the toolchain from above link and check out
> > > +commit:64879b24 for building RISC-V edk2 port.
> > > +The commit later than 64879b24 causes system hangs at the PEI phase
> > > +to DXE phase transition. We are still figuring out the root cause.
> > > +
> > > +## EDK2 Build Target
> > > +"RISCV64" ARCH is the RISC-V architecture which currently supported and
> > verified.
> > > +The verified RISC-V toolchain is
> > > +https://github.com/riscv/riscv-gnu-toolchain
> > > + at 64879b24 as mentioned above, toolchain tag is "GCC5" which is
> > > +declared in tools_def.txt.
> > 
> > If this text is still needed:
> > Which environment has this toolchain successfully been built in?
> 
> Readme has been updated,
> https://github.com/riscv/riscv-gnu-toolchain and "GCC5" till the
> toolchain used for building binary of RISC-V platform,

Ok - that is fine for the -staging branch, which will be useful for
getting help tracking remaining toolchain issues down.

> just commit
> ID 64879b24 is not required.

Yes.
But the fact remains that I still have not been told of in which
environment those toolchain sources might actually build. Certainly
they don't in any I have.

Please tell me the distribution of Linux, and version of said
distribution, that you have personally used to build said toolchain.
Please include this information in the readme.

It is very easy for me to set up a Fedora or Centos chroot under one
of my debian systems, but I do *not* have time to play around with all
possible ones to find one that finally works. None of the ones I
*have* tested will successfully build that toolchain, using those
sources, by following the steps provided.

So please state, explicitly, in the Readme, which distribution of
Linux you used, and what version of that distribution was installed at
the point you built it.

In the Readme.

Which distribution.

(and so on..., until you tell me (and the readme) which version of
which distribution *you* have successfully built said toolchain with)

/
    Leif

> - [edk2-devel] [Platform/devel-riscv-v2 PATCHv5-2] edk2-platforms: Update Readme.md for RISC-V platform.
> - [edk2-devel] [edk2-staging/RISC-V-V2 PATCH v3-2] BaseTools: Fix edk2 RISC-V binary hangs at POST with the latest toolchain
> 
> 
> > 
> > /
> >     Leif
> > 
> > > +Below is the edk2 build options for building RISC-V RV64 platform,
> > > +``` build -a RISCV64 -p Platform/{Vendor}/{Platform}/{Platform}.dsc
> > > +-t GCC5 ``` For example, ``` build -a RISCV64 -p
> > > +Platform/SiFive/U5SeriesPkg/FreedomU500VC707Board/U500.dsc
> > > +-t GCC5
> > > +```
> > > +
> > > +Make sure RISC-V toolchain is built succesfully and the toolchain
> > > +binaries are generated in somewhere you specified when building
> > toolchain.
> > > +'GCC5_RISCV64_PREFIX' is the cross compilation prefix to toolchain
> > binraries.
> > > +For example, set 'GCC5_RISCV64_PREFIX' to '~/RiscVToolchain/riscv64-
> > unknown-elf-'
> > > +before you build RISC-V edk2 port.
> > > --
> > > 2.7.4
> > >
> > 
> > 
> 

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#51176): https://edk2.groups.io/g/devel/message/51176
Mute This Topic: https://groups.io/mt/38757597/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-





More information about the edk2-devel-archive mailing list