Platform/RISC-V/PlatformPkg/Readme.md | 72 +++++++++-------- Platform/SiFive/U5SeriesPkg/Readme.md | 112 +++++++++++++------------- Readme.md | 1 + 3 files changed, 96 insertions(+), 89 deletions(-)
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] -=-=-=-=-=-=-=-=-=-=-=-
-=-=-=-=-=-=-=-=-=-=-=- 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] -=-=-=-=-=-=-=-=-=-=-=-
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] -=-=-=-=-=-=-=-=-=-=-=-
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] -=-=-=-=-=-=-=-=-=-=-=-
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] -=-=-=-=-=-=-=-=-=-=-=-
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] -=-=-=-=-=-=-=-=-=-=-=-
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] -=-=-=-=-=-=-=-=-=-=-=-
© 2016 - 2024 Red Hat, Inc.