From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
To: "Carsey, Jaben" <jaben.carsey@intel.com>,
"Feng, Bob C" <bob.c.feng@intel.com>
Cc: "edk2-devel@lists.01.org" <edk2-devel@lists.01.org>,
"Gao, Liming" <liming.gao@intel.com>
Subject: Re: [PATCH] BaseTools/GenFds: permit stripped MM_CORE_STANDALONE binaries
Date: Fri, 4 Jan 2019 09:43:41 +0100 [thread overview]
Message-ID: <CAKv+Gu83pZyobzcAdt7viELGKfn4xvySy+9jjWKFXB2WW-r31A@mail.gmail.com> (raw)
In-Reply-To: <CB6E33457884FA40993F35157061515CB125EB05@FMSMSX103.amr.corp.intel.com>
On Thu, 3 Jan 2019 at 17:05, Carsey, Jaben <jaben.carsey@intel.com> wrote:
>
> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
>
>
Thanks all
Pushed as 672601cfcc6f..8ef653aa5aad
> > -----Original Message-----
> > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of
> > Ard Biesheuvel
> > Sent: Thursday, January 03, 2019 4:13 AM
> > To: edk2-devel@lists.01.org
> > Cc: Gao, Liming <liming.gao@intel.com>
> > Subject: [edk2] [PATCH] BaseTools/GenFds: permit stripped
> > MM_CORE_STANDALONE binaries
> >
> > The standalone MM core is executed in place, and resides in a
> > separate execution context which may be space constrained.
> > Since code and data may be mapped with different attributes for
> > security reasons, the PE/COFF binary could have a section
> > alignment of 4 KB.
> >
> > This means that any relocation data is not only useless, but it
> > will also take up 4 KB of valuable space.
> >
> > So add support for the RELOCS_STRIPPED attribute on FFS files of
> > this type, so that we can get rid of the .reloc section altogether.
> > Combined with the FIXED attribute (which enables an optimization
> > in GenFfs that strips redundant padding) and a TE type binary, this
> > gets rid of all the needless padding around the standalone MM core
> > binary.
> >
> > Cc: Bob Feng <bob.c.feng@intel.com>
> > Cc: Liming Gao <liming.gao@intel.com>
> > Cc: Jagadeesh Ujja <jagadeesh.ujja@arm.com>
> > Contributed-under: TianoCore Contribution Agreement 1.1
> > Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> > ---
> > BaseTools/Source/Python/GenFds/EfiSection.py | 2 +-
> > BaseTools/Source/Python/GenFds/FdfParser.py | 2 +-
> > BaseTools/Source/Python/GenFds/FfsInfStatement.py | 2 +-
> > 3 files changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/BaseTools/Source/Python/GenFds/EfiSection.py
> > b/BaseTools/Source/Python/GenFds/EfiSection.py
> > index f8573b5c7d1b..0be176ec8ae1 100644
> > --- a/BaseTools/Source/Python/GenFds/EfiSection.py
> > +++ b/BaseTools/Source/Python/GenFds/EfiSection.py
> > @@ -68,7 +68,7 @@ class EfiSection (EfiSectionClassObject):
> > StringData = FfsInf.__ExtendMacro__(self.StringData)
> > ModuleNameStr = FfsInf.__ExtendMacro__('$(MODULE_NAME)')
> > NoStrip = True
> > - if FfsInf.ModuleType in (SUP_MODULE_SEC,
> > SUP_MODULE_PEI_CORE, SUP_MODULE_PEIM) and SectionType in
> > (BINARY_FILE_TYPE_TE, BINARY_FILE_TYPE_PE32):
> > + if FfsInf.ModuleType in (SUP_MODULE_SEC,
> > SUP_MODULE_PEI_CORE, SUP_MODULE_PEIM,
> > SUP_MODULE_MM_CORE_STANDALONE) and SectionType in
> > (BINARY_FILE_TYPE_TE, BINARY_FILE_TYPE_PE32):
> > if FfsInf.KeepReloc is not None:
> > NoStrip = FfsInf.KeepReloc
> > elif FfsInf.KeepRelocFromRule is not None:
> > diff --git a/BaseTools/Source/Python/GenFds/FdfParser.py
> > b/BaseTools/Source/Python/GenFds/FdfParser.py
> > index e000228d2f6c..de0b166030e7 100644
> > --- a/BaseTools/Source/Python/GenFds/FdfParser.py
> > +++ b/BaseTools/Source/Python/GenFds/FdfParser.py
> > @@ -2589,7 +2589,7 @@ class FdfParser:
> > #
> > @staticmethod
> > def _FileCouldHaveRelocFlag (FileType):
> > - if FileType in {SUP_MODULE_SEC, SUP_MODULE_PEI_CORE,
> > SUP_MODULE_PEIM, 'PEI_DXE_COMBO'}:
> > + if FileType in {SUP_MODULE_SEC, SUP_MODULE_PEI_CORE,
> > SUP_MODULE_PEIM, SUP_MODULE_MM_CORE_STANDALONE,
> > 'PEI_DXE_COMBO'}:
> > return True
> > else:
> > return False
> > diff --git a/BaseTools/Source/Python/GenFds/FfsInfStatement.py
> > b/BaseTools/Source/Python/GenFds/FfsInfStatement.py
> > index c1073c96e9aa..d4c61c074963 100644
> > --- a/BaseTools/Source/Python/GenFds/FfsInfStatement.py
> > +++ b/BaseTools/Source/Python/GenFds/FfsInfStatement.py
> > @@ -901,7 +901,7 @@ class FfsInfStatement(FfsInfStatementClassObject):
> > # @retval string File name of the generated section file
> > #
> > def __GenComplexFileSection__(self, Rule, FvChildAddr, FvParentAddr,
> > IsMakefile = False):
> > - if self.ModuleType in (SUP_MODULE_SEC, SUP_MODULE_PEI_CORE,
> > SUP_MODULE_PEIM):
> > + if self.ModuleType in (SUP_MODULE_SEC, SUP_MODULE_PEI_CORE,
> > SUP_MODULE_PEIM, SUP_MODULE_MM_CORE_STANDALONE):
> > if Rule.KeepReloc is not None:
> > self.KeepRelocFromRule = Rule.KeepReloc
> > SectFiles = []
> > --
> > 2.17.1
> >
> > _______________________________________________
> > edk2-devel mailing list
> > edk2-devel@lists.01.org
> > https://lists.01.org/mailman/listinfo/edk2-devel
next prev parent reply other threads:[~2019-01-04 8:43 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-03 12:13 [PATCH] BaseTools/GenFds: permit stripped MM_CORE_STANDALONE binaries Ard Biesheuvel
2019-01-03 16:05 ` Carsey, Jaben
2019-01-04 8:43 ` Ard Biesheuvel [this message]
-- strict thread matches above, loose matches on Subject: below --
2019-01-03 18:28 [PATCH 0/6] implement standalone MM versions of the variable runtime drivers Ard Biesheuvel
2019-01-03 18:28 ` [PATCH] BaseTools/GenFds: permit stripped MM_CORE_STANDALONE binaries Ard Biesheuvel
2019-01-04 5:51 ` Feng, Bob C
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+Gu83pZyobzcAdt7viELGKfn4xvySy+9jjWKFXB2WW-r31A@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