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/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

Reply via email to