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 11:26:25 -0700 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 468EF18C8937; Mon, 16 Sep 2019 18:26:25 +0000 (UTC) Received: from lacos-laptop-7.usersys.redhat.com (ovpn-124-96.rdu2.redhat.com [10.10.124.96]) by smtp.corp.redhat.com (Postfix) with ESMTP id C41765D6A3; Mon, 16 Sep 2019 18:26:23 +0000 (UTC) Subject: Re: [PATCH] StandaloneMmPkg: make package .DSC file build again To: "Yao, Jiewen" , Ard Biesheuvel Cc: edk2-devel-groups-io , Achin Gupta References: <20190913190445.9832-1-ard.biesheuvel@linaro.org> <3c8a28f6-d921-cde2-0195-08efce528701@redhat.com> <74D8A39837DF1E4DA445A8C0B3885C503F7B0A2F@shsmsx102.ccr.corp.intel.com> From: "Laszlo Ersek" Message-ID: Date: Mon, 16 Sep 2019 20:26:22 +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: <74D8A39837DF1E4DA445A8C0B3885C503F7B0A2F@shsmsx102.ccr.corp.intel.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.6.2 (mx1.redhat.com [10.5.110.70]); Mon, 16 Sep 2019 18:26:25 +0000 (UTC) Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit On 09/16/19 17:06, Yao, Jiewen wrote: > That is correct. > > Current trunk only supports ARM system. > > I have branch to support x86 - https://github.com/jyao1/edk2/tree/StandaloneSmmX86Poc > But that is not merged into trunk yet. In that case, for this patch: Build-tested-by: Laszlo Ersek (apologies, my prior R-b was a typo; I pressed the wrong hotkey for inserting the tag in the email) I still think the IA32/X64 part should be removed from SUPPORTED_ARCHITECTURES (and their addition should be a part of Jiewen's topic branch). But, I agree such a cleanup is out of scope for this patch; the patch does fix the AARCH64 regression. Thank you, Ard! Laszlo >> -----Original Message----- >> From: Ard Biesheuvel >> Sent: Monday, September 16, 2019 1:18 PM >> To: Laszlo Ersek >> Cc: edk2-devel-groups-io ; Achin Gupta >> ; Yao, Jiewen >> Subject: Re: [PATCH] StandaloneMmPkg: make package .DSC file build again >> >> On Mon, 16 Sep 2019 at 12:13, Laszlo Ersek 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 >>>> --- >>>> 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/BaseDe >> bugPrintErrorLevelLib.inf >>>> + >> ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/P >> rePiExtractGuidedSectionLib.inf >>>> FvLib|StandaloneMmPkg/Library/FvLib/FvLib.inf >>>> - >> HobLib|StandaloneMmPkg/Library/StandaloneMmCoreHobLib/StandaloneMmC >> oreHobLib.inf >>>> + >> HobLib|StandaloneMmPkg/Library/StandaloneMmHobLib/StandaloneMmHobLi >> b.inf >>>> IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf >>>> >> MemLib|StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMe >> mLib.inf >>>> >> MemoryAllocationLib|StandaloneMmPkg/Library/StandaloneMmCoreMemoryAl >> locationLib/StandaloneMmCoreMemoryAllocationLib.inf >>>> + >> MmServicesTableLib|MdePkg/Library/StandaloneMmServicesTableLib/Standalo >> neMmServicesTableLib.inf >>>> PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf >>>> + >> PeCoffExtraActionLib|StandaloneMmPkg/Library/StandaloneMmPeCoffExtraAct >> ionLib/StandaloneMmPeCoffExtraActionLib.inf >>>> PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf >>>> PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf >>>> >> ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseRepo >> rtStatusCodeLibNull.inf >>>> - >>>> - # >>>> - # Entry point >>>> - # >>>> - >> StandaloneMmDriverEntryPoint|StandaloneMmPkg/Library/StandaloneMmDriv >> erEntryPoint/StandaloneMmDriverEntryPoint.inf >>>> + >> StandaloneMmCoreEntryPoint|StandaloneMmPkg/Library/StandaloneMmCoreE >> ntryPoint/StandaloneMmCoreEntryPoint.inf >>>> + >> StandaloneMmDriverEntryPoint|MdePkg/Library/StandaloneMmDriverEntryPoin >> t/StandaloneMmDriverEntryPoint.inf >>>> >>>> [LibraryClasses.AARCH64] >>>> ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf >>>> >> StandaloneMmMmuLib|ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStand >> aloneMmLib.inf >>>> ArmSvcLib|ArmPkg/Library/ArmSvcLib/ArmSvcLib.inf >>>> >> CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMa >> intenanceLib.inf >>>> - >> PeCoffExtraActionLib|StandaloneMmPkg/Library/StandaloneMmPeCoffExtraAct >> ionLib/StandaloneMmPeCoffExtraActionLib.inf >>>> >>>> - >> StandaloneMmCoreEntryPoint|StandaloneMmPkg/Library/StandaloneMmCoreE >> ntryPoint/StandaloneMmCoreEntryPoint.inf >>>> + NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf >>>> + NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf >>>> + >>>> +[LibraryClasses.common.MM_CORE_STANDALONE] >>>> + >> HobLib|StandaloneMmPkg/Library/StandaloneMmCoreHobLib/StandaloneMmC >> oreHobLib.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 >>> >> >> 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.