[edk2-devel] [edk2-plaforms PATCH 0/3] Revise Readme for RISC-V updates

Abner Chang posted 3 patches 3 years, 7 months ago
Only 2 patches received!
There is a newer version of this series
Platform/RISC-V/PlatformPkg/Readme.md |  72 +++++++++--------
Platform/SiFive/U5SeriesPkg/Readme.md | 112 +++++++++++++-------------
Readme.md                             |   1 +
3 files changed, 96 insertions(+), 89 deletions(-)
[edk2-devel] [edk2-plaforms PATCH 0/3] Revise Readme for RISC-V updates
Posted by Abner Chang 3 years, 7 months ago
Update below Readme.md,
 - edk2-platforms/Readme.md
 - Platform/RISC-V/PlatformPkg/Readme.md
 - Platform/SiFive/U5SeriesPkg/Readme.md

Abner Chang (3):
  edk2-platforms: Revise Readme.md
  RISC-V/PlatformPkg: Revise Readme.md
  Platform/U5SeriesPkg: Revise Readme.md

 Platform/RISC-V/PlatformPkg/Readme.md |  72 +++++++++--------
 Platform/SiFive/U5SeriesPkg/Readme.md | 112 +++++++++++++-------------
 Readme.md                             |   1 +
 3 files changed, 96 insertions(+), 89 deletions(-)

-- 
2.25.0


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

View/Reply Online (#64678): https://edk2.groups.io/g/devel/message/64678
Mute This Topic: https://groups.io/mt/76450390/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

[edk2-devel] [edk2-plaforms PATCH 3/3] Platform/U5SeriesPkg: Revise Readme.md
Posted by Abner Chang 3 years, 7 months ago
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#64681): https://edk2.groups.io/g/devel/message/64681
Mute This Topic: https://groups.io/mt/76450397/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [edk2-plaforms PATCH 3/3] Platform/U5SeriesPkg: Revise Readme.md
Posted by Leif Lindholm 3 years, 7 months ago
Umm, this is empty?

On Thu, Aug 27, 2020 at 20:03:05 +0800, Abner Chang wrote:
> 
> 
> 

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

View/Reply Online (#64686): https://edk2.groups.io/g/devel/message/64686
Mute This Topic: https://groups.io/mt/76450397/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [edk2-plaforms PATCH 3/3] Platform/U5SeriesPkg: Revise Readme.md
Posted by Daniel Schaefer 3 years, 7 months ago
Oops, you didn't send this to Leif and Mike?

On 8/27/20 2:03 PM, Abner Chang wrote:
> Update RISC-V U5SeriesPkg Readme.md to align with the latest implementation.
> 
> Signed-off-by: Abner Chang <abner.chang@hpe.com>
> Co-authored-by: Daniel Schaefer <daniel.schaefer@hpe.com>
> 
> Cc: Daniel Schaefer <daniel.schaefer@hpe.com>
> ---
>   Platform/SiFive/U5SeriesPkg/Readme.md | 112 +++++++++++++-------------
>   1 file changed, 58 insertions(+), 54 deletions(-)
> 
> diff --git a/Platform/SiFive/U5SeriesPkg/Readme.md b/Platform/SiFive/U5SeriesPkg/Readme.md
> index 4d293e54f6..4d404efec4 100644
> --- a/Platform/SiFive/U5SeriesPkg/Readme.md
> +++ b/Platform/SiFive/U5SeriesPkg/Readme.md
> @@ -1,61 +1,59 @@
> -# Introduction
> -U5SeriesPkg provides the common EFI library and driver modules for SiFive
> -U5 series core platforms. Currently the supported platforms are Freedom
> -U500 VC707 platform and Freedom U540 HiFive Unleashed platform.
> -
> -Both platforms are built with below common packages,
> -- **U5SeriesPkg**, edk2 platform branch
> -  (Currently is in edk2-platforms/devel-riscvplatforms branch)
> -- **RiscVPlatformPkg**, edk2 master branch
> -  (Currently is in edk2-staging/RISC-V-V2 branch)
> -- **RiscVPkg**, edk2 master branch
> -  (Currently is in edk2-staging/RISC-V-V2 branch)
> +# Introduction of SiFive U5 Series Platforms
> +U5SeriesPkg provides the common EDK2 libraries and drivers for SiFive U5 series platforms. Currently the supported
> +platforms are Freedom U500 VC707 platform and Freedom U540 HiFive Unleashed platform.
> +
> +Both platforms are built with below common edk2 packages under edk2-platforms repository,
> +- [**U5SeriesPkg**](https://github.com/tianocore/edk2-platforms/tree/master/Platform/SiFive/U5SeriesPkg)
> +- [**RiscVPlatformPkg**](https://github.com/tianocore/edk2-platforms/tree/master/Platform/RISC-V/PlatformPkg)
> +- [**RiscVProcessorPkg**](https://github.com/tianocore/edk2-platforms/tree/master/Silicon/RISC-V/ProcessorPkg)
>   
>   ## U500 Platform
> -This is a sample RISC-V EDK2 platform package used agaist SiFive Freedom U500

I don't think we need to say "RISC-V EDK2" so often.

> +This is a sample RISC-V EDK2 platform package used against to SiFive Freedom U500

- RISC-V EDK2

>   VC707 FPGA Dev Kit, please refer to "SiFive Freedom U500 VC707 FPGA Getting
>   Started Guide" on https://www.sifive.com/documentation.
> +The binary built from Platform/SiFive/U5SeriesPkg/FreedomU500VC707Board can run on U500 VC707 FPGA board.
> +```
> +build -a RISCV64 -t GCC5 -p Platform/SiFive/U5SeriesPkg/FreedomU500VC707Board/U500.dsc
> +```
>   
>   ## U540 Platform
> -This is a sample RISC-V EDK2 platform package used against SiFive Freedom U540

- RISC-V EDK2

> -HiFive Unleashed development board, please refer to "SiFive Freedom U540-C000
> -Manual" on https://www.sifive.com.
> -The binary built from Platform/SiFive/U5SeriesPkg/FreedomU540HiFiveUnleashedBoard/
> -can run on main stream [QEMU](https://git.qemu.org/?p=qemu.git;a=summary)
> -using qemu-system-riscv64 under riscv64-softmmu. Launch the binary with
> +This is a sample RISC-V EDK2 platform package used for the SiFive Freedom U540 HiFive Unleashed development board, please refer to "SiFive Freedom U540-C000 Manual" on https://www.sifive.com.

- RISC-V EDK2

> +The binary built from Platform/SiFive/U5SeriesPkg/FreedomU540HiFiveUnleashedBoard/ can run on both hardware and
> +[QEMU](https://git.qemu.org/?p=qemu.git;a=summary). It is confirmed that version 5.0 of QEMU can boot the firmware.

I think here we should also say: can boot with this firmware to EFI shell and Linux userspace.

> +```
> +build -a RISCV64 -t GCC5 -p Platform/SiFive/U5SeriesPkg/FreedomU540HiFiveUnleashedBoard/U540.dsc
> +```
> +For running U540 edk2 binary on QEMU, use qemu-system-riscv64 under riscv64-softmmu to launch the binary with
> +below parameters,
>   
>   ```
> --cpu sifive-u54 -machine sifive_u
> +qemu-system-riscv64 -cpu sifive-u54 -machine sifive_u -bios U540.fd -m 2048 -nographic -smp cpus=5,maxcpus=5
>   ```
>   
> -## Download the sources
> +## Download the Source Code
>   ```
> -git clone https://github.com/tianocore/edk2-staging.git
> -# Checkout RISC-V-V2 branch
> +git clone https://github.com/tianocore/edk2.git
>   git clone https://github.com/tianocore/edk2-platforms.git

Please add --recurse-submodules here to also clone opensbi.

> -# Checkout devel-riscvplatforms branch
> -git clone https://github.com/tianocore/edk2-non-osi.git
>   ```
> -
> -## Platform Owners
> -Chang, Abner <abner.chang@hpe.com>
> -Chen, Gilbert <gilbert.chen@hpe.com>
> +Refer to [Readme.md](https://github.com/tianocore/edk2-platforms/blob/master/Platform/RISC-V/PlatformPkg/Readme.md) for building RISC-V platforms.
>   
>   ## Platform Status
> -Currently the binary built from U500Pkg can boot SiFive Freedom U500 VC707
> +**FreedomU500VC707Board**
> +Currently the binary built from U500 edk2 package can boot SiFive Freedom U500 VC707
>   FPGA to EFI shell with console in/out enabled.
>   
> -## Linux Build Instructions
> -You can build the RISC-V platform using below script,
> -`build -a RISCV64  -t GCC5 -p Platform/SiFive/U5SeriesPkg/FreedomU500VC707Board/U500.dsc`
> +**FreedomU540HiFiveUnleashedBoard**
> +Currently the binary built from U540 edk2 package can boot SiFive Freedom U540 HiFive Unleashed
> +to EFI shell with console in/out enabled and Linux kernel. Please refer to https://github.com/riscv/riscv-uefi-edk2-docs for booting to Linux kernel.
>   
>   ## Supported Operating Systems
> -Only support to boot to EFI Shell so far.
> +Please refer to https://github.com/riscv/riscv-uefi-edk2-docs.
>   
>   ## Known Issues and Limitations
>   Only RISC-V RV64 is verified on this platform.
>   
>   ## Related Materials
> +- [RISC-V UEFI Documents](https://github.com/riscv/riscv-uefi-edk2-docs)
>   - [RISC-V OpenSbi](https://github.com/riscv/opensbi)
>   - [SiFive U500 VC707 FPGA Getting Started Guide](https://sifive.cdn.prismic.io/sifive%2Fc248fabc-5e44-4412-b1c3-6bb6aac73a2c_sifive-u500-vc707-gettingstarted-v0.2.pdf)
>   - [SiFive Freedom U540-C000 Manual](https://sifive.cdn.prismic.io/sifive%2F834354f0-08e6-423c-bf1f-0cb58ef14061_fu540-c000-v1.0.pdf)
> @@ -63,48 +61,54 @@ Only RISC-V RV64 is verified on this platform.
>   
>   ## U5SeriesPkg Libraries and Drivers
>   ### PeiCoreInfoHobLib
> -This is the library to create RISC-V core characteristics for building up
> -RISC-V related SMBIOS records to support the unified boot loader and OS image.
> +This is the library to create RISC-V core characteristics for building up RISC-V related SMBIOS records to support
> +the single boot loader image or OS image on the RISC-V variants

Hey! That's not what we discussed ;) What about:

a single boot loader and OS image for all RISC-V platforms by discovering RISC-V hart configurations dynamically.

>   This library leverage the silicon libraries provided in Silicon/SiFive.
>   
>   ### RiscVPlatformTimerLib
> -This is common U5 series platform timer library which has the
> -platform-specific timer implementation.
> +This is common U5 series platform timer library which has the platform-specific timer implementation.
> +
> +### SerialLib
> +This is common U5 series platform serial port library.
>   
>   ### TimerDxe
> -This is U5 series platform timer DXE driver whcih has the platform-specific
> -timer implementation.
> +This is common U5 series platform timer DXE driver which has the platform-specific timer implementation.
>   
>   ## U500 Platform Libraries and Drivers
>   ### RiscVOpensbiPlatformLib
> -In order to reduce the dependencies with RISC-V OpenSBI project
> -(https://github.com/riscv/opensbi) and fewer burdens to EDK2 build process, the
> -implementation of RISC-V EDK2 platform is leveraging platform source code from
> +In order to reduce the dependencies with RISC-V OpenSBI project (https://github.com/riscv/opensbi) and fewer
> +burdens to EDK2 build process, the implementation of RISC-V EDK2 platform is leveraging platform source code from
>   OpenSBI code tree. The "platform.c" under OpenSbiPlatformLib is cloned from
> -RISC-V OpenSBI code tree (in EDK2 RiscVPkg) and built based on EDK2 build
> -environment.
> +[RISC-V OpenSBI code tree](Silicon/RISC-V/ProcessorPkg/Library/RiscVOpensbiLib/opensbi) and built based on edk2
> +build environment.
>   
>   ### PlatformPei
> -This is the platform-implementation specific library which is executed in early
> -PEI phase for U500 platform initialization.
> +This is the platform-implementation specific library which is executed in early PEI phase for U500 platform
> +initialization.
>   
>   ## U540 Platform Libraries and Drivers
>   ### RiscVOpensbiPlatformLib
> -In order to reduce the dependencies with RISC-V OpenSBI project
> -(https://github.com/riscv/opensbi) and fewer burdens to EDK2 build process, the
> -implementation of RISC-V EDK2 platform is leveraging platform source code from
> +In order to reduce the dependencies with RISC-V OpenSBI project (https://github.com/riscv/opensbi) and fewer
> +burdens to EDK2 build process,

Hm, we are depending on OpenSBI. You can say to avoid duplicating code we use it.
But we're switching to S-Mode very soon to avoid calling many internal OpenSBI functions
and instead calling the standardized SBI interface.

> the implementation of RISC-V EDK2 platform is leveraging platform source code from
>   OpenSBI code tree. The "platform.c" under OpenSbiPlatformLib is cloned from
> -RISC-V OpenSBI code tree (in EDK2 RiscVPkg) and built based on EDK2 build
> -environment.
> +[RISC-V OpenSBI code tree](Silicon/RISC-V/ProcessorPkg/Library/RiscVOpensbiLib/opensbi) and built based on edk2
> +build environment.
>   
>   ### PlatformPei
> -This is the platform-implementation specific library which is executed in early
> -PEI phase for U540 platform initialization.
> +This is the platform-implementation specific library which is executed in early PEI phase for U540 platform
> +initialization.
>   
>   ## U5SeriesPkg Platform PCD settings
>   
>   | **PCD name** |**Usage**|
>   |----------------|----------|
> +|PcdU5PlatformSystemClock| U5 series platform system clock|
>   |PcdNumberofU5Cores| Number of U5 core enabled on U5 series platform|
>   |PcdE5MCSupported| Indicates whether the Monitor Core (E5) is supported on U5 series platform|
>   |PcdU5UartBase|Platform serial port base address|
> +
> +
> +## Platform Owners
> +Chang, Abner <abner.chang@hpe.com>
> +Chen, Gilbert <gilbert.chen@hpe.com>
> +Schaefer, Daniel <daniel.schaefer@hpe.com>
> \ No newline at end of file
> 

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

View/Reply Online (#64687): https://edk2.groups.io/g/devel/message/64687
Mute This Topic: https://groups.io/mt/76450397/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [edk2-plaforms PATCH 3/3] Platform/U5SeriesPkg: Revise Readme.md
Posted by Abner Chang 3 years, 7 months ago
Sorry, I didn't send patch to edk2-platform for a while, let me resend the whole set.

Yes, I missed Mike and Leif...

> -----Original Message-----
> From: Schaefer, Daniel
> Sent: Thursday, August 27, 2020 9:44 PM
> To: Chang, Abner (HPS SW/FW Technologist) <abner.chang@hpe.com>;
> devel@edk2.groups.io
> Cc: leif@nuviainc.com; Michael D Kinney <michael.d.kinney@intel.com>
> Subject: Re: [edk2-plaforms PATCH 3/3] Platform/U5SeriesPkg: Revise
> Readme.md
> 
> Oops, you didn't send this to Leif and Mike?
> 
> On 8/27/20 2:03 PM, Abner Chang wrote:
> > Update RISC-V U5SeriesPkg Readme.md to align with the latest
> implementation.
> >
> > Signed-off-by: Abner Chang <abner.chang@hpe.com>
> > Co-authored-by: Daniel Schaefer <daniel.schaefer@hpe.com>
> >
> > Cc: Daniel Schaefer <daniel.schaefer@hpe.com>
> > ---
> >   Platform/SiFive/U5SeriesPkg/Readme.md | 112 +++++++++++++-----------
> --
> >   1 file changed, 58 insertions(+), 54 deletions(-)
> >
> > diff --git a/Platform/SiFive/U5SeriesPkg/Readme.md
> > b/Platform/SiFive/U5SeriesPkg/Readme.md
> > index 4d293e54f6..4d404efec4 100644
> > --- a/Platform/SiFive/U5SeriesPkg/Readme.md
> > +++ b/Platform/SiFive/U5SeriesPkg/Readme.md
> > @@ -1,61 +1,59 @@
> > -# Introduction
> > -U5SeriesPkg provides the common EFI library and driver modules for
> > SiFive
> > -U5 series core platforms. Currently the supported platforms are
> > Freedom
> > -U500 VC707 platform and Freedom U540 HiFive Unleashed platform.
> > -
> > -Both platforms are built with below common packages,
> > -- **U5SeriesPkg**, edk2 platform branch
> > -  (Currently is in edk2-platforms/devel-riscvplatforms branch)
> > -- **RiscVPlatformPkg**, edk2 master branch
> > -  (Currently is in edk2-staging/RISC-V-V2 branch)
> > -- **RiscVPkg**, edk2 master branch
> > -  (Currently is in edk2-staging/RISC-V-V2 branch)
> > +# Introduction of SiFive U5 Series Platforms U5SeriesPkg provides the
> > +common EDK2 libraries and drivers for SiFive U5 series platforms.
> > +Currently the supported platforms are Freedom U500 VC707 platform and
> Freedom U540 HiFive Unleashed platform.
> > +
> > +Both platforms are built with below common edk2 packages under
> > +edk2-platforms repository,
> > +-
> > +[**U5SeriesPkg**](https://github.com/tianocore/edk2-
> platforms/tree/ma
> > +ster/Platform/SiFive/U5SeriesPkg)
> > +-
> > +[**RiscVPlatformPkg**](https://github.com/tianocore/edk2-platforms/tr
> > +ee/master/Platform/RISC-V/PlatformPkg)
> > +-
> > +[**RiscVProcessorPkg**](https://github.com/tianocore/edk2-
> platforms/t
> > +ree/master/Silicon/RISC-V/ProcessorPkg)
> >
> >   ## U500 Platform
> > -This is a sample RISC-V EDK2 platform package used agaist SiFive
> > Freedom U500
> 
> I don't think we need to say "RISC-V EDK2" so often.
> 
> > +This is a sample RISC-V EDK2 platform package used against to SiFive
> > +Freedom U500
> 
> - RISC-V EDK2
> 
> >   VC707 FPGA Dev Kit, please refer to "SiFive Freedom U500 VC707 FPGA
> Getting
> >   Started Guide" on https://www.sifive.com/documentation.
> > +The binary built from
> Platform/SiFive/U5SeriesPkg/FreedomU500VC707Board can run on U500
> VC707 FPGA board.
> > +```
> > +build -a RISCV64 -t GCC5 -p
> > +Platform/SiFive/U5SeriesPkg/FreedomU500VC707Board/U500.dsc
> > +```
> >
> >   ## U540 Platform
> > -This is a sample RISC-V EDK2 platform package used against SiFive
> > Freedom U540
> 
> - RISC-V EDK2
> 
> > -HiFive Unleashed development board, please refer to "SiFive Freedom
> > U540-C000 -Manual" on https://www.sifive.com.
> > -The binary built from
> > Platform/SiFive/U5SeriesPkg/FreedomU540HiFiveUnleashedBoard/
> > -can run on main stream
> > [QEMU](https://git.qemu.org/?p=qemu.git;a=summary)
> > -using qemu-system-riscv64 under riscv64-softmmu. Launch the binary
> > with
> > +This is a sample RISC-V EDK2 platform package used for the SiFive
> Freedom U540 HiFive Unleashed development board, please refer to "SiFive
> Freedom U540-C000 Manual" on https://www.sifive.com.
> 
> - RISC-V EDK2
> 
> > +The binary built from
> > +Platform/SiFive/U5SeriesPkg/FreedomU540HiFiveUnleashedBoard/ can
> run on both hardware and
> [QEMU](https://git.qemu.org/?p=qemu.git;a=summary). It is confirmed that
> version 5.0 of QEMU can boot the firmware.
> 
> I think here we should also say: can boot with this firmware to EFI shell and
> Linux userspace.
> 
> > +```
> > +build -a RISCV64 -t GCC5 -p
> >
> +Platform/SiFive/U5SeriesPkg/FreedomU540HiFiveUnleashedBoard/U540.d
> sc
> > +```
> > +For running U540 edk2 binary on QEMU, use qemu-system-riscv64 under
> > +riscv64-softmmu to launch the binary with below parameters,
> >
> >   ```
> > --cpu sifive-u54 -machine sifive_u
> > +qemu-system-riscv64 -cpu sifive-u54 -machine sifive_u -bios U540.fd
> > +-m 2048 -nographic -smp cpus=5,maxcpus=5
> >   ```
> >
> > -## Download the sources
> > +## Download the Source Code
> >   ```
> > -git clone https://github.com/tianocore/edk2-staging.git
> > -# Checkout RISC-V-V2 branch
> > +git clone https://github.com/tianocore/edk2.git
> >   git clone https://github.com/tianocore/edk2-platforms.git
> 
> Please add --recurse-submodules here to also clone opensbi.
> 
> > -# Checkout devel-riscvplatforms branch -git clone
> > https://github.com/tianocore/edk2-non-osi.git
> >   ```
> > -
> > -## Platform Owners
> > -Chang, Abner <abner.chang@hpe.com>
> > -Chen, Gilbert <gilbert.chen@hpe.com>
> > +Refer to [Readme.md](https://github.com/tianocore/edk2-
> platforms/blob/master/Platform/RISC-V/PlatformPkg/Readme.md) for
> building RISC-V platforms.
> >
> >   ## Platform Status
> > -Currently the binary built from U500Pkg can boot SiFive Freedom U500
> > VC707
> > +**FreedomU500VC707Board**
> > +Currently the binary built from U500 edk2 package can boot SiFive
> > +Freedom U500 VC707
> >   FPGA to EFI shell with console in/out enabled.
> >
> > -## Linux Build Instructions
> > -You can build the RISC-V platform using below script, -`build -a
> > RISCV64  -t GCC5 -p
> > Platform/SiFive/U5SeriesPkg/FreedomU500VC707Board/U500.dsc`
> > +**FreedomU540HiFiveUnleashedBoard**
> > +Currently the binary built from U540 edk2 package can boot SiFive
> > +Freedom U540 HiFive Unleashed to EFI shell with console in/out enabled
> and Linux kernel. Please refer to https://github.com/riscv/riscv-uefi-edk2-
> docs for booting to Linux kernel.
> >
> >   ## Supported Operating Systems
> > -Only support to boot to EFI Shell so far.
> > +Please refer to https://github.com/riscv/riscv-uefi-edk2-docs.
> >
> >   ## Known Issues and Limitations
> >   Only RISC-V RV64 is verified on this platform.
> >
> >   ## Related Materials
> > +- [RISC-V UEFI
> > +Documents](https://github.com/riscv/riscv-uefi-edk2-docs)
> >   - [RISC-V OpenSbi](https://github.com/riscv/opensbi)
> >   - [SiFive U500 VC707 FPGA Getting Started
> Guide](https://sifive.cdn.prismic.io/sifive%2Fc248fabc-5e44-4412-b1c3-
> 6bb6aac73a2c_sifive-u500-vc707-gettingstarted-v0.2.pdf)
> >   - [SiFive Freedom U540-C000
> > Manual](https://sifive.cdn.prismic.io/sifive%2F834354f0-08e6-423c-bf1f
> > -0cb58ef14061_fu540-c000-v1.0.pdf)
> > @@ -63,48 +61,54 @@ Only RISC-V RV64 is verified on this platform.
> >
> >   ## U5SeriesPkg Libraries and Drivers
> >   ### PeiCoreInfoHobLib
> > -This is the library to create RISC-V core characteristics for
> > building up -RISC-V related SMBIOS records to support the unified boot
> loader and OS image.
> > +This is the library to create RISC-V core characteristics for
> > +building up RISC-V related SMBIOS records to support the single boot
> > +loader image or OS image on the RISC-V variants
> 
> Hey! That's not what we discussed ;) What about:
> 
> a single boot loader and OS image for all RISC-V platforms by discovering
> RISC-V hart configurations dynamically.
> 
> >   This library leverage the silicon libraries provided in Silicon/SiFive.
> >
> >   ### RiscVPlatformTimerLib
> > -This is common U5 series platform timer library which has the
> > -platform-specific timer implementation.
> > +This is common U5 series platform timer library which has the platform-
> specific timer implementation.
> > +
> > +### SerialLib
> > +This is common U5 series platform serial port library.
> >
> >   ### TimerDxe
> > -This is U5 series platform timer DXE driver whcih has the
> > platform-specific -timer implementation.
> > +This is common U5 series platform timer DXE driver which has the
> platform-specific timer implementation.
> >
> >   ## U500 Platform Libraries and Drivers
> >   ### RiscVOpensbiPlatformLib
> > -In order to reduce the dependencies with RISC-V OpenSBI project
> > -(https://github.com/riscv/opensbi) and fewer burdens to EDK2 build
> > process, the -implementation of RISC-V EDK2 platform is leveraging
> > platform source code from
> > +In order to reduce the dependencies with RISC-V OpenSBI project
> > +(https://github.com/riscv/opensbi) and fewer burdens to EDK2 build
> > +process, the implementation of RISC-V EDK2 platform is leveraging
> > +platform source code from
> >   OpenSBI code tree. The "platform.c" under OpenSbiPlatformLib is
> > cloned from -RISC-V OpenSBI code tree (in EDK2 RiscVPkg) and built
> > based on EDK2 build -environment.
> > +[RISC-V OpenSBI code
> > +tree](Silicon/RISC-V/ProcessorPkg/Library/RiscVOpensbiLib/opensbi) and
> built based on edk2 build environment.
> >
> >   ### PlatformPei
> > -This is the platform-implementation specific library which is
> > executed in early -PEI phase for U500 platform initialization.
> > +This is the platform-implementation specific library which is
> > +executed in early PEI phase for U500 platform initialization.
> >
> >   ## U540 Platform Libraries and Drivers
> >   ### RiscVOpensbiPlatformLib
> > -In order to reduce the dependencies with RISC-V OpenSBI project
> > -(https://github.com/riscv/opensbi) and fewer burdens to EDK2 build
> > process, the -implementation of RISC-V EDK2 platform is leveraging
> > platform source code from
> > +In order to reduce the dependencies with RISC-V OpenSBI project
> > +(https://github.com/riscv/opensbi) and fewer burdens to EDK2 build
> > +process,
> 
> Hm, we are depending on OpenSBI. You can say to avoid duplicating code we
> use it.
> But we're switching to S-Mode very soon to avoid calling many internal
> OpenSBI functions and instead calling the standardized SBI interface.
> 
> > the implementation of RISC-V EDK2 platform is leveraging platform source
> code from
> >   OpenSBI code tree. The "platform.c" under OpenSbiPlatformLib is
> > cloned from -RISC-V OpenSBI code tree (in EDK2 RiscVPkg) and built
> > based on EDK2 build -environment.
> > +[RISC-V OpenSBI code
> > +tree](Silicon/RISC-V/ProcessorPkg/Library/RiscVOpensbiLib/opensbi) and
> built based on edk2 build environment.
> >
> >   ### PlatformPei
> > -This is the platform-implementation specific library which is
> > executed in early -PEI phase for U540 platform initialization.
> > +This is the platform-implementation specific library which is
> > +executed in early PEI phase for U540 platform initialization.
> >
> >   ## U5SeriesPkg Platform PCD settings
> >
> >   | **PCD name** |**Usage**|
> >   |----------------|----------|
> > +|PcdU5PlatformSystemClock| U5 series platform system clock|
> >   |PcdNumberofU5Cores| Number of U5 core enabled on U5 series
> platform|
> >   |PcdE5MCSupported| Indicates whether the Monitor Core (E5) is
> supported on U5 series platform|
> >   |PcdU5UartBase|Platform serial port base address|
> > +
> > +
> > +## Platform Owners
> > +Chang, Abner <abner.chang@hpe.com>
> > +Chen, Gilbert <gilbert.chen@hpe.com>
> > +Schaefer, Daniel <daniel.schaefer@hpe.com>
> > \ No newline at end of file
> >

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

View/Reply Online (#64689): https://edk2.groups.io/g/devel/message/64689
Mute This Topic: https://groups.io/mt/76450397/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [edk2-plaforms PATCH 3/3] Platform/U5SeriesPkg: Revise Readme.md
Posted by Daniel Schaefer 3 years, 7 months ago
I still put a review below, by the way 😉
________________________________
From: Chang, Abner (HPS SW/FW Technologist) <abner.chang@hpe.com>
Sent: Thursday, August 27, 2020 22:06
To: Schaefer, Daniel <daniel.schaefer@hpe.com>; devel@edk2.groups.io <devel@edk2.groups.io>
Cc: leif@nuviainc.com <leif@nuviainc.com>; Michael D Kinney <michael.d.kinney@intel.com>
Subject: RE: [edk2-plaforms PATCH 3/3] Platform/U5SeriesPkg: Revise Readme.md

Sorry, I didn't send patch to edk2-platform for a while, let me resend the whole set.

Yes, I missed Mike and Leif...

> -----Original Message-----
> From: Schaefer, Daniel
> Sent: Thursday, August 27, 2020 9:44 PM
> To: Chang, Abner (HPS SW/FW Technologist) <abner.chang@hpe.com>;
> devel@edk2.groups.io
> Cc: leif@nuviainc.com; Michael D Kinney <michael.d.kinney@intel.com>
> Subject: Re: [edk2-plaforms PATCH 3/3] Platform/U5SeriesPkg: Revise
> Readme.md
>
> Oops, you didn't send this to Leif and Mike?
>
> On 8/27/20 2:03 PM, Abner Chang wrote:
> > Update RISC-V U5SeriesPkg Readme.md to align with the latest
> implementation.
> >
> > Signed-off-by: Abner Chang <abner.chang@hpe.com>
> > Co-authored-by: Daniel Schaefer <daniel.schaefer@hpe.com>
> >
> > Cc: Daniel Schaefer <daniel.schaefer@hpe.com>
> > ---
> >   Platform/SiFive/U5SeriesPkg/Readme.md | 112 +++++++++++++-----------
> --
> >   1 file changed, 58 insertions(+), 54 deletions(-)
> >
> > diff --git a/Platform/SiFive/U5SeriesPkg/Readme.md
> > b/Platform/SiFive/U5SeriesPkg/Readme.md
> > index 4d293e54f6..4d404efec4 100644
> > --- a/Platform/SiFive/U5SeriesPkg/Readme.md
> > +++ b/Platform/SiFive/U5SeriesPkg/Readme.md
> > @@ -1,61 +1,59 @@
> > -# Introduction
> > -U5SeriesPkg provides the common EFI library and driver modules for
> > SiFive
> > -U5 series core platforms. Currently the supported platforms are
> > Freedom
> > -U500 VC707 platform and Freedom U540 HiFive Unleashed platform.
> > -
> > -Both platforms are built with below common packages,
> > -- **U5SeriesPkg**, edk2 platform branch
> > -  (Currently is in edk2-platforms/devel-riscvplatforms branch)
> > -- **RiscVPlatformPkg**, edk2 master branch
> > -  (Currently is in edk2-staging/RISC-V-V2 branch)
> > -- **RiscVPkg**, edk2 master branch
> > -  (Currently is in edk2-staging/RISC-V-V2 branch)
> > +# Introduction of SiFive U5 Series Platforms U5SeriesPkg provides the
> > +common EDK2 libraries and drivers for SiFive U5 series platforms.
> > +Currently the supported platforms are Freedom U500 VC707 platform and
> Freedom U540 HiFive Unleashed platform.
> > +
> > +Both platforms are built with below common edk2 packages under
> > +edk2-platforms repository,
> > +-
> > +[**U5SeriesPkg**](https://github.com/tianocore/edk2-
> platforms/tree/ma
> > +ster/Platform/SiFive/U5SeriesPkg)
> > +-
> > +[**RiscVPlatformPkg**](https://github.com/tianocore/edk2-platforms/tr
> > +ee/master/Platform/RISC-V/PlatformPkg)
> > +-
> > +[**RiscVProcessorPkg**](https://github.com/tianocore/edk2-
> platforms/t
> > +ree/master/Silicon/RISC-V/ProcessorPkg)
> >
> >   ## U500 Platform
> > -This is a sample RISC-V EDK2 platform package used agaist SiFive
> > Freedom U500
>
> I don't think we need to say "RISC-V EDK2" so often.
>
> > +This is a sample RISC-V EDK2 platform package used against to SiFive
> > +Freedom U500
>
> - RISC-V EDK2
>
> >   VC707 FPGA Dev Kit, please refer to "SiFive Freedom U500 VC707 FPGA
> Getting
> >   Started Guide" on https://www.sifive.com/documentation.
> > +The binary built from
> Platform/SiFive/U5SeriesPkg/FreedomU500VC707Board can run on U500
> VC707 FPGA board.
> > +```
> > +build -a RISCV64 -t GCC5 -p
> > +Platform/SiFive/U5SeriesPkg/FreedomU500VC707Board/U500.dsc
> > +```
> >
> >   ## U540 Platform
> > -This is a sample RISC-V EDK2 platform package used against SiFive
> > Freedom U540
>
> - RISC-V EDK2
>
> > -HiFive Unleashed development board, please refer to "SiFive Freedom
> > U540-C000 -Manual" on https://www.sifive.com.
> > -The binary built from
> > Platform/SiFive/U5SeriesPkg/FreedomU540HiFiveUnleashedBoard/
> > -can run on main stream
> > [QEMU](https://git.qemu.org/?p=qemu.git;a=summary)
> > -using qemu-system-riscv64 under riscv64-softmmu. Launch the binary
> > with
> > +This is a sample RISC-V EDK2 platform package used for the SiFive
> Freedom U540 HiFive Unleashed development board, please refer to "SiFive
> Freedom U540-C000 Manual" on https://www.sifive.com.
>
> - RISC-V EDK2
>
> > +The binary built from
> > +Platform/SiFive/U5SeriesPkg/FreedomU540HiFiveUnleashedBoard/ can
> run on both hardware and
> [QEMU](https://git.qemu.org/?p=qemu.git;a=summary). It is confirmed that
> version 5.0 of QEMU can boot the firmware.
>
> I think here we should also say: can boot with this firmware to EFI shell and
> Linux userspace.
>
> > +```
> > +build -a RISCV64 -t GCC5 -p
> >
> +Platform/SiFive/U5SeriesPkg/FreedomU540HiFiveUnleashedBoard/U540.d
> sc
> > +```
> > +For running U540 edk2 binary on QEMU, use qemu-system-riscv64 under
> > +riscv64-softmmu to launch the binary with below parameters,
> >
> >   ```
> > --cpu sifive-u54 -machine sifive_u
> > +qemu-system-riscv64 -cpu sifive-u54 -machine sifive_u -bios U540.fd
> > +-m 2048 -nographic -smp cpus=5,maxcpus=5
> >   ```
> >
> > -## Download the sources
> > +## Download the Source Code
> >   ```
> > -git clone https://github.com/tianocore/edk2-staging.git
> > -# Checkout RISC-V-V2 branch
> > +git clone https://github.com/tianocore/edk2.git
> >   git clone https://github.com/tianocore/edk2-platforms.git
>
> Please add --recurse-submodules here to also clone opensbi.
>
> > -# Checkout devel-riscvplatforms branch -git clone
> > https://github.com/tianocore/edk2-non-osi.git
> >   ```
> > -
> > -## Platform Owners
> > -Chang, Abner <abner.chang@hpe.com>
> > -Chen, Gilbert <gilbert.chen@hpe.com>
> > +Refer to [Readme.md](https://github.com/tianocore/edk2-
> platforms/blob/master/Platform/RISC-V/PlatformPkg/Readme.md) for
> building RISC-V platforms.
> >
> >   ## Platform Status
> > -Currently the binary built from U500Pkg can boot SiFive Freedom U500
> > VC707
> > +**FreedomU500VC707Board**
> > +Currently the binary built from U500 edk2 package can boot SiFive
> > +Freedom U500 VC707
> >   FPGA to EFI shell with console in/out enabled.
> >
> > -## Linux Build Instructions
> > -You can build the RISC-V platform using below script, -`build -a
> > RISCV64  -t GCC5 -p
> > Platform/SiFive/U5SeriesPkg/FreedomU500VC707Board/U500.dsc`
> > +**FreedomU540HiFiveUnleashedBoard**
> > +Currently the binary built from U540 edk2 package can boot SiFive
> > +Freedom U540 HiFive Unleashed to EFI shell with console in/out enabled
> and Linux kernel. Please refer to https://github.com/riscv/riscv-uefi-edk2-
> docs for booting to Linux kernel.
> >
> >   ## Supported Operating Systems
> > -Only support to boot to EFI Shell so far.
> > +Please refer to https://github.com/riscv/riscv-uefi-edk2-docs.
> >
> >   ## Known Issues and Limitations
> >   Only RISC-V RV64 is verified on this platform.
> >
> >   ## Related Materials
> > +- [RISC-V UEFI
> > +Documents](https://github.com/riscv/riscv-uefi-edk2-docs)
> >   - [RISC-V OpenSbi](https://github.com/riscv/opensbi)
> >   - [SiFive U500 VC707 FPGA Getting Started
> Guide](https://sifive.cdn.prismic.io/sifive%2Fc248fabc-5e44-4412-b1c3-
> 6bb6aac73a2c_sifive-u500-vc707-gettingstarted-v0.2.pdf)
> >   - [SiFive Freedom U540-C000
> > Manual](https://sifive.cdn.prismic.io/sifive%2F834354f0-08e6-423c-bf1f
> > -0cb58ef14061_fu540-c000-v1.0.pdf)
> > @@ -63,48 +61,54 @@ Only RISC-V RV64 is verified on this platform.
> >
> >   ## U5SeriesPkg Libraries and Drivers
> >   ### PeiCoreInfoHobLib
> > -This is the library to create RISC-V core characteristics for
> > building up -RISC-V related SMBIOS records to support the unified boot
> loader and OS image.
> > +This is the library to create RISC-V core characteristics for
> > +building up RISC-V related SMBIOS records to support the single boot
> > +loader image or OS image on the RISC-V variants
>
> Hey! That's not what we discussed ;) What about:
>
> a single boot loader and OS image for all RISC-V platforms by discovering
> RISC-V hart configurations dynamically.
>
> >   This library leverage the silicon libraries provided in Silicon/SiFive.
> >
> >   ### RiscVPlatformTimerLib
> > -This is common U5 series platform timer library which has the
> > -platform-specific timer implementation.
> > +This is common U5 series platform timer library which has the platform-
> specific timer implementation.
> > +
> > +### SerialLib
> > +This is common U5 series platform serial port library.
> >
> >   ### TimerDxe
> > -This is U5 series platform timer DXE driver whcih has the
> > platform-specific -timer implementation.
> > +This is common U5 series platform timer DXE driver which has the
> platform-specific timer implementation.
> >
> >   ## U500 Platform Libraries and Drivers
> >   ### RiscVOpensbiPlatformLib
> > -In order to reduce the dependencies with RISC-V OpenSBI project
> > -(https://github.com/riscv/opensbi) and fewer burdens to EDK2 build
> > process, the -implementation of RISC-V EDK2 platform is leveraging
> > platform source code from
> > +In order to reduce the dependencies with RISC-V OpenSBI project
> > +(https://github.com/riscv/opensbi) and fewer burdens to EDK2 build
> > +process, the implementation of RISC-V EDK2 platform is leveraging
> > +platform source code from
> >   OpenSBI code tree. The "platform.c" under OpenSbiPlatformLib is
> > cloned from -RISC-V OpenSBI code tree (in EDK2 RiscVPkg) and built
> > based on EDK2 build -environment.
> > +[RISC-V OpenSBI code
> > +tree](Silicon/RISC-V/ProcessorPkg/Library/RiscVOpensbiLib/opensbi) and
> built based on edk2 build environment.
> >
> >   ### PlatformPei
> > -This is the platform-implementation specific library which is
> > executed in early -PEI phase for U500 platform initialization.
> > +This is the platform-implementation specific library which is
> > +executed in early PEI phase for U500 platform initialization.
> >
> >   ## U540 Platform Libraries and Drivers
> >   ### RiscVOpensbiPlatformLib
> > -In order to reduce the dependencies with RISC-V OpenSBI project
> > -(https://github.com/riscv/opensbi) and fewer burdens to EDK2 build
> > process, the -implementation of RISC-V EDK2 platform is leveraging
> > platform source code from
> > +In order to reduce the dependencies with RISC-V OpenSBI project
> > +(https://github.com/riscv/opensbi) and fewer burdens to EDK2 build
> > +process,
>
> Hm, we are depending on OpenSBI. You can say to avoid duplicating code we
> use it.
> But we're switching to S-Mode very soon to avoid calling many internal
> OpenSBI functions and instead calling the standardized SBI interface.
>
> > the implementation of RISC-V EDK2 platform is leveraging platform source
> code from
> >   OpenSBI code tree. The "platform.c" under OpenSbiPlatformLib is
> > cloned from -RISC-V OpenSBI code tree (in EDK2 RiscVPkg) and built
> > based on EDK2 build -environment.
> > +[RISC-V OpenSBI code
> > +tree](Silicon/RISC-V/ProcessorPkg/Library/RiscVOpensbiLib/opensbi) and
> built based on edk2 build environment.
> >
> >   ### PlatformPei
> > -This is the platform-implementation specific library which is
> > executed in early -PEI phase for U540 platform initialization.
> > +This is the platform-implementation specific library which is
> > +executed in early PEI phase for U540 platform initialization.
> >
> >   ## U5SeriesPkg Platform PCD settings
> >
> >   | **PCD name** |**Usage**|
> >   |----------------|----------|
> > +|PcdU5PlatformSystemClock| U5 series platform system clock|
> >   |PcdNumberofU5Cores| Number of U5 core enabled on U5 series
> platform|
> >   |PcdE5MCSupported| Indicates whether the Monitor Core (E5) is
> supported on U5 series platform|
> >   |PcdU5UartBase|Platform serial port base address|
> > +
> > +
> > +## Platform Owners
> > +Chang, Abner <abner.chang@hpe.com>
> > +Chen, Gilbert <gilbert.chen@hpe.com>
> > +Schaefer, Daniel <daniel.schaefer@hpe.com>
> > \ No newline at end of file
> >

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

View/Reply Online (#64690): https://edk2.groups.io/g/devel/message/64690
Mute This Topic: https://groups.io/mt/76450397/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [edk2-plaforms PATCH 3/3] Platform/U5SeriesPkg: Revise Readme.md
Posted by Abner Chang 3 years, 7 months ago
I resent the patches v2  with your comments addressed.

One response to your comment is in below,

From: Schaefer, Daniel
Sent: Thursday, August 27, 2020 10:55 PM
To: Chang, Abner (HPS SW/FW Technologist) <abner.chang@hpe.com>; devel@edk2.groups.io
Cc: leif@nuviainc.com; Michael D Kinney <michael.d.kinney@intel.com>
Subject: Re: [edk2-plaforms PATCH 3/3] Platform/U5SeriesPkg: Revise Readme.md

I still put a review below, by the way 😉
________________________________
From: Chang, Abner (HPS SW/FW Technologist) <abner.chang@hpe.com<mailto:abner.chang@hpe.com>>
Sent: Thursday, August 27, 2020 22:06
To: Schaefer, Daniel <daniel.schaefer@hpe.com<mailto:daniel.schaefer@hpe.com>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>>
Cc: leif@nuviainc.com<mailto:leif@nuviainc.com> <leif@nuviainc.com<mailto:leif@nuviainc.com>>; Michael D Kinney <michael.d.kinney@intel.com<mailto:michael.d.kinney@intel.com>>
Subject: RE: [edk2-plaforms PATCH 3/3] Platform/U5SeriesPkg: Revise Readme.md

Sorry, I didn't send patch to edk2-platform for a while, let me resend the whole set.

Yes, I missed Mike and Leif...

> -----Original Message-----
> From: Schaefer, Daniel
> Sent: Thursday, August 27, 2020 9:44 PM
> To: Chang, Abner (HPS SW/FW Technologist) <abner.chang@hpe.com<mailto:abner.chang@hpe.com>>;
> devel@edk2.groups.io<mailto:devel@edk2.groups.io>
> Cc: leif@nuviainc.com<mailto:leif@nuviainc.com>; Michael D Kinney <michael.d.kinney@intel.com<mailto:michael.d.kinney@intel.com>>
> Subject: Re: [edk2-plaforms PATCH 3/3] Platform/U5SeriesPkg: Revise
> Readme.md
>
> Oops, you didn't send this to Leif and Mike?
>
> On 8/27/20 2:03 PM, Abner Chang wrote:
> > Update RISC-V U5SeriesPkg Readme.md to align with the latest
> implementation.
> >
> > Signed-off-by: Abner Chang <abner.chang@hpe.com<mailto:abner.chang@hpe.com>>
> > Co-authored-by: Daniel Schaefer <daniel.schaefer@hpe.com<mailto:daniel.schaefer@hpe.com>>
> >
> > Cc: Daniel Schaefer <daniel.schaefer@hpe.com<mailto:daniel.schaefer@hpe.com>>
> > ---
> >   Platform/SiFive/U5SeriesPkg/Readme.md | 112 +++++++++++++-----------
> --
> >   1 file changed, 58 insertions(+), 54 deletions(-)
> >
> > diff --git a/Platform/SiFive/U5SeriesPkg/Readme.md
> > b/Platform/SiFive/U5SeriesPkg/Readme.md
> > index 4d293e54f6..4d404efec4 100644
> > --- a/Platform/SiFive/U5SeriesPkg/Readme.md
> > +++ b/Platform/SiFive/U5SeriesPkg/Readme.md
> > @@ -1,61 +1,59 @@
> > -# Introduction
> > -U5SeriesPkg provides the common EFI library and driver modules for
> > SiFive
> > -U5 series core platforms. Currently the supported platforms are
> > Freedom
> > -U500 VC707 platform and Freedom U540 HiFive Unleashed platform.
> > -
> > -Both platforms are built with below common packages,
> > -- **U5SeriesPkg**, edk2 platform branch
> > -  (Currently is in edk2-platforms/devel-riscvplatforms branch)
> > -- **RiscVPlatformPkg**, edk2 master branch
> > -  (Currently is in edk2-staging/RISC-V-V2 branch)
> > -- **RiscVPkg**, edk2 master branch
> > -  (Currently is in edk2-staging/RISC-V-V2 branch)
> > +# Introduction of SiFive U5 Series Platforms U5SeriesPkg provides the
> > +common EDK2 libraries and drivers for SiFive U5 series platforms.
> > +Currently the supported platforms are Freedom U500 VC707 platform and
> Freedom U540 HiFive Unleashed platform.
> > +
> > +Both platforms are built with below common edk2 packages under
> > +edk2-platforms repository,
> > +-
> > +[**U5SeriesPkg**](https://github.com/tianocore/edk2-
> platforms/tree/ma
> > +ster/Platform/SiFive/U5SeriesPkg)
> > +-
> > +[**RiscVPlatformPkg**](https://github.com/tianocore/edk2-platforms/tr
> > +ee/master/Platform/RISC-V/PlatformPkg)
> > +-
> > +[**RiscVProcessorPkg**](https://github.com/tianocore/edk2-
> platforms/t
> > +ree/master/Silicon/RISC-V/ProcessorPkg)
> >
> >   ## U500 Platform
> > -This is a sample RISC-V EDK2 platform package used agaist SiFive
> > Freedom U500
>
> I don't think we need to say "RISC-V EDK2" so often.
>
> > +This is a sample RISC-V EDK2 platform package used against to SiFive
> > +Freedom U500
>
> - RISC-V EDK2
>
> >   VC707 FPGA Dev Kit, please refer to "SiFive Freedom U500 VC707 FPGA
> Getting
> >   Started Guide" on https://www.sifive.com/documentation.
> > +The binary built from
> Platform/SiFive/U5SeriesPkg/FreedomU500VC707Board can run on U500
> VC707 FPGA board.
> > +```
> > +build -a RISCV64 -t GCC5 -p
> > +Platform/SiFive/U5SeriesPkg/FreedomU500VC707Board/U500.dsc
> > +```
> >
> >   ## U540 Platform
> > -This is a sample RISC-V EDK2 platform package used against SiFive
> > Freedom U540
>
> - RISC-V EDK2
>
> > -HiFive Unleashed development board, please refer to "SiFive Freedom
> > U540-C000 -Manual" on https://www.sifive.com.
> > -The binary built from
> > Platform/SiFive/U5SeriesPkg/FreedomU540HiFiveUnleashedBoard/
> > -can run on main stream
> > [QEMU](https://git.qemu.org/?p=qemu.git;a=summary)
> > -using qemu-system-riscv64 under riscv64-softmmu. Launch the binary
> > with
> > +This is a sample RISC-V EDK2 platform package used for the SiFive
> Freedom U540 HiFive Unleashed development board, please refer to "SiFive
> Freedom U540-C000 Manual" on https://www.sifive.com.
>
> - RISC-V EDK2
>
> > +The binary built from
> > +Platform/SiFive/U5SeriesPkg/FreedomU540HiFiveUnleashedBoard/ can
> run on both hardware and
> [QEMU](https://git.qemu.org/?p=qemu.git;a=summary). It is confirmed that
> version 5.0 of QEMU can boot the firmware.
>
> I think here we should also say: can boot with this firmware to EFI shell and
> Linux userspace.
>
> > +```
> > +build -a RISCV64 -t GCC5 -p
> >
> +Platform/SiFive/U5SeriesPkg/FreedomU540HiFiveUnleashedBoard/U540.d
> sc
> > +```
> > +For running U540 edk2 binary on QEMU, use qemu-system-riscv64 under
> > +riscv64-softmmu to launch the binary with below parameters,
> >
> >   ```
> > --cpu sifive-u54 -machine sifive_u
> > +qemu-system-riscv64 -cpu sifive-u54 -machine sifive_u -bios U540.fd
> > +-m 2048 -nographic -smp cpus=5,maxcpus=5
> >   ```
> >
> > -## Download the sources
> > +## Download the Source Code
> >   ```
> > -git clone https://github.com/tianocore/edk2-staging.git
> > -# Checkout RISC-V-V2 branch
> > +git clone https://github.com/tianocore/edk2.git
> >   git clone https://github.com/tianocore/edk2-platforms.git
>
> Please add --recurse-submodules here to also clone opensbi.
>
> > -# Checkout devel-riscvplatforms branch -git clone
> > https://github.com/tianocore/edk2-non-osi.git
> >   ```
> > -
> > -## Platform Owners
> > -Chang, Abner <abner.chang@hpe.com<mailto:abner.chang@hpe.com>>
> > -Chen, Gilbert <gilbert.chen@hpe.com<mailto:gilbert.chen@hpe.com>>
> > +Refer to [Readme.md](https://github.com/tianocore/edk2-
> platforms/blob/master/Platform/RISC-V/PlatformPkg/Readme.md) for
> building RISC-V platforms.
> >
> >   ## Platform Status
> > -Currently the binary built from U500Pkg can boot SiFive Freedom U500
> > VC707
> > +**FreedomU500VC707Board**
> > +Currently the binary built from U500 edk2 package can boot SiFive
> > +Freedom U500 VC707
> >   FPGA to EFI shell with console in/out enabled.
> >
> > -## Linux Build Instructions
> > -You can build the RISC-V platform using below script, -`build -a
> > RISCV64  -t GCC5 -p
> > Platform/SiFive/U5SeriesPkg/FreedomU500VC707Board/U500.dsc`
> > +**FreedomU540HiFiveUnleashedBoard**
> > +Currently the binary built from U540 edk2 package can boot SiFive
> > +Freedom U540 HiFive Unleashed to EFI shell with console in/out enabled
> and Linux kernel. Please refer to https://github.com/riscv/riscv-uefi-edk2-
> docs for booting to Linux kernel.
> >
> >   ## Supported Operating Systems
> > -Only support to boot to EFI Shell so far.
> > +Please refer to https://github.com/riscv/riscv-uefi-edk2-docs.
> >
> >   ## Known Issues and Limitations
> >   Only RISC-V RV64 is verified on this platform.
> >
> >   ## Related Materials
> > +- [RISC-V UEFI
> > +Documents](https://github.com/riscv/riscv-uefi-edk2-docs)
> >   - [RISC-V OpenSbi](https://github.com/riscv/opensbi)
> >   - [SiFive U500 VC707 FPGA Getting Started
> Guide](https://sifive.cdn.prismic.io/sifive%2Fc248fabc-5e44-4412-b1c3-
> 6bb6aac73a2c_sifive-u500-vc707-gettingstarted-v0.2.pdf)
> >   - [SiFive Freedom U540-C000
> > Manual](https://sifive.cdn.prismic.io/sifive%2F834354f0-08e6-423c-bf1f
> > -0cb58ef14061_fu540-c000-v1.0.pdf)
> > @@ -63,48 +61,54 @@ Only RISC-V RV64 is verified on this platform.
> >
> >   ## U5SeriesPkg Libraries and Drivers
> >   ### PeiCoreInfoHobLib
> > -This is the library to create RISC-V core characteristics for
> > building up -RISC-V related SMBIOS records to support the unified boot
> loader and OS image.
> > +This is the library to create RISC-V core characteristics for
> > +building up RISC-V related SMBIOS records to support the single boot
> > +loader image or OS image on the RISC-V variants
>
> Hey! That's not what we discussed ;) What about:
>
> a single boot loader and OS image for all RISC-V platforms by discovering
> RISC-V hart configurations dynamically.
>
> >   This library leverage the silicon libraries provided in Silicon/SiFive.
> >
> >   ### RiscVPlatformTimerLib
> > -This is common U5 series platform timer library which has the
> > -platform-specific timer implementation.
> > +This is common U5 series platform timer library which has the platform-
> specific timer implementation.
> > +
> > +### SerialLib
> > +This is common U5 series platform serial port library.
> >
> >   ### TimerDxe
> > -This is U5 series platform timer DXE driver whcih has the
> > platform-specific -timer implementation.
> > +This is common U5 series platform timer DXE driver which has the
> platform-specific timer implementation.
> >
> >   ## U500 Platform Libraries and Drivers
> >   ### RiscVOpensbiPlatformLib
> > -In order to reduce the dependencies with RISC-V OpenSBI project
> > -(https://github.com/riscv/opensbi) and fewer burdens to EDK2 build
> > process, the -implementation of RISC-V EDK2 platform is leveraging
> > platform source code from
> > +In order to reduce the dependencies with RISC-V OpenSBI project
> > +(https://github.com/riscv/opensbi) and fewer burdens to EDK2 build
> > +process, the implementation of RISC-V EDK2 platform is leveraging
> > +platform source code from
> >   OpenSBI code tree. The "platform.c" under OpenSbiPlatformLib is
> > cloned from -RISC-V OpenSBI code tree (in EDK2 RiscVPkg) and built
> > based on EDK2 build -environment.
> > +[RISC-V OpenSBI code
> > +tree](Silicon/RISC-V/ProcessorPkg/Library/RiscVOpensbiLib/opensbi) and
> built based on edk2 build environment.
> >
> >   ### PlatformPei
> > -This is the platform-implementation specific library which is
> > executed in early -PEI phase for U500 platform initialization.
> > +This is the platform-implementation specific library which is
> > +executed in early PEI phase for U500 platform initialization.
> >
> >   ## U540 Platform Libraries and Drivers
> >   ### RiscVOpensbiPlatformLib
> > -In order to reduce the dependencies with RISC-V OpenSBI project
> > -(https://github.com/riscv/opensbi) and fewer burdens to EDK2 build
> > process, the -implementation of RISC-V EDK2 platform is leveraging
> > platform source code from
> > +In order to reduce the dependencies with RISC-V OpenSBI project
> > +(https://github.com/riscv/opensbi) and fewer burdens to EDK2 build
> > +process,
>
> Hm, we are depending on OpenSBI. You can say to avoid duplicating code we
> use it.
[Chang, Abner] Above is addressed, but below two lines look  more like the design architecture which I think we can mention this in riscv-uefi-doc repo under RISC-V GitHub.

> But we're switching to S-Mode very soon to avoid calling many internal
> OpenSBI functions and instead calling the standardized SBI interface.
>
> > the implementation of RISC-V EDK2 platform is leveraging platform source
> code from
> >   OpenSBI code tree. The "platform.c" under OpenSbiPlatformLib is
> > cloned from -RISC-V OpenSBI code tree (in EDK2 RiscVPkg) and built
> > based on EDK2 build -environment.
> > +[RISC-V OpenSBI code
> > +tree](Silicon/RISC-V/ProcessorPkg/Library/RiscVOpensbiLib/opensbi) and
> built based on edk2 build environment.
> >
> >   ### PlatformPei
> > -This is the platform-implementation specific library which is
> > executed in early -PEI phase for U540 platform initialization.
> > +This is the platform-implementation specific library which is
> > +executed in early PEI phase for U540 platform initialization.
> >
> >   ## U5SeriesPkg Platform PCD settings
> >
> >   | **PCD name** |**Usage**|
> >   |----------------|----------|
> > +|PcdU5PlatformSystemClock| U5 series platform system clock|
> >   |PcdNumberofU5Cores| Number of U5 core enabled on U5 series
> platform|
> >   |PcdE5MCSupported| Indicates whether the Monitor Core (E5) is
> supported on U5 series platform|
> >   |PcdU5UartBase|Platform serial port base address|
> > +
> > +
> > +## Platform Owners
> > +Chang, Abner <abner.chang@hpe.com<mailto:abner.chang@hpe.com>>
> > +Chen, Gilbert <gilbert.chen@hpe.com<mailto:gilbert.chen@hpe.com>>
> > +Schaefer, Daniel <daniel.schaefer@hpe.com<mailto:daniel.schaefer@hpe.com>>
> > \ No newline at end of file
> >

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

View/Reply Online (#64700): https://edk2.groups.io/g/devel/message/64700
Mute This Topic: https://groups.io/mt/76450397/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-