public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Abner Chang" <abner.chang@hpe.com>
To: "devel@edk2.groups.io" <devel@edk2.groups.io>,
	"leif.lindholm@linaro.org" <leif.lindholm@linaro.org>
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 16:09:44 +0000	[thread overview]
Message-ID: <CS1PR8401MB119231D90B3C32095D21F5C7FF6D0@CS1PR8401MB1192.NAMPRD84.PROD.OUTLOOK.COM> (raw)
In-Reply-To: <20191017111913.GW25504@bivouac.eciton.net>



> -----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.
Abner
> 
> Regards,
> 
> Leif
> 
> 


  reply	other threads:[~2019-10-17 16:10 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 [this message]
2019-10-17 16:38             ` Leif Lindholm
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=CS1PR8401MB119231D90B3C32095D21F5C7FF6D0@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