From: "Ard Biesheuvel" <ard.biesheuvel@linaro.org>
To: Laszlo Ersek <lersek@redhat.com>
Cc: edk2-devel-groups-io <devel@edk2.groups.io>,
Achin Gupta <achin.gupta@arm.com>,
"Yao, Jiewen" <jiewen.yao@intel.com>
Subject: Re: [PATCH] StandaloneMmPkg: make package .DSC file build again
Date: Mon, 16 Sep 2019 12:17:44 +0100 [thread overview]
Message-ID: <CAKv+Gu-5xG6Kf8tkWjPXfhOUNp-3uH9=-53N-scbTjc1O661ww@mail.gmail.com> (raw)
In-Reply-To: <3c8a28f6-d921-cde2-0195-08efce528701@redhat.com>
On Mon, 16 Sep 2019 at 12:13, Laszlo Ersek <lersek@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.biesheuvel@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 <lersek@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.
next prev parent reply other threads:[~2019-09-16 11:18 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-13 19:04 [PATCH] StandaloneMmPkg: make package .DSC file build again Ard Biesheuvel
2019-09-13 21:32 ` Yao, Jiewen
2019-09-16 11:13 ` Laszlo Ersek
2019-09-16 11:17 ` Ard Biesheuvel [this message]
2019-09-16 15:06 ` Yao, Jiewen
2019-09-16 18:26 ` Laszlo Ersek
2019-09-17 8:53 ` Ard Biesheuvel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAKv+Gu-5xG6Kf8tkWjPXfhOUNp-3uH9=-53N-scbTjc1O661ww@mail.gmail.com' \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox