[edk2-devel] [plaforms/devel-riscv-v2 PATCHv2 02/14] Silicon/SiFive: Add library module of SiFive RISC-V cores
Abner Chang
abner.chang at hpe.com
Wed Oct 16 01:36:07 UTC 2019
> -----Original Message-----
> From: devel at edk2.groups.io [mailto:devel at edk2.groups.io] On Behalf Of
> Leif Lindholm
> Sent: Wednesday, October 2, 2019 5:15 AM
> To: devel at edk2.groups.io; Chen, Gilbert <gilbert.chen at hpe.com>
> Subject: Re: [edk2-devel] [plaforms/devel-riscv-v2 PATCHv2 02/14]
> Silicon/SiFive: Add library module of SiFive RISC-V cores
>
> On Thu, Sep 19, 2019 at 11:51:19AM +0800, Gilbert Chen wrote:
> > Initial version of SiFive RISC-V core libraries. Library of each core
> > creates processor core SMBIOS data hob for building SMBIOS records in
> > DXE phase.
>
> So yes, this implementation needs to change.
> These should all implement the same LibraryClass.
No. It shouldn't be the same library class (If you were saying the same LibraryClass). RISC-V SoC could be the combination of different RISC-V cores, or even the cores from different vendors. This depends on how SoC vendor combine those IPs.
Either U54 or E51 could be a standalone SoC, while U54MC is the combination of 4 x U54 core and one E51 core.
U5MC under Platform/SiFive could be 1-8 U5 core and optionally support E5 core. This is the special case for U500 VC707 platform because the core number could be customized.
> Also, U54 appears to be a simple superset of U51.
U54 is a single core.
>
> What I would suggest is creating a
> Silicon/SiFive/Library/SiFiveCoreInfoLib, which calls into a
> SiFiveSoCCoreInfoLib in Silicon/SiFive/<SoC>/Library, providing the acual SoC-
> specific bits.
Platform system firmware integrator just pull in the necessary core libraries from Silicon/{vendor} and invoke the function to create specific core bits.
I think this implementation is well and flexible which has no need to change.
>
> /
> Leif
>
> > Signed-off-by: Gilbert Chen <gilbert.chen at hpe.com>
> > ---
> > .../E51/Library/PeiCoreInfoHobLib/CoreInfoHob.c | 242
> +++++++++++++++++
> > .../PeiCoreInfoHobLib/PeiCoreInfoHobLib.inf | 51 ++++
> > .../U54/Library/PeiCoreInfoHobLib/CoreInfoHob.c | 294
> +++++++++++++++++++++
> > .../PeiCoreInfoHobLib/PeiCoreInfoHobLib.inf | 51 ++++
> > .../Library/PeiCoreInfoHobLib/CoreInfoHob.c | 185 +++++++++++++
> > .../PeiCoreInfoHobLib/PeiCoreInfoHobLib.inf | 50 ++++
> > 6 files changed, 873 insertions(+)
> > create mode 100644
> > Silicon/SiFive/E51/Library/PeiCoreInfoHobLib/CoreInfoHob.c
> > create mode 100644
> > Silicon/SiFive/E51/Library/PeiCoreInfoHobLib/PeiCoreInfoHobLib.inf
> > create mode 100644
> > Silicon/SiFive/U54/Library/PeiCoreInfoHobLib/CoreInfoHob.c
> > create mode 100644
> > Silicon/SiFive/U54/Library/PeiCoreInfoHobLib/PeiCoreInfoHobLib.inf
> > create mode 100644
> > Silicon/SiFive/U54MCCoreplex/Library/PeiCoreInfoHobLib/CoreInfoHob.c
> > create mode 100644
> >
> Silicon/SiFive/U54MCCoreplex/Library/PeiCoreInfoHobLib/PeiCoreInfoHobL
> > ib.inf
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#49039): https://edk2.groups.io/g/devel/message/49039
Mute This Topic: https://groups.io/mt/34196349/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-
More information about the edk2-devel-archive
mailing list