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.chaga...@intel.com>; > devel@edk2.groups.io > Cc: Chiu, Chasel <chasel.c...@intel.com>; Desimone, Nathaniel L > <nathaniel.l.desim...@intel.com>; Gao, Zhichao <zhichao....@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.chaga...@intel.com> > > Sent: Tuesday, November 26, 2019 10:43 PM > > To: Kubacki, Michael A <michael.a.kuba...@intel.com>; > > devel@edk2.groups.io > > Cc: Chiu, Chasel <chasel.c...@intel.com>; Desimone, Nathaniel L > > <nathaniel.l.desim...@intel.com>; Gao, Zhichao > <zhichao....@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.chaga...@intel.com>; Chiu, Chasel > > <chasel.c...@intel.com>; Desimone, Nathaniel L > > <nathaniel.l.desim...@intel.com>; Gao, Zhichao > <zhichao....@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.chaga...@intel.com> > > Cc: Chasel Chiu <chasel.c...@intel.com> > > Cc: Nate DeSimone <nathaniel.l.desim...@intel.com> > > Cc: Zhichao Gao <zhichao....@intel.com> > > Signed-off-by: Michael Kubacki <michael.a.kuba...@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 > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#51382): https://edk2.groups.io/g/devel/message/51382 Mute This Topic: https://groups.io/mt/62194086/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-