On 8 April 2015 at 13:03, Olivier Martin <olivier.mar...@arm.com> wrote: > That's correct! >
Hmm, that doesn't seem to work. Would there be any problem with making it a 'BASE' module type? And making it a general dependency in [LibraryClasses]' rather than for SEC or PEIM specifically? > -----Original Message----- > From: Ard Biesheuvel [mailto:ard.biesheu...@linaro.org] > Sent: 08 April 2015 12:01 > 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:58, Olivier Martin <olivier.mar...@arm.com> wrote: >> 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. >> > > OK, but that also implies that MemoryInitPeiLib.inf's module type should > become 'SEC PEIM' not just 'SEC', right? > >> -----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/ArmGenericTimerVirtCounterLi >>> b/ArmGenericTimerVirtCounterLib.inf >>> >>> >>> PlatformPeiLib|ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformPe >>> iLib/PlatformPeiLib.inf >>> + MemoryInitPeiLib|ArmPlatformPkg/MemoryInitPei/MemoryInitPeiLib.inf >>> >>> EfiResetSystemLib|ArmPlatformPkg/ArmVirtualizationPkg/Library/ArmVirt >>> ualizationPsciResetSystemLib/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 > > > -- 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