public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Kubacki, Michael A" <michael.a.kubacki@intel.com>
To: "Chaganty, Rangasai V" <rangasai.v.chaganty@intel.com>,
	"devel@edk2.groups.io" <devel@edk2.groups.io>
Cc: "Chiu, Chasel" <chasel.chiu@intel.com>,
	"Desimone, Nathaniel L" <nathaniel.l.desimone@intel.com>,
	"Gao, Zhichao" <zhichao.gao@intel.com>
Subject: Re: [edk2-platforms][PATCH V1 1/2] KabylakeSiliconPkg: Remove ResetSystemLib.h override
Date: Thu, 28 Nov 2019 00:31:26 +0000	[thread overview]
Message-ID: <BY5PR11MB4484A284A63689EF223EF849B5470@BY5PR11MB4484.namprd11.prod.outlook.com> (raw)
In-Reply-To: <BY5PR11MB4484059AEF3B4104BEABD972B5440@BY5PR11MB4484.namprd11.prod.outlook.com>

Hi Sai,

I'd like to fix the VS2017 build failure asap. What would you like done to resolve this?

I would prefer to eliminate the local ResetSystemLib.h file in KabylakeSiliconPkg but I'd be happy to revise the patch series based on your suggestion.

Thanks,
Michael

> -----Original Message-----
> From: Kubacki, Michael A
> Sent: Wednesday, November 27, 2019 10:42 AM
> To: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>;
> devel@edk2.groups.io
> Cc: Chiu, Chasel <chasel.chiu@intel.com>; Desimone, Nathaniel L
> <nathaniel.l.desimone@intel.com>; Gao, Zhichao <zhichao.gao@intel.com>
> Subject: RE: [edk2-platforms][PATCH V1 1/2] KabylakeSiliconPkg: Remove
> ResetSystemLib.h override
> 
> This dependency existed prior to this change (and still does exist). It was
> obfuscated in such a way that contributed to this problem.
> 
> See the previous library header path:
> 
> \Silicon\Intel\KabylakeSiliconPkg\SampleCode\MdeModulePkg\Include\Libr
> ary\ResetSystemLib.h
> 
> The fact KabylakeSiliconPkg implements a MdeModulePkg library API
> introduces the dependency on MdeModulePkg. Hiding a redundant
> definition of the API locally does not eliminate the dependency in any
> meaningful way.
> 
> I think the practice of "freezing" an API with a local copy only works if the
> codebase is locked onto a specific stable tag in which the upstream API is not
> expected to change. Zhichao rightfully added the new function definition to
> the KabylakeSiliconPkg library class implementation because a board package
> consumer would expect a ResetSystemLib library class instance to be
> compliant with the API defined in MdeModulePkg and link the ResetSystem
> () function. The only problem was a set of circumstances that led to the
> duplicate symbol definition for ResetSystem () with PchResetLib.
> 
> So I view the task of eliminating the package dependency as a larger separate
> effort outside the scope of this change. But I do not agree with maintaining
> redundant local copies of edk2 APIs in packages in edk2-platforms.
> 
> Thanks,
> Michael
> 
> > -----Original Message-----
> > From: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>
> > Sent: Tuesday, November 26, 2019 10:43 PM
> > To: Kubacki, Michael A <michael.a.kubacki@intel.com>;
> > devel@edk2.groups.io
> > Cc: Chiu, Chasel <chasel.chiu@intel.com>; Desimone, Nathaniel L
> > <nathaniel.l.desimone@intel.com>; Gao, Zhichao
> <zhichao.gao@intel.com>
> > Subject: RE: [edk2-platforms][PATCH V1 1/2] KabylakeSiliconPkg: Remove
> > ResetSystemLib.h override
> >
> > This change is introducing SiliconPkg's dependency on MdeModulePkg.
> > SiliconPkg dependencies should be limited to a selected few packages
> > and this seems to be an unnecessary addition to the dependency list.
> > The reset interfaces are providing generic reset services and perhaps
> > better suited in packages like MdePkg.
> >
> > -----Original Message-----
> > From: Kubacki, Michael A
> > Sent: Tuesday, November 26, 2019 6:57 PM
> > To: devel@edk2.groups.io
> > Cc: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Chiu, Chasel
> > <chasel.chiu@intel.com>; Desimone, Nathaniel L
> > <nathaniel.l.desimone@intel.com>; Gao, Zhichao
> <zhichao.gao@intel.com>
> > Subject: [edk2-platforms][PATCH V1 1/2] KabylakeSiliconPkg: Remove
> > ResetSystemLib.h override
> >
> > REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2375
> >
> > Removes a stale ResetSystemLib.h override in KabylakeSiliconPkg that
> > does not contain the prototype for ResetSystem () and
> ResetPlatformSpecific ().
> >
> > The ResetSystemLib.h file from MdeModulePkg will be used. Any INF
> > files that did not include the MdeModulePkg.dec under [Packages] were
> > updated to do so.
> >
> > Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
> > Cc: Chasel Chiu <chasel.chiu@intel.com>
> > Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
> > Cc: Zhichao Gao <zhichao.gao@intel.com>
> > Signed-off-by: Michael Kubacki <michael.a.kubacki@intel.com>
> > ---
> >
> >
> Silicon/Intel/KabylakeSiliconPkg/Pch/Library/DxeResetSystemLib/DxeResetS
> > ystemLib.inf               |  3 +-
> >
> > Silicon/Intel/KabylakeSiliconPkg/Pch/Library/DxeRuntimeResetSystemLib/
> > Dx
> > eRuntimeResetSystemLib.inf |  3 +-
> >
> >
> Silicon/Intel/KabylakeSiliconPkg/Pch/Library/PeiPchResetLib/PeiPchResetLib.
> > inf                     |  3 +-
> >
> >
> Silicon/Intel/KabylakeSiliconPkg/Pch/Library/PeiResetSystemLib/PeiResetSys
> > temLib.inf               |  3 +-
> >
> >
> Silicon/Intel/KabylakeSiliconPkg/SampleCode/MdeModulePkg/Include/Libra
> > ry/ResetSystemLib.h          | 62 --------------------
> >  5 files changed, 8 insertions(+), 66 deletions(-)
> >
> > diff --git
> > a/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/DxeResetSystemLib/DxeRe
> > se
> > tSystemLib.inf
> > b/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/DxeResetSystemLib/DxeRe
> > se
> > tSystemLib.inf
> > index aa8877140a..46313bf35f 100644
> > ---
> > a/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/DxeResetSystemLib/DxeRe
> > se
> > tSystemLib.inf
> > +++ b/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/DxeResetSystemLib/D
> > +++ xe
> > +++ ResetSystemLib.inf
> > @@ -1,7 +1,7 @@
> >  ## @file
> >  # Component description file for Intel Ich7 Reset System Library.
> >  #
> > -# Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
> > +# Copyright (c) 2017 - 2019, Intel Corporation. All rights
> > +reserved.<BR>
> >  #
> >  # SPDX-License-Identifier: BSD-2-Clause-Patent  # @@ -35,6 +35,7 @@
> > PchCycleDecodingLib
> >
> >  [Packages]
> >  MdePkg/MdePkg.dec
> > +MdeModulePkg/MdeModulePkg.dec
> >  KabylakeSiliconPkg/SiPkg.dec
> >
> >
> > diff --git
> > a/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/DxeRuntimeResetSystemLi
> > b/
> > DxeRuntimeResetSystemLib.inf
> > b/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/DxeRuntimeResetSystemLi
> > b/
> > DxeRuntimeResetSystemLib.inf
> > index 6b27661603..c7fad31c71 100644
> > ---
> > a/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/DxeRuntimeResetSystemLi
> > b/
> > DxeRuntimeResetSystemLib.inf
> > +++
> > b/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/DxeRuntimeResetSystem
> > +++ Lib/DxeRuntimeResetSystemLib.inf
> > @@ -1,7 +1,7 @@
> >  ## @file
> >  # Component description file for Intel Ich7 Reset System Library.
> >  #
> > -# Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
> > +# Copyright (c) 2017 - 2019, Intel Corporation. All rights
> > +reserved.<BR>
> >  #
> >  # SPDX-License-Identifier: BSD-2-Clause-Patent  # @@ -36,6 +36,7 @@
> > PchCycleDecodingLib
> >
> >  [Packages]
> >  MdePkg/MdePkg.dec
> > +MdeModulePkg/MdeModulePkg.dec
> >  KabylakeSiliconPkg/SiPkg.dec
> >
> >
> > diff --git
> > a/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/PeiPchResetLib/PeiPchRe
> > setL
> > ib.inf
> > b/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/PeiPchResetLib/PeiPchRe
> > setL
> > ib.inf
> > index b04f4006ef..29f69078a4 100644
> > ---
> > a/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/PeiPchResetLib/PeiPchRe
> > setL
> > ib.inf
> > +++ b/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/PeiPchResetLib/PeiP
> > +++ ch
> > +++ ResetLib.inf
> > @@ -1,7 +1,7 @@
> >  ## @file
> >  # Component description file for PCH Reset Lib Pei Phase  # -#
> > Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
> > +# Copyright (c) 2017 - 2019, Intel Corporation. All rights
> > +reserved.<BR>
> >  #
> >  # SPDX-License-Identifier: BSD-2-Clause-Patent  # @@ -28,6 +28,7 @@
> > ResetSystemLib
> >
> >  [Packages]
> >  MdePkg/MdePkg.dec
> > +MdeModulePkg/MdeModulePkg.dec
> >  KabylakeSiliconPkg/SiPkg.dec
> >
> >  [Sources]
> > diff --git
> > a/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/PeiResetSystemLib/PeiRe
> > setS
> > ystemLib.inf
> > b/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/PeiResetSystemLib/PeiRe
> > set
> > SystemLib.inf
> > index 18a92a6f18..3c6ff78863 100644
> > ---
> > a/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/PeiResetSystemLib/PeiRe
> > setS
> > ystemLib.inf
> > +++ b/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/PeiResetSystemLib/P
> > +++ ei
> > +++ ResetSystemLib.inf
> > @@ -1,7 +1,7 @@
> >  ## @file
> >  # Component description file for Intel Ich7 Reset System Library.
> >  #
> > -# Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
> > +# Copyright (c) 2017 - 2019, Intel Corporation. All rights
> > +reserved.<BR>
> >  #
> >  # SPDX-License-Identifier: BSD-2-Clause-Patent  # @@ -32,6 +32,7 @@
> > PchCycleDecodingLib
> >
> >  [Packages]
> >  MdePkg/MdePkg.dec
> > +MdeModulePkg/MdeModulePkg.dec
> >  KabylakeSiliconPkg/SiPkg.dec
> >
> >
> > diff --git
> >
> a/Silicon/Intel/KabylakeSiliconPkg/SampleCode/MdeModulePkg/Include/Lib
> > rary/ResetSystemLib.h
> >
> b/Silicon/Intel/KabylakeSiliconPkg/SampleCode/MdeModulePkg/Include/Lib
> > rary/ResetSystemLib.h
> > deleted file mode 100644
> > index 75d3e15ed7..0000000000
> > ---
> >
> a/Silicon/Intel/KabylakeSiliconPkg/SampleCode/MdeModulePkg/Include/Lib
> > rary/ResetSystemLib.h
> > +++ /dev/null
> > @@ -1,62 +0,0 @@
> > -/** @file
> > -  System reset Library Services.  This library class defines a set of
> > -  methods that reset the whole system.
> > -
> > -Copyright (c) 2005 - 2010, Intel Corporation. All rights
> > reserved.<BR>
> > -SPDX-License-Identifier: BSD-2-Clause-Patent
> > -
> > -**/
> > -
> > -#ifndef __RESET_SYSTEM_LIB_H__
> > -#define __RESET_SYSTEM_LIB_H__
> > -
> > -/**
> > -  This function causes a system-wide reset (cold reset), in which
> > -  all circuitry within the system returns to its initial state. This
> > type of reset
> > -  is asynchronous to system operation and operates without regard to
> > -  cycle boundaries.
> > -
> > -  If this function returns, it means that the system does not support
> > cold reset.
> > -**/
> > -VOID
> > -EFIAPI
> > -ResetCold (
> > -  VOID
> > -  );
> > -
> > -/**
> > -  This function causes a system-wide initialization (warm reset), in
> > which all processors
> > -  are set to their initial state. Pending cycles are not corrupted.
> > -
> > -  If this function returns, it means that the system does not support
> > warm reset.
> > -**/
> > -VOID
> > -EFIAPI
> > -ResetWarm (
> > -  VOID
> > -  );
> > -
> > -/**
> > -  This function causes the system to enter a power state equivalent
> > -  to the ACPI G2/S5 or G3 states.
> > -
> > -  If this function returns, it means that the system does not support
> > shutdown reset.
> > -**/
> > -VOID
> > -EFIAPI
> > -ResetShutdown (
> > -  VOID
> > -  );
> > -
> > -/**
> > -  This function causes the system to enter S3 and then wake up
> immediately.
> > -
> > -  If this function returns, it means that the system does not support
> > S3 feature.
> > -**/
> > -VOID
> > -EFIAPI
> > -EnterS3WithImmediateWake (
> > -  VOID
> > -  );
> > -
> > -#endif
> > --
> > 2.16.2.windows.1
> >


  reply	other threads:[~2019-11-28  0:31 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-27  2:56 [edk2-platforms][PATCH V1 0/2] KabylakeSiliconPkg: Remove redundant ResetSystem() implementation Kubacki, Michael A
2019-11-27  2:56 ` [edk2-platforms][PATCH V1 1/2] KabylakeSiliconPkg: Remove ResetSystemLib.h override Kubacki, Michael A
2019-11-27  3:26   ` Chiu, Chasel
2019-11-27  4:49   ` Nate DeSimone
2019-11-27  6:42   ` Chaganty, Rangasai V
2019-11-27 18:41     ` Kubacki, Michael A
2019-11-28  0:31       ` Kubacki, Michael A [this message]
2019-12-02  8:36         ` Chaganty, Rangasai V
2019-11-27  2:56 ` [edk2-platforms][PATCH V1 2/2] KabylakeSiliconPkg: Remove redundant ResetSystem() implementation Kubacki, Michael A
2019-11-27  3:26   ` Chiu, Chasel
2019-11-27  4:49   ` Nate DeSimone

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=BY5PR11MB4484A284A63689EF223EF849B5470@BY5PR11MB4484.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