Hi Dandan, We can just halt this patch for now, we are looking for the alternative.
Thanks Abner > -----Original Message----- > From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of > Abner Chang > Sent: Monday, March 16, 2020 10:17 AM > To: Bi, Dandan <dandan...@intel.com>; devel@edk2.groups.io > Cc: Leif Lindholm <l...@nuviainc.com>; Kinney, Michael D > <michael.d.kin...@intel.com>; Gao, Liming <liming....@intel.com>; Ard > Biesheuvel <ard.biesheu...@linaro.org>; Laszlo Ersek <ler...@redhat.com>; > Schaefer, Daniel (DualStudy) <daniel.schae...@hpe.com>; Chen, Gilbert > <gilbert.c...@hpe.com> > Subject: Re: [edk2-devel] [edk2/master PATCH DxeIplHandoffLib v1] > MdePkg/DxeIplHandoffLibNullLib: Abstract DxeIpl > > > > > -----Original Message----- > > From: Bi, Dandan [mailto:dandan...@intel.com] > > Sent: Monday, March 16, 2020 9:31 AM > > To: Chang, Abner (HPS SW/FW Technologist) <abner.ch...@hpe.com>; > > devel@edk2.groups.io > > Cc: Leif Lindholm <l...@nuviainc.com>; Kinney, Michael D > > <michael.d.kin...@intel.com>; Gao, Liming <liming....@intel.com>; Ard > > Biesheuvel <ard.biesheu...@linaro.org>; Laszlo Ersek > > <ler...@redhat.com>; Schaefer, Daniel (DualStudy) > > <daniel.schae...@hpe.com>; Chen, Gilbert <gilbert.c...@hpe.com> > > Subject: RE: [edk2/master PATCH DxeIplHandoffLib v1] > > MdePkg/DxeIplHandoffLibNullLib: Abstract DxeIpl > > > > Hi Abner, > > > > Some comments as below. > > > > 1. For the patch itself > > a) it introduces a new library class, so besides the instance, we > > also need to add the header file (public interface definitions) in the > > include/library directory and define the library class in dec file. > > b) EFIAPI keyword should be added with the public API definition ( > > HandOffToDxeCore). > Ok. Will resend the patch. > > > > > 2. This path is just to add an empty instance for now. > > Abner, will you also add other instances for other Archs and update > > DxeIpl to consume the new library? > The purpose of this change is to abstract arch from DxeIpl module under > MdeModulePkg and remove the dependencies with arch package from > MdeModulePkg.ci.yaml. > Yes, I already added an instance for RISC-V and revised DxeIpl to consume > new lib *only* for RISCV64 arch, this change will be in the set of RISC-V > edk2 > patches. The patch you are reviewing now is the prerequisite for RISC-V edk2 > port. > > > And for platform, it's incompatible change to use new added library > instance. > > So it's better review it in TianoCore Design Meeting firstly. > It will stay the same for X86, ARM may have to use this NULL instance and > remove the dependencies from MdeModulePkg.ci.yaml as well. However, I > can't speak for ARM because the dependence with ARM package in > MdeModulePkg has been in MdeModulePkg.ci.yaml when edk2 CI was > introduced (my guess, not sure the history). RISCV64 is a new arch and was > requested to be decoupled from MdeModulePkg. This change don't bring > incompatible issue though. ARM arch can still stay the same as it is in edk2 > now. > > > > > > > > > Thanks, > > Dandan > > > -----Original Message----- > > > From: Abner Chang [mailto:abner.ch...@hpe.com] > > > Sent: Monday, March 9, 2020 6:28 PM > > > To: devel@edk2.groups.io > > > Cc: abner.ch...@hpe.com; Leif Lindholm <l...@nuviainc.com>; Kinney, > > > Michael D <michael.d.kin...@intel.com>; Gao, Liming > > > <liming....@intel.com>; Ard Biesheuvel <ard.biesheu...@linaro.org>; > > > Laszlo Ersek <ler...@redhat.com>; Bi, Dandan <dandan...@intel.com>; > > > Daniel Schaefer <daniel.schae...@hpe.com>; Gilbert Chen > > > <gilbert.c...@hpe.com> > > > Subject: [edk2/master PATCH DxeIplHandoffLib v1] > > > MdePkg/DxeIplHandoffLibNullLib: Abstract DxeIpl > > > > > > BZ:2583: > > > INVALID URI REMOVED > > > e.org_show-5Fbug.cgi-3Fid- > > 3D2583&d=DwIFAg&c=C5b8zRQO1miGmBeVZ2LFWg&r=_ > > > > > > SN6FZBN4Vgi4Ulkskz6qU3NYRO03nHp9P7Z5q59A3E&m=YQR7NX_kxz4BPRET > > p5nNLWWOK > > > > > > NOimkostEzdrvyvPkA&s=7wyyAOitp2IvMKv19tlpbJxt2m0bn_ZsR4R7llYI19c& > > e= > > > > > > Current DxeIpl has bindings for different processor architectures, > > > this results in MdeModulePkg has the dependence with processor > > > architecture packages such as ArmPkg or RiscVPkg. This also leads CI > > > testing to error during package dependency check. Provide a default > > > DxeIplHandoff library to abstract processor architecture from DxeIpl > > > driver, platform can provide its own library instance for the > > > processor > > architecture- specific implementation. > > > > > > Signed-off-by: Abner Chang <abner.ch...@hpe.com> > > > > > > Cc: Leif Lindholm <l...@nuviainc.com> > > > Cc: Michael D Kinney <michael.d.kin...@intel.com> > > > Cc: Liming Gao <liming....@intel.com> > > > Cc: Ard Biesheuvel <ard.biesheu...@linaro.org> > > > Cc: Laszlo Ersek <ler...@redhat.com> > > > Cc: Dandan Bi <dandan...@intel.com> > > > Cc: Daniel Schaefer <daniel.schae...@hpe.com> > > > Cc: Gilbert Chen <gilbert.c...@hpe.com> > > > --- > > > MdeModulePkg/MdeModulePkg.dsc | 2 ++ > > > .../DxeIplHandoffLibNull.inf | 30 +++++++++++++++++ > > > .../DxeIplHandoffLibNull.c | 33 +++++++++++++++++++ > > > .../DxeIplHandoffLibNull.uni | 14 ++++++++ > > > 4 files changed, 79 insertions(+) > > > create mode 100644 > > > MdeModulePkg/Library/DxeIplHandoffLibNull/DxeIplHandoffLibNull.inf > > > create mode 100644 > > > MdeModulePkg/Library/DxeIplHandoffLibNull/DxeIplHandoffLibNull.c > > > create mode 100644 > > > MdeModulePkg/Library/DxeIplHandoffLibNull/DxeIplHandoffLibNull.uni > > > > > > diff --git a/MdeModulePkg/MdeModulePkg.dsc > > > b/MdeModulePkg/MdeModulePkg.dsc index f7dbb27ce2..6eb922dfaa > > > 100644 > > > --- a/MdeModulePkg/MdeModulePkg.dsc > > > +++ b/MdeModulePkg/MdeModulePkg.dsc > > > @@ -3,6 +3,7 @@ > > > # # (C) Copyright 2014 Hewlett-Packard Development Company, > > > L.P.<BR> # Copyright (c) 2007 - 2019, Intel Corporation. All rights > > > reserved.<BR>+# Copyright (c) 2020, Hewlett Packard Enterprise > > Development LP. All rights > > > reserved.<BR> # # SPDX-License-Identifier: BSD-2-Clause-Patent #@@ - > > > 321,6 +322,7 @@ > > > MdeModulePkg/Library/BaseBmpSupportLib/BaseBmpSupportLib.inf > > > > > > MdeModulePkg/Library/DisplayUpdateProgressLibGraphics/DisplayUpdateP > > > rogressLibGraphics.inf > > > > > > MdeModulePkg/Library/DisplayUpdateProgressLibText/DisplayUpdateProgr > > > essLibText.inf+ > > > MdeModulePkg/Library/DxeIplHandoffLibNull/DxeIplHandoffLibNull.inf > > > MdeModulePkg/Universal/BdsDxe/BdsDxe.inf > > > > > > MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuAp > > > p.infdiff --git > > > > a/MdeModulePkg/Library/DxeIplHandoffLibNull/DxeIplHandoffLibNull.inf > > > > b/MdeModulePkg/Library/DxeIplHandoffLibNull/DxeIplHandoffLibNull.inf > > > new file mode 100644 > > > index 0000000000..b7210656b7 > > > --- /dev/null > > > +++ > > > > b/MdeModulePkg/Library/DxeIplHandoffLibNull/DxeIplHandoffLibNull.inf > > > @@ -0,0 +1,30 @@ > > > +## @file+# Null DXE IPL handoff to DXE Core Library instance.+#+# > > > Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All > > > rights reserved.<BR>+#+# SPDX-License-Identifier: BSD-2-Clause- > > > Patent+#+##++[Defines]+ INF_VERSION = 0x0001001b+ > > > BASE_NAME = DxeIplHandoffLibNull+ MODULE_UNI_FILE > > > = DxeIplHandoffLibNull.uni+ FILE_GUID = > > > 5c18812d-3684-4093- > > > bc75-fc846a595353+ MODULE_TYPE = BASE+ VERSION_STRING > > > = 1.0+ LIBRARY_CLASS = DxeIplHandoffLib++#+# The > > > following > > > information is for reference only and not required by the build tools.+#+# > > > VALID_ARCHITECTURES = RISCV64+#++[Sources]+ > > > DxeIplHandoffLibNull.c++[Packages]+ MdePkg/MdePkg.dec+diff --git > > > a/MdeModulePkg/Library/DxeIplHandoffLibNull/DxeIplHandoffLibNull.c > > > b/MdeModulePkg/Library/DxeIplHandoffLibNull/DxeIplHandoffLibNull.c > > > new file mode 100644 > > > index 0000000000..c83922cb6e > > > --- /dev/null > > > +++ > > b/MdeModulePkg/Library/DxeIplHandoffLibNull/DxeIplHandoffLibNull.c > > > @@ -0,0 +1,33 @@ > > > +/** @file+ NULL instance of DXE IPL handoff to DXE Core Library.++ > > > Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All > > > rights reserved.<BR>++ SPDX-License-Identifier: BSD-2-Clause- > > > Patent++**/++#include <PiPei.h>+#include > <Library/DebugLib.h>++/**+ > > > Transfers control to DxeCore.++ This function performs a CPU > architecture > > > specific operations to execute+ the entry point of DxeCore with the > > > parameters of HobList.+ It also installs EFI_END_OF_PEI_PPI to signal > > > the > > > end of PEI phase.++ @param DxeCoreEntryPoint The entry point of > > > DxeCore.+ @param HobList The start of HobList passed > > > to > > > DxeCore.++**/+VOID+HandOffToDxeCore (+ IN > EFI_PHYSICAL_ADDRESS > > > DxeCoreEntryPoint,+ IN EFI_PEI_HOB_POINTERS HobList+ )+{+ DEBUG > > > ((DEBUG_INFO, "No implementation of DXE IPL handoff to DXE Core > > > library.\r\n"));+ ASSERT (FALSE);+}+diff --git > > > > a/MdeModulePkg/Library/DxeIplHandoffLibNull/DxeIplHandoffLibNull.uni > > > > b/MdeModulePkg/Library/DxeIplHandoffLibNull/DxeIplHandoffLibNull.uni > > > new file mode 100644 > > > index 0000000000..5a8973d6e5 > > > --- /dev/null > > > +++ > > > > b/MdeModulePkg/Library/DxeIplHandoffLibNull/DxeIplHandoffLibNull.uni > > > @@ -0,0 +1,14 @@ > > > +// /** @file+// Null DXE IPL handoff to DXE Core Library > > > +instance.+//+// > > > Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All > > > rights reserved.<BR>+//+// SPDX-License-Identifier: BSD-2-Clause- > > Patent+//+// > > > **/+++#string STR_MODULE_ABSTRACT #language en-US "Null > DXE > > > IPL handoff to DXE Core Library instance."++#string > > > STR_MODULE_DESCRIPTION #language en-US "Null DXE IPL handoff > to > > > DXE Core Library instance."+-- > > > 2.25.0 > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#56351): https://edk2.groups.io/g/devel/message/56351 Mute This Topic: https://groups.io/mt/71832171/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-