public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Abner Chang" <abner.chang@hpe.com>
To: Leif Lindholm <leif.lindholm@linaro.org>,
	"devel@edk2.groups.io" <devel@edk2.groups.io>
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: Fri, 18 Oct 2019 05:24:38 +0000	[thread overview]
Message-ID: <CS1PR8401MB11922AC12D3D4B17E4F18E4DFF6C0@CS1PR8401MB1192.NAMPRD84.PROD.OUTLOOK.COM> (raw)
In-Reply-To: <20191017163811.GY25504@bivouac.eciton.net>



> -----Original Message-----
> From: Leif Lindholm [mailto:leif.lindholm@linaro.org]
> Sent: Friday, October 18, 2019 12:38 AM
> 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 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.
Yes, this will be in the next set of patches.
> 
> Regards,
> 
> Leif

  reply	other threads:[~2019-10-18  5:24 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
2019-10-18  5:24               ` Abner Chang [this message]
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=CS1PR8401MB11922AC12D3D4B17E4F18E4DFF6C0@CS1PR8401MB1192.NAMPRD84.PROD.OUTLOOK.COM \
    --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