On Mon, 16 Sep 2019 at 12:13, Laszlo Ersek <ler...@redhat.com> wrote:
>
> Hi Ard,
>
> On 09/13/19 21:04, Ard Biesheuvel wrote:
> > The StandaloneMmPkg .DSC file went out of sync with the changes
> > applied to the package when I enabled this code on the Synquacer
> > platform in edk2-platforms. So apply the necessary changes to make
> > this package build in isolation.
> >
> > Signed-off-by: Ard Biesheuvel <ard.biesheu...@linaro.org>
> > ---
> >  StandaloneMmPkg/StandaloneMmPkg.dsc | 19 +++++++++++--------
> >  1 file changed, 11 insertions(+), 8 deletions(-)
> >
> > diff --git a/StandaloneMmPkg/StandaloneMmPkg.dsc 
> > b/StandaloneMmPkg/StandaloneMmPkg.dsc
> > index 8c5b9b3a3d47..8a68d397469b 100644
> > --- a/StandaloneMmPkg/StandaloneMmPkg.dsc
> > +++ b/StandaloneMmPkg/StandaloneMmPkg.dsc
> > @@ -39,29 +39,32 @@
> >    BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
> >    DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
> >    
> > DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
> > +  
> > ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf
> >    FvLib|StandaloneMmPkg/Library/FvLib/FvLib.inf
> > -  
> > HobLib|StandaloneMmPkg/Library/StandaloneMmCoreHobLib/StandaloneMmCoreHobLib.inf
> > +  HobLib|StandaloneMmPkg/Library/StandaloneMmHobLib/StandaloneMmHobLib.inf
> >    IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
> >    MemLib|StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib.inf
> >    
> > MemoryAllocationLib|StandaloneMmPkg/Library/StandaloneMmCoreMemoryAllocationLib/StandaloneMmCoreMemoryAllocationLib.inf
> > +  
> > MmServicesTableLib|MdePkg/Library/StandaloneMmServicesTableLib/StandaloneMmServicesTableLib.inf
> >    PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
> > +  
> > PeCoffExtraActionLib|StandaloneMmPkg/Library/StandaloneMmPeCoffExtraActionLib/StandaloneMmPeCoffExtraActionLib.inf
> >    PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
> >    PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
> >    
> > ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
> > -
> > -  #
> > -  # Entry point
> > -  #
> > -  
> > StandaloneMmDriverEntryPoint|StandaloneMmPkg/Library/StandaloneMmDriverEntryPoint/StandaloneMmDriverEntryPoint.inf
> > +  
> > StandaloneMmCoreEntryPoint|StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf
> > +  
> > StandaloneMmDriverEntryPoint|MdePkg/Library/StandaloneMmDriverEntryPoint/StandaloneMmDriverEntryPoint.inf
> >
> >  [LibraryClasses.AARCH64]
> >    ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
> >    
> > StandaloneMmMmuLib|ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.inf
> >    ArmSvcLib|ArmPkg/Library/ArmSvcLib/ArmSvcLib.inf
> >    
> > CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf
> > -  
> > PeCoffExtraActionLib|StandaloneMmPkg/Library/StandaloneMmPeCoffExtraActionLib/StandaloneMmPeCoffExtraActionLib.inf
> >
> > -  
> > StandaloneMmCoreEntryPoint|StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf
> > +  NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
> > +  NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
> > +
> > +[LibraryClasses.common.MM_CORE_STANDALONE]
> > +  
> > HobLib|StandaloneMmPkg/Library/StandaloneMmCoreHobLib/StandaloneMmCoreHobLib.inf
> >
> >  
> > ################################################################################
> >  #
> >
>
> With this patch applied on top of 9b5a1c789d39, the DSC builds fine for
> AARCH64.
>
> However, the DSC also advertizes IA32 and X64 in
> "SUPPORTED_ARCHITECTURES", and those builds still fail, with:
>
> StandaloneMmPkg/StandaloneMmPkg.dsc(...): error 4000: Instance of
> library class [CacheMaintenanceLib] is not found
>         in [StandaloneMmPkg/Core/StandaloneMmCore.inf] [IA32]
>
> Now, I'm not sure if *this* build breakage is related to the Synquacer
> work you mention in the blurb. If it is, then fixing it would be nice.
> If not, then can we perhaps remove IA32 and X64 from
> SUPPORTED_ARCHITECTURES?
>
> If you end up reposting with IA32/X64 removed from
> SUPPORTED_ARCHITECTURES, then, for that version:
>
> Reviewed-by: Laszlo Ersek <ler...@redhat.com>
>

Jiewen should correct me if I am wrong, but as far as I know,
StandaloneMmPkg is ARM-only in practice, even if the PI spec is arch
agnostic about it.

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#47277): https://edk2.groups.io/g/devel/message/47277
Mute This Topic: https://groups.io/mt/34130722/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to