From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: redhat.com, ip: 209.132.183.28, mailfrom: lersek@redhat.com) Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by groups.io with SMTP; Mon, 16 Sep 2019 04:13:32 -0700 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 9425F85A03; Mon, 16 Sep 2019 11:13:31 +0000 (UTC) Received: from lacos-laptop-7.usersys.redhat.com (ovpn-120-35.rdu2.redhat.com [10.10.120.35]) by smtp.corp.redhat.com (Postfix) with ESMTP id C330A600F8; Mon, 16 Sep 2019 11:13:29 +0000 (UTC) Subject: Re: [PATCH] StandaloneMmPkg: make package .DSC file build again To: Ard Biesheuvel , devel@edk2.groups.io Cc: achin.gupta@arm.com, jiewen.yao@intel.com References: <20190913190445.9832-1-ard.biesheuvel@linaro.org> From: "Laszlo Ersek" Message-ID: <3c8a28f6-d921-cde2-0195-08efce528701@redhat.com> Date: Mon, 16 Sep 2019 13:13:28 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <20190913190445.9832-1-ard.biesheuvel@linaro.org> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Mon, 16 Sep 2019 11:13:31 +0000 (UTC) Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit 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 > --- > 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 Thanks! Laszlo