From: "Leif Lindholm" <leif.lindholm@linaro.org>
To: devel@edk2.groups.io, abner.chang@hpe.com
Cc: "Chen, Gilbert" <gilbert.chen@hpe.com>,
Palmer Dabbelt <palmer@sifive.com>
Subject: Re: [edk2-devel] [plaforms/devel-riscv-v2 PATCHv2 10/14] U500Pkg/Library: Library instances of U500 platform library
Date: Thu, 17 Oct 2019 17:38:11 +0100 [thread overview]
Message-ID: <20191017163811.GY25504@bivouac.eciton.net> (raw)
In-Reply-To: <CS1PR8401MB119231D90B3C32095D21F5C7FF6D0@CS1PR8401MB1192.NAMPRD84.PROD.OUTLOOK.COM>
On Thu, Oct 17, 2019 at 04:09:44PM +0000, Abner Chang wrote:
> > -----Original Message-----
> > From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of
> > Leif Lindholm
> > Sent: Thursday, October 17, 2019 7:19 PM
> > To: devel@edk2.groups.io; Chang, Abner (HPS SW/FW Technologist)
> > <abner.chang@hpe.com>
> > Cc: Chen, Gilbert <gilbert.chen@hpe.com>; Palmer Dabbelt
> > <palmer@sifive.com>
> > Subject: Re: [edk2-devel] [plaforms/devel-riscv-v2 PATCHv2 10/14]
> > U500Pkg/Library: Library instances of U500 platform library
> >
> > On Thu, Oct 17, 2019 at 07:44:47AM +0000, Abner Chang wrote:
> > > > -----Original Message-----
> > > > From: Chang, Abner (HPS SW/FW Technologist)
> > > > Sent: Thursday, October 17, 2019 10:21 AM
> > > > To: devel@edk2.groups.io; leif.lindholm@linaro.org; Chen, Gilbert
> > > > <gilbert.chen@hpe.com>
> > > > Cc: Palmer Dabbelt <palmer@sifive.com>
> > > > Subject: RE: [edk2-devel] [plaforms/devel-riscv-v2 PATCHv2 10/14]
> > > > U500Pkg/Library: Library instances of U500 platform library
> >
> > > > > Seeing this, I have a bit of a feeling that this Opensbi isn't
> > > > > being consistently
> > > > > treated/named:
> > > > > - In edk2, we have RiscVPkg/Library/RiscVOpensbiLib which implements
> > > > > class RiscVOpensbiLib.
> > > > > - Here, we have U500Pkg/Library/OpenSbiPlatformLib implementing
> > the
> > > > > class OpenSbiPlatformLib.
> > > > > - *Logically*, what we have is
> > > > > Platform/RiscV/Universal/Sec/SecMain.inf which depends on the
> > > > > OpensbiLib which depends on the OpenSbiPlatformLib.
> > > > > - However, there is no OpenSbiPlatformLib in edk2, which is very
> > > > > unfortunate because that does not let us build edk2/RiscVPkg in
> > > > > isolation (like we can with all the other packages in edk2).
> > > > Will name it as Opensbi.
> > > > >
> > > > > Here is my preferred solution for untangling this:
> > > > > 1) Standardise on OpenSbi or Opensbi. Opensbi follows the pattern we
> > > > > already use for Openssl, so would be my preference.
> > > > > 2) Standardise on RiscVOpensbi or Opensbi - both for filenames and
> > > > > LibararyClasses. Either is fine, the former is less likely to clash
> > > > > with other imported projects in the future (but I would estimate
> > > > > this risk as *very* low to begin with).
> > > > > 3) Implement a (RiscV)OpensbiPlatformLibNull in
> > > > > edk2/RiscVPkg/Library,
> > > > I will have OpensbiPlatformLibNull in RiscVPlatformPkg/Library
> > > >
> > > > > containing only what is required to build/link
> > > > > RiscVPkg/Library/(RiscV)OpensbiLib/.
> > > > > 3.5) Map that to OpensbiPlatformLib in RiscVPkg/RiscVPkg.dsc.
> > > > > 3.6) Add a depedency on OpensbiPlatformLib to
> > > > > (RiscV)OpensbiLib.inf
> > > > > 3.7) Drop the dependency on OpensbiPlatformLib from
> > > > > Platform/RiscV/Universal/Sec/SecMain.inf
> > > >
> > > > Above work for me
> > >
> > > I changed my mind. Due to SecMain is moved to RiscVPlatformPkg in
> > > edk2 and requires both RiscVOpensbiPlatformLib and RiscVOpensbLiib,
> > > SecMain.inf still has dependency with these two libs.
> >
> > I am not sure I understand.
> >
> > What I am saying is that OpensbiLib already has a dependency on
> > OpensbiPlatformLib. So there is no benefit to adding the OpensbiPlatformLib
> > dependency to SecMain. Or does that not work for some reason?
>
> In order to make those dependencies correct, below is the new changes,
>
> RiscVOpensbiPlatformLib has NO dependency with RiscVOpensbiLib.
> RiscVOpensbiLib has NO dependency with RiscVOpensbiPlatformLib.
> SecMain.inf has dependencies with both RiscVOpensbiPlatformLib and
> RiscVOpensbiLib because SecMain.inf needs the functionalities of
> those libs.
Ah, OK - this is new for v3 then?
In that case, sure, the above sounds fine.
Regards,
Leif
next prev parent reply other threads:[~2019-10-17 16:38 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-19 3:51 [plaforms/devel-riscv-v2 PATCHv2 00/14] Add SiFive U500 VC707 FPGA Platform Gilbert Chen
2019-09-19 3:51 ` [plaforms/devel-riscv-v2 PATCHv2 01/14] Silicon/SiFive: Initial version of SiFive silicon package Gilbert Chen
2019-10-01 0:41 ` [edk2-devel] " Leif Lindholm
2019-09-19 3:51 ` [plaforms/devel-riscv-v2 PATCHv2 02/14] Silicon/SiFive: Add library module of SiFive RISC-V cores Gilbert Chen
2019-10-01 21:14 ` [edk2-devel] " Leif Lindholm
2019-10-16 1:36 ` Abner Chang
2019-10-17 10:33 ` Leif Lindholm
2019-09-19 3:51 ` [plaforms/devel-riscv-v2 PATCHv2 03/14] platforms/RiscV: Initial version of RISC-V platform package Gilbert Chen
2019-10-02 9:07 ` [edk2-devel] " Leif Lindholm
2019-10-15 15:24 ` Abner Chang
2019-09-19 3:51 ` [plaforms/devel-riscv-v2 PATCHv2 04/14] RiscV/Include: Initial version of header files in " Gilbert Chen
2019-10-02 16:46 ` [edk2-devel] " Leif Lindholm
2019-09-19 3:51 ` [plaforms/devel-riscv-v2 PATCHv2 05/14] RiscV/Library: Initial version of libraries introduced " Gilbert Chen
2019-10-02 17:04 ` [edk2-devel] " Leif Lindholm
2019-10-15 15:26 ` Abner Chang
2019-10-18 5:23 ` Abner Chang
2019-09-19 3:51 ` [plaforms/devel-riscv-v2 PATCHv2 06/14] RiscV/Universal: Initial version of common RISC-V SEC module Gilbert Chen
2019-10-02 19:43 ` [edk2-devel] " Leif Lindholm
2019-10-15 15:27 ` Abner Chang
2019-09-19 3:51 ` [plaforms/devel-riscv-v2 PATCHv2 07/14] RiscV/SiFive: Initial version of SiFive U500 platform package Gilbert Chen
2019-10-02 20:16 ` [edk2-devel] " Leif Lindholm
2019-09-19 3:51 ` [plaforms/devel-riscv-v2 PATCHv2 08/14] U500Pkg/Include: Header files of SiFive U500 platform Gilbert Chen
2019-10-02 21:00 ` [edk2-devel] " Leif Lindholm
2019-09-19 3:51 ` [plaforms/devel-riscv-v2 PATCHv2 09/14] U500Pkg/Library: Initial version of PlatformBootManagerLib Gilbert Chen
2019-10-02 22:02 ` [edk2-devel] " Leif Lindholm
2019-10-18 6:23 ` Abner Chang
2019-10-21 14:51 ` Leif Lindholm
2019-09-19 3:51 ` [plaforms/devel-riscv-v2 PATCHv2 10/14] U500Pkg/Library: Library instances of U500 platform library Gilbert Chen
2019-10-03 16:32 ` [edk2-devel] " Leif Lindholm
2019-10-17 2:21 ` Abner Chang
2019-10-17 7:44 ` Abner Chang
2019-10-17 11:19 ` Leif Lindholm
2019-10-17 16:09 ` Abner Chang
2019-10-17 16:38 ` Leif Lindholm [this message]
2019-10-18 5:24 ` Abner Chang
2019-09-19 3:51 ` [plaforms/devel-riscv-v2 PATCHv2 11/14] U500Pkg/RamFvbServiceruntimeDxe: FVB driver for EFI variable Gilbert Chen
2019-10-03 16:58 ` [edk2-devel] " Leif Lindholm
2019-09-19 3:51 ` [plaforms/devel-riscv-v2 PATCHv2 12/14] U500Pkg/TimerDxe: Platform Timer DXE driver Gilbert Chen
2019-10-03 17:30 ` [edk2-devel] " Leif Lindholm
2019-09-19 3:51 ` [plaforms/devel-riscv-v2 PATCHv2 13/14] U500Pkg/PlatformPei: Platform initialization PEIM Gilbert Chen
2019-10-03 17:38 ` [edk2-devel] " Leif Lindholm
2019-09-19 3:51 ` [plaforms/devel-riscv-v2 PATCHv2 14/14] Platforms: Readme file updates Gilbert Chen
2019-10-03 17:45 ` [edk2-devel] " Leif Lindholm
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191017163811.GY25504@bivouac.eciton.net \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox