I have just had a look to understand the reason. And here is the reason... ArmPlatformPkg/MemoryInitPei/MemoryInitPeim.inf is a PEIM module (MODULE_TYPE = PEIM); while all the declarations you quoted before are for the SEC module:
[LibraryClasses.common.SEC] MemoryInitPeiLib|ArmPlatformPkg/MemoryInitPei/MemoryInitPeiLib.inf Moving `MemoryInitPeiLib|ArmPlatformPkg/MemoryInitPei/MemoryInitPeiLib.inf` from [LibraryClasses.common.SEC] to [LibraryClasses.common.SEC, LibraryClasses.common.PEIM] should fix the issue. -----Original Message----- From: Ard Biesheuvel [mailto:ard.biesheu...@linaro.org] Sent: 08 April 2015 11:55 To: Olivier Martin Cc: edk2-devel@lists.sourceforge.net; ler...@redhat.com; roy.fr...@linaro.org; leif.lindh...@linaro.org Subject: Re: [PATCH v3 1/5] ArmPlatformPkg: do not fulfil MemoryInitPeiLib dependency directly via .c file On 8 April 2015 at 12:46, Olivier Martin <olivier.mar...@arm.com> wrote: > This patch breaks the following builds: > - ArmPlatformPkg/ArmPlatformPkg.dsc > - ArmPlatformPkg/ArmRealViewEbPkg/ArmRealViewEb-RTSM-A9x2.dsc > - ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA9x4.dsc > - (...) > > Always with the same issue: > ArmPlatformPkg/ArmPlatformPkg.dsc(...): error 4000: Instance of library class > [MemoryInitPeiLib] is not found > in [ArmPlatformPkg/MemoryInitPei/MemoryInitPeim.inf] [ARM] > consumed by module > [ArmPlatformPkg/MemoryInitPei/MemoryInitPeim.inf] > Hmm, that is surprising: $ git grep MemoryInitPeiLib ArmPlatformPkg/ArmJunoPkg/ArmJuno.dsc: MemoryInitPeiLib|ArmPlatformPkg/MemoryInitPei/MemoryInitPeiLib.inf ArmPlatformPkg/ArmPlatformPkg-2ndstage.dsc: MemoryInitPeiLib|ArmPlatformPkg/MemoryInitPei/MemoryInitPeiLib.inf ArmPlatformPkg/ArmRealViewEbPkg/ArmRealViewEb.dsc.inc: MemoryInitPeiLib|ArmPlatformPkg/MemoryInitPei/MemoryInitPeiLib.inf ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc: MemoryInitPeiLib|ArmPlatformPkg/MemoryInitPei/MemoryInitPeiLib.inf produces hits for the associated platforms, so I did not look at the .DSCs in detail. ArmVExpress-FVP-AArch64 does build, btw I will update the patch so that all .DSCs are updated with the missing library reference. -- Ard. > -----Original Message----- > From: Ard Biesheuvel [mailto:ard.biesheu...@linaro.org] > Sent: 08 April 2015 08:11 > To: edk2-devel@lists.sourceforge.net; ler...@redhat.com; Olivier Martin > Cc: roy.fr...@linaro.org; leif.lindh...@linaro.org; Ard Biesheuvel > Subject: [PATCH v3 1/5] ArmPlatformPkg: do not fulfil MemoryInitPeiLib > dependency directly via .c file > > MemoryInitPeim short-circuits its MemoryInitPeiLib dependency by including > the .c file directly. This prevents us from having a special implementation > for ArmVirtualizationPkg that performs additional cache maintenance before > enabling the MMU. So instead, make it depend on the library class. > > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Ard Biesheuvel <ard.biesheu...@linaro.org> > --- > ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualization.dsc.inc | 1 + > ArmPlatformPkg/MemoryInitPei/MemoryInitPeiLib.inf | 2 +- > ArmPlatformPkg/MemoryInitPei/MemoryInitPeim.inf | 2 +- > 3 files changed, 3 insertions(+), 2 deletions(-) > > diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualization.dsc.inc > b/ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualization.dsc.inc > index 51c163286d1f..b03616842f81 100644 > --- a/ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualization.dsc.inc > +++ b/ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualization.dsc.inc > @@ -77,6 +77,7 @@ > > ArmGenericTimerCounterLib|ArmPkg/Library/ArmGenericTimerVirtCounterLib/ArmGenericTimerVirtCounterLib.inf > > > PlatformPeiLib|ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformPeiLib/PlatformPeiLib.inf > + MemoryInitPeiLib|ArmPlatformPkg/MemoryInitPei/MemoryInitPeiLib.inf > > EfiResetSystemLib|ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirtualizationPsciResetSystemLib/ArmVirtualizationPsciResetSystemLib.inf > > # ARM PL031 RTC Driver > diff --git a/ArmPlatformPkg/MemoryInitPei/MemoryInitPeiLib.inf > b/ArmPlatformPkg/MemoryInitPei/MemoryInitPeiLib.inf > index 1e5b93e8a507..7f1976d60c31 100755 > --- a/ArmPlatformPkg/MemoryInitPei/MemoryInitPeiLib.inf > +++ b/ArmPlatformPkg/MemoryInitPei/MemoryInitPeiLib.inf > @@ -17,7 +17,7 @@ > FILE_GUID = 55ddb6e0-70b5-11e0-b33e-0002a5d5c51b > MODULE_TYPE = SEC > VERSION_STRING = 1.0 > - LIBRARY_CLASS = PlatformPeiLib > + LIBRARY_CLASS = MemoryInitPeiLib > > [Sources] > MemoryInitPeiLib.c > diff --git a/ArmPlatformPkg/MemoryInitPei/MemoryInitPeim.inf > b/ArmPlatformPkg/MemoryInitPei/MemoryInitPeim.inf > index 6374b63f8524..2c14a9c826ff 100755 > --- a/ArmPlatformPkg/MemoryInitPei/MemoryInitPeim.inf > +++ b/ArmPlatformPkg/MemoryInitPei/MemoryInitPeim.inf > @@ -28,7 +28,6 @@ > > [Sources] > MemoryInitPeim.c > - MemoryInitPeiLib.c > > [Packages] > MdePkg/MdePkg.dec > @@ -43,6 +42,7 @@ > HobLib > ArmLib > ArmPlatformLib > + MemoryInitPeiLib > > [Guids] > gEfiMemoryTypeInformationGuid > -- > 1.8.3.2 > > > -- IMPORTANT NOTICE: The contents of this email and any attachments are > confidential and may also be privileged. If you are not the intended > recipient, please notify the sender immediately and do not disclose the > contents to any other person, use it for any purpose, or store or copy the > information in any medium. Thank you. > > ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, > Registered in England & Wales, Company No: 2557590 > ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, > Registered in England & Wales, Company No: 2548782 > -- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590 ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782 ------------------------------------------------------------------------------ BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT Develop your own process in accordance with the BPMN 2 standard Learn Process modeling best practices with Bonita BPM through live exercises http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel