On Thu, 3 Jan 2019 at 17:05, Carsey, Jaben <[email protected]> wrote:
>
> Reviewed-by: Jaben Carsey <[email protected]>
>
>

Thanks all

Pushed as 672601cfcc6f..8ef653aa5aad

> > -----Original Message-----
> > From: edk2-devel [mailto:[email protected]] On Behalf Of
> > Ard Biesheuvel
> > Sent: Thursday, January 03, 2019 4:13 AM
> > To: [email protected]
> > Cc: Gao, Liming <[email protected]>
> > 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 <[email protected]>
> > Cc: Liming Gao <[email protected]>
> > Cc: Jagadeesh Ujja <[email protected]>
> > Contributed-under: TianoCore Contribution Agreement 1.1
> > Signed-off-by: Ard Biesheuvel <[email protected]>
> > ---
> >  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
> > [email protected]
> > https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to