public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Michael D Kinney" <michael.d.kinney@intel.com>
To: "Ni, Ray" <ray.ni@intel.com>,
	"devel@edk2.groups.io" <devel@edk2.groups.io>,
	"Wang, Jian J" <jian.j.wang@intel.com>,
	"Tan, Dun" <dun.tan@intel.com>
Cc: "Gao, Liming" <gaoliming@byosoft.com.cn>,
	"Kinney, Michael D" <michael.d.kinney@intel.com>
Subject: Re: [edk2-devel] [Patch V2 5/8] MdeModulePkg: Add UefiCpuPkg.dec to pass DependencyCheck
Date: Sat, 15 Apr 2023 15:57:07 +0000	[thread overview]
Message-ID: <CO1PR11MB492935EC42E2221B3CDCD6E1D29E9@CO1PR11MB4929.namprd11.prod.outlook.com> (raw)
In-Reply-To: <CO1PR11MB4929D9300757CB02CA95C8BDD29E9@CO1PR11MB4929.namprd11.prod.outlook.com>

[-- Attachment #1: Type: text/plain, Size: 6441 bytes --]

Back in 2019, I had proposed some more generic rules for package dependencies.

    https://edk2.groups.io/g/devel/message/52211
    https://github.com/mdkinney/edk2/wiki/EDKII-Packages#edk-ii-package-dependency-rules

The EDK II DEC files do not have enough meta-data to apply these rules.  Would require some extra
Define values or well-known tags in comments.  The current package dependency checker uses a
set of named packages.

Mike


From: Kinney, Michael D <michael.d.kinney@intel.com>
Sent: Saturday, April 15, 2023 8:50 AM
To: Ni, Ray <ray.ni@intel.com>; devel@edk2.groups.io; Wang, Jian J <jian.j.wang@intel.com>; Tan, Dun <dun.tan@intel.com>
Cc: Gao, Liming <gaoliming@byosoft.com.cn>; Kinney, Michael D <michael.d.kinney@intel.com>
Subject: RE: [edk2-devel] [Patch V2 5/8] MdeModulePkg: Add UefiCpuPkg.dec to pass DependencyCheck

MdePkg: Include files for industry standard and public specs and lib classes and lib implementations that support those specs

If all the IA32/X64 CPU header files to support the CpuPageTableLib class are in the MdePkg, then we could consider
moving he class to MdePkg and avoid this patch.

The current CpuPageTableLib looks IA32/X64 specific.  Should it follow the naming conventions in the EDK II C Coding Style Spec
updated by Abner?  It does not look like the current CpuPageTableLib APIs would apply to other CPU archs.

MdePkg does not have any modules.  UefiCpuPkg contains CPU specific modules.  UefiCpuPkg can also contain libs
that are required by modules in the UefiCpuPkg or modules in other Si/Platform packages.

Thanks,

Mike

From: Ni, Ray <ray.ni@intel.com<mailto:ray.ni@intel.com>>
Sent: Friday, April 14, 2023 9:08 AM
To: Kinney, Michael D <michael.d.kinney@intel.com<mailto:michael.d.kinney@intel.com>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io>; Wang, Jian J <jian.j.wang@intel.com<mailto:jian.j.wang@intel.com>>; Tan, Dun <dun.tan@intel.com<mailto:dun.tan@intel.com>>
Cc: Gao, Liming <gaoliming@byosoft.com.cn<mailto:gaoliming@byosoft.com.cn>>; Kinney, Michael D <michael.d.kinney@intel.com<mailto:michael.d.kinney@intel.com>>
Subject: Re: [edk2-devel] [Patch V2 5/8] MdeModulePkg: Add UefiCpuPkg.dec to pass DependencyCheck

Mike,
What's the rule regarding content in mdepkg and cpupkg?

thanks,
ray
________________________________
From: Kinney, Michael D <michael.d.kinney@intel.com<mailto:michael.d.kinney@intel.com>>
Sent: Friday, April 14, 2023 11:16:45 PM
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>>; Wang, Jian J <jian.j.wang@intel.com<mailto:jian.j.wang@intel.com>>; Tan, Dun <dun.tan@intel.com<mailto:dun.tan@intel.com>>
Cc: Gao, Liming <gaoliming@byosoft.com.cn<mailto:gaoliming@byosoft.com.cn>>; Ni, Ray <ray.ni@intel.com<mailto:ray.ni@intel.com>>; Kinney, Michael D <michael.d.kinney@intel.com<mailto:michael.d.kinney@intel.com>>
Subject: RE: [edk2-devel] [Patch V2 5/8] MdeModulePkg: Add UefiCpuPkg.dec to pass DependencyCheck

If components outside the UefiCpuPkg need access to the CpuPageTableLib, should we
consider moving CpuPageTableLib to MdePkg or MdeModulePkg?  There are many different
boot phases that need to crate/manage page tables, so we need to find the right
common location.  Perhaps the only part that needs to be moved is the lib class?

Mike

> -----Original Message-----
> From: devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>> On Behalf Of Wang, Jian J
> Sent: Friday, April 14, 2023 2:03 AM
> To: Tan, Dun <dun.tan@intel.com<mailto:dun.tan@intel.com>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io>
> Cc: Gao, Liming <gaoliming@byosoft.com.cn<mailto:gaoliming@byosoft.com.cn>>; Ni, Ray <ray.ni@intel.com<mailto:ray.ni@intel.com>>
> Subject: Re: [edk2-devel] [Patch V2 5/8] MdeModulePkg: Add UefiCpuPkg.dec to pass DependencyCheck
>
> MdeModulePkg has never depended on UefiCpuPkg before. Please double
> check if there's any side effect introduced by this mutual dependency.
>
> Acked-by: Jian J Wang <jian.j.wang@intel.com<mailto:jian.j.wang@intel.com>>
>
>
> > -----Original Message-----
> > From: Tan, Dun <dun.tan@intel.com<mailto:dun.tan@intel.com>>
> > Sent: Friday, March 31, 2023 5:34 PM
> > To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>
> > Cc: Gao, Liming <gaoliming@byosoft.com.cn<mailto:gaoliming@byosoft.com.cn>>; Ni, Ray <ray.ni@intel.com<mailto:ray.ni@intel.com>>;
> > Wang, Jian J <jian.j.wang@intel.com<mailto:jian.j.wang@intel.com>>
> > Subject: [Patch V2 5/8] MdeModulePkg: Add UefiCpuPkg.dec to pass
> > DependencyCheck
> >
> > Add UefiCpuPkg/UefiCpuPkg.dec in MdeModulePkg.ci.yaml to pass
> > DependencyCheck since DxeIpl in MdeModulePkg needs to consume
> > CpuPageTableLib in UefiCpuPkg.
> >
> > Signed-off-by: Dun Tan <dun.tan@intel.com<mailto:dun.tan@intel.com>>
> > Cc: Liming Gao <gaoliming@byosoft.com.cn<mailto:gaoliming@byosoft.com.cn>>
> > Cc: Ray Ni <ray.ni@intel.com<mailto:ray.ni@intel.com>>
> > Cc: Jian J Wang <jian.j.wang@intel.com<mailto:jian.j.wang@intel.com>>
> > ---
> >  MdeModulePkg/MdeModulePkg.ci.yaml | 5 +++--
> >  1 file changed, 3 insertions(+), 2 deletions(-)
> >
> > diff --git a/MdeModulePkg/MdeModulePkg.ci.yaml
> > b/MdeModulePkg/MdeModulePkg.ci.yaml
> > index f69989087b..d2616f4cdc 100644
> > --- a/MdeModulePkg/MdeModulePkg.ci.yaml
> > +++ b/MdeModulePkg/MdeModulePkg.ci.yaml
> > @@ -2,7 +2,7 @@
> >  # CI configuration for MdeModulePkg
> >  #
> >  # Copyright (c) Microsoft Corporation
> > -# Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
> > +# Copyright (c) 2020 - 2023, Intel Corporation. All rights reserved.<BR>
> >  # (C) Copyright 2021 Hewlett Packard Enterprise Development LP<BR>
> >  # SPDX-License-Identifier: BSD-2-Clause-Patent
> >  ##
> > @@ -51,7 +51,8 @@
> >              "MdePkg/MdePkg.dec",
> >              "MdeModulePkg/MdeModulePkg.dec",
> >              "StandaloneMmPkg/StandaloneMmPkg.dec",
> > -            "ArmPkg/ArmPkg.dec"  # this should be fixed by promoting an
> > abstraction
> > +            "ArmPkg/ArmPkg.dec",  # this should be fixed by promoting an
> > abstraction
> > +            "UefiCpuPkg/UefiCpuPkg.dec"
> >          ],
> >          # For host based unit tests
> >          "AcceptableDependencies-HOST_APPLICATION":[
> > --
> > 2.31.1.windows.1
>
>
>
> 
>

[-- Attachment #2: Type: text/html, Size: 57140 bytes --]

  reply	other threads:[~2023-04-15 15:57 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-31  9:33 [Patch V2 0/8] Create page table by CpuPageTableLib in DxeIpl duntan
2023-03-31  9:33 ` [Patch V2 1/8] EmulatorPkg: Add CpuPageTableLib required by DxeIpl in DSC duntan
2023-03-31 10:21   ` Ni, Ray
2023-03-31  9:33 ` [Patch V2 2/8] IntelFsp2Pkg: " duntan
2023-03-31  9:33 ` [Patch V2 3/8] MdeModulePkg: " duntan
2023-04-14  9:09   ` Wang, Jian J
2023-04-24 10:11     ` duntan
2023-03-31  9:33 ` [Patch V2 4/8] OvmfPkg: Add CpuPageTableLib required by DxeIpl in DSC file duntan
2023-03-31 11:50   ` [edk2-devel] " Gerd Hoffmann
2023-03-31  9:33 ` [Patch V2 5/8] MdeModulePkg: Add UefiCpuPkg.dec to pass DependencyCheck duntan
2023-04-14  9:03   ` Wang, Jian J
2023-04-14 15:16     ` [edk2-devel] " Michael D Kinney
2023-04-14 16:07       ` Ni, Ray
2023-04-15 15:50         ` Michael D Kinney
2023-04-15 15:57           ` Michael D Kinney [this message]
2023-04-16  5:21             ` Ni, Ray
2023-04-18 19:06               ` Michael D Kinney
2023-04-19  6:00                 ` Ni, Ray
2023-04-19 15:02                   ` Michael D Kinney
2023-04-21  8:10                     ` Ni, Ray
2023-04-21 15:42                       ` Michael D Kinney
2023-04-24 10:27                         ` duntan
2023-04-24 15:59               ` Ard Biesheuvel
2023-03-31  9:33 ` [Patch V2 6/8] MdeModulePkg/DxeIpl: Create page table by CpuPageTableLib duntan
2023-03-31 10:24   ` Ni, Ray
2023-03-31  9:33 ` [Patch V2 7/8] MdeModulePkg/DxeIpl: Remove duplicated code to enable NX duntan
2023-03-31  9:33 ` [Patch V2 8/8] MdeModulePkg/DxeIpl: Refinement to the code to set PageTable as RO duntan
2023-03-31 10:25   ` Ni, Ray
     [not found] ` <1751776493F12DAB.27612@groups.io>
2023-04-11  6:51   ` [edk2-devel] [Patch V2 4/8] OvmfPkg: Add CpuPageTableLib required by DxeIpl in DSC file duntan
2023-04-11  8:56     ` Gerd Hoffmann
     [not found] ` <1751776BEEE9C9E8.27612@groups.io>
2023-04-11  6:51   ` [edk2-devel] [Patch V2 5/8] MdeModulePkg: Add UefiCpuPkg.dec to pass DependencyCheck duntan
     [not found] ` <1751776458C20361.12651@groups.io>
2023-04-11  6:53   ` [edk2-devel] [Patch V2 3/8] MdeModulePkg: Add CpuPageTableLib required by DxeIpl in DSC duntan

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=CO1PR11MB492935EC42E2221B3CDCD6E1D29E9@CO1PR11MB4929.namprd11.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