[edk2-devel] [PATCH 0/4] Support payload in ELF format

Ni, Ray posted 4 patches 2 years, 11 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/edk2 tags/patchew/20210526082310.1597-1-ray.ni@intel.com
BaseTools/Conf/build_rule.template            |  10 +-
BaseTools/Conf/tools_def.template             |  98 ++
MdeModulePkg/Core/Pei/Image/Image.c           |   5 +-
MdePkg/Include/UniversalPayload/ExtraData.h   |  28 +
.../UniversalPayload/UniversalPayload.h       |  38 +
MdePkg/MdePkg.dec                             |   3 +
UefiPayloadPkg/PayloadLoaderPeim/ElfLib.h     | 122 +++
.../PayloadLoaderPeim/ElfLib/Elf32.h          | 252 +++++
.../PayloadLoaderPeim/ElfLib/Elf32Lib.c       | 398 +++++++
.../PayloadLoaderPeim/ElfLib/Elf64.h          | 254 +++++
.../PayloadLoaderPeim/ElfLib/Elf64Lib.c       | 407 ++++++++
.../PayloadLoaderPeim/ElfLib/ElfCommon.h      | 983 ++++++++++++++++++
.../PayloadLoaderPeim/ElfLib/ElfLib.c         | 499 +++++++++
.../PayloadLoaderPeim/ElfLib/ElfLibInternal.h |  88 ++
.../PayloadLoaderPeim/PayloadLoaderPeim.c     | 187 ++++
.../PayloadLoaderPeim/PayloadLoaderPeim.inf   |  59 ++
16 files changed, 3426 insertions(+), 5 deletions(-)
create mode 100644 MdePkg/Include/UniversalPayload/ExtraData.h
create mode 100644 MdePkg/Include/UniversalPayload/UniversalPayload.h
create mode 100644 UefiPayloadPkg/PayloadLoaderPeim/ElfLib.h
create mode 100644 UefiPayloadPkg/PayloadLoaderPeim/ElfLib/Elf32.h
create mode 100644 UefiPayloadPkg/PayloadLoaderPeim/ElfLib/Elf32Lib.c
create mode 100644 UefiPayloadPkg/PayloadLoaderPeim/ElfLib/Elf64.h
create mode 100644 UefiPayloadPkg/PayloadLoaderPeim/ElfLib/Elf64Lib.c
create mode 100644 UefiPayloadPkg/PayloadLoaderPeim/ElfLib/ElfCommon.h
create mode 100644 UefiPayloadPkg/PayloadLoaderPeim/ElfLib/ElfLib.c
create mode 100644 UefiPayloadPkg/PayloadLoaderPeim/ElfLib/ElfLibInternal.h
create mode 100644 UefiPayloadPkg/PayloadLoaderPeim/PayloadLoaderPeim.c
create mode 100644 UefiPayloadPkg/PayloadLoaderPeim/PayloadLoaderPeim.inf
[edk2-devel] [PATCH 0/4] Support payload in ELF format
Posted by Ni, Ray 2 years, 11 months ago
Per universal payload spec, the payload is in ELF format.
The patch set adds toolchain CLANGDWARF for building ELF image and
adds a payload loader that can load ELF image.

Ray Ni (4):
  BaseTools: Create CLANGDWARF toolchain
  MdePkg/UniversalPayload: Add definition for extra info in payload
  UefiPayloadPkg: Add PayloadLoaderPeim which can load ELF payload
  PeiCore: Remove assertion when failing to load PE image

 BaseTools/Conf/build_rule.template            |  10 +-
 BaseTools/Conf/tools_def.template             |  98 ++
 MdeModulePkg/Core/Pei/Image/Image.c           |   5 +-
 MdePkg/Include/UniversalPayload/ExtraData.h   |  28 +
 .../UniversalPayload/UniversalPayload.h       |  38 +
 MdePkg/MdePkg.dec                             |   3 +
 UefiPayloadPkg/PayloadLoaderPeim/ElfLib.h     | 122 +++
 .../PayloadLoaderPeim/ElfLib/Elf32.h          | 252 +++++
 .../PayloadLoaderPeim/ElfLib/Elf32Lib.c       | 398 +++++++
 .../PayloadLoaderPeim/ElfLib/Elf64.h          | 254 +++++
 .../PayloadLoaderPeim/ElfLib/Elf64Lib.c       | 407 ++++++++
 .../PayloadLoaderPeim/ElfLib/ElfCommon.h      | 983 ++++++++++++++++++
 .../PayloadLoaderPeim/ElfLib/ElfLib.c         | 499 +++++++++
 .../PayloadLoaderPeim/ElfLib/ElfLibInternal.h |  88 ++
 .../PayloadLoaderPeim/PayloadLoaderPeim.c     | 187 ++++
 .../PayloadLoaderPeim/PayloadLoaderPeim.inf   |  59 ++
 16 files changed, 3426 insertions(+), 5 deletions(-)
 create mode 100644 MdePkg/Include/UniversalPayload/ExtraData.h
 create mode 100644 MdePkg/Include/UniversalPayload/UniversalPayload.h
 create mode 100644 UefiPayloadPkg/PayloadLoaderPeim/ElfLib.h
 create mode 100644 UefiPayloadPkg/PayloadLoaderPeim/ElfLib/Elf32.h
 create mode 100644 UefiPayloadPkg/PayloadLoaderPeim/ElfLib/Elf32Lib.c
 create mode 100644 UefiPayloadPkg/PayloadLoaderPeim/ElfLib/Elf64.h
 create mode 100644 UefiPayloadPkg/PayloadLoaderPeim/ElfLib/Elf64Lib.c
 create mode 100644 UefiPayloadPkg/PayloadLoaderPeim/ElfLib/ElfCommon.h
 create mode 100644 UefiPayloadPkg/PayloadLoaderPeim/ElfLib/ElfLib.c
 create mode 100644 UefiPayloadPkg/PayloadLoaderPeim/ElfLib/ElfLibInternal.h
 create mode 100644 UefiPayloadPkg/PayloadLoaderPeim/PayloadLoaderPeim.c
 create mode 100644 UefiPayloadPkg/PayloadLoaderPeim/PayloadLoaderPeim.inf

-- 
2.31.1.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#75598): https://edk2.groups.io/g/devel/message/75598
Mute This Topic: https://groups.io/mt/83095852/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] [PATCH 0/4] Support payload in ELF format
Posted by Steven Shi 2 years, 11 months ago
Is the CLANGDWARF a general toolchain? I suggest separating the CLANGDWARF toolchain code as a stand-alone patch.


Thanks

Steven Shi


> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Ni, Ray
> Sent: Wednesday, May 26, 2021 4:23 PM
> To: devel@edk2.groups.io
> Subject: [edk2-devel] [PATCH 0/4] Support payload in ELF format
> 
> Per universal payload spec, the payload is in ELF format.
> 
> The patch set adds toolchain CLANGDWARF for building ELF image and
> 
> adds a payload loader that can load ELF image.
> 
> Ray Ni (4):
>   BaseTools: Create CLANGDWARF toolchain
>   MdePkg/UniversalPayload: Add definition for extra info in payload
>   UefiPayloadPkg: Add PayloadLoaderPeim which can load ELF payload
>   PeiCore: Remove assertion when failing to load PE image
> 
>  BaseTools/Conf/build_rule.template            |  10 +-
>  BaseTools/Conf/tools_def.template             |  98 ++
>  MdeModulePkg/Core/Pei/Image/Image.c           |   5 +-
>  MdePkg/Include/UniversalPayload/ExtraData.h   |  28 +
>  .../UniversalPayload/UniversalPayload.h       |  38 +
>  MdePkg/MdePkg.dec                             |   3 +
>  UefiPayloadPkg/PayloadLoaderPeim/ElfLib.h     | 122 +++
>  .../PayloadLoaderPeim/ElfLib/Elf32.h          | 252 +++++
>  .../PayloadLoaderPeim/ElfLib/Elf32Lib.c       | 398 +++++++
>  .../PayloadLoaderPeim/ElfLib/Elf64.h          | 254 +++++
>  .../PayloadLoaderPeim/ElfLib/Elf64Lib.c       | 407 ++++++++
>  .../PayloadLoaderPeim/ElfLib/ElfCommon.h      | 983 ++++++++++++++++++
>  .../PayloadLoaderPeim/ElfLib/ElfLib.c         | 499 +++++++++
>  .../PayloadLoaderPeim/ElfLib/ElfLibInternal.h |  88 ++
>  .../PayloadLoaderPeim/PayloadLoaderPeim.c     | 187 ++++
>  .../PayloadLoaderPeim/PayloadLoaderPeim.inf   |  59 ++
>  16 files changed, 3426 insertions(+), 5 deletions(-)
>  create mode 100644 MdePkg/Include/UniversalPayload/ExtraData.h
>  create mode 100644 MdePkg/Include/UniversalPayload/UniversalPayload.h
>  create mode 100644 UefiPayloadPkg/PayloadLoaderPeim/ElfLib.h
>  create mode 100644 UefiPayloadPkg/PayloadLoaderPeim/ElfLib/Elf32.h
>  create mode 100644 UefiPayloadPkg/PayloadLoaderPeim/ElfLib/Elf32Lib.c
>  create mode 100644 UefiPayloadPkg/PayloadLoaderPeim/ElfLib/Elf64.h
>  create mode 100644 UefiPayloadPkg/PayloadLoaderPeim/ElfLib/Elf64Lib.c
>  create mode 100644
> UefiPayloadPkg/PayloadLoaderPeim/ElfLib/ElfCommon.h
>  create mode 100644 UefiPayloadPkg/PayloadLoaderPeim/ElfLib/ElfLib.c
>  create mode 100644
> UefiPayloadPkg/PayloadLoaderPeim/ElfLib/ElfLibInternal.h
>  create mode 100644
> UefiPayloadPkg/PayloadLoaderPeim/PayloadLoaderPeim.c
>  create mode 100644
> UefiPayloadPkg/PayloadLoaderPeim/PayloadLoaderPeim.inf
> 
> --
> 2.31.1.windows.1
> 
> 
> 
> -=-=-=-=-=-=
> Groups.io Links: You receive all messages sent to this group.
> View/Reply Online (#75598): https://edk2.groups.io/g/devel/message/75598
> Mute This Topic: https://groups.io/mt/83095852/1781003
> Group Owner: devel+owner@edk2.groups.io
> Unsubscribe: https://edk2.groups.io/g/devel/unsub [steven.shi@intel.com]
> -=-=-=-=-=-=
> 



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#75645): https://edk2.groups.io/g/devel/message/75645
Mute This Topic: https://groups.io/mt/83095852/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] [PATCH 0/4] Support payload in ELF format
Posted by Ni, Ray 2 years, 11 months ago
Steven,
Thanks for the comments. Yes, it's a general toolchain that can generate ELF executable.
I also received your comments to 1/4.
I will post V2 of 1/4 as a separate patch with your comments addressed.

Thanks,
Ray
> -----Original Message-----
> From: Shi, Steven <steven.shi@intel.com>
> Sent: Wednesday, May 26, 2021 6:53 PM
> To: devel@edk2.groups.io; Ni, Ray <ray.ni@intel.com>
> Subject: RE: [edk2-devel] [PATCH 0/4] Support payload in ELF format
> 
> Is the CLANGDWARF a general toolchain? I suggest separating the CLANGDWARF toolchain code as a stand-alone patch.
> 
> 
> Thanks
> 
> Steven Shi
> 
> 
> > -----Original Message-----
> > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Ni, Ray
> > Sent: Wednesday, May 26, 2021 4:23 PM
> > To: devel@edk2.groups.io
> > Subject: [edk2-devel] [PATCH 0/4] Support payload in ELF format
> >
> > Per universal payload spec, the payload is in ELF format.
> >
> > The patch set adds toolchain CLANGDWARF for building ELF image and
> >
> > adds a payload loader that can load ELF image.
> >
> > Ray Ni (4):
> >   BaseTools: Create CLANGDWARF toolchain
> >   MdePkg/UniversalPayload: Add definition for extra info in payload
> >   UefiPayloadPkg: Add PayloadLoaderPeim which can load ELF payload
> >   PeiCore: Remove assertion when failing to load PE image
> >
> >  BaseTools/Conf/build_rule.template            |  10 +-
> >  BaseTools/Conf/tools_def.template             |  98 ++
> >  MdeModulePkg/Core/Pei/Image/Image.c           |   5 +-
> >  MdePkg/Include/UniversalPayload/ExtraData.h   |  28 +
> >  .../UniversalPayload/UniversalPayload.h       |  38 +
> >  MdePkg/MdePkg.dec                             |   3 +
> >  UefiPayloadPkg/PayloadLoaderPeim/ElfLib.h     | 122 +++
> >  .../PayloadLoaderPeim/ElfLib/Elf32.h          | 252 +++++
> >  .../PayloadLoaderPeim/ElfLib/Elf32Lib.c       | 398 +++++++
> >  .../PayloadLoaderPeim/ElfLib/Elf64.h          | 254 +++++
> >  .../PayloadLoaderPeim/ElfLib/Elf64Lib.c       | 407 ++++++++
> >  .../PayloadLoaderPeim/ElfLib/ElfCommon.h      | 983 ++++++++++++++++++
> >  .../PayloadLoaderPeim/ElfLib/ElfLib.c         | 499 +++++++++
> >  .../PayloadLoaderPeim/ElfLib/ElfLibInternal.h |  88 ++
> >  .../PayloadLoaderPeim/PayloadLoaderPeim.c     | 187 ++++
> >  .../PayloadLoaderPeim/PayloadLoaderPeim.inf   |  59 ++
> >  16 files changed, 3426 insertions(+), 5 deletions(-)
> >  create mode 100644 MdePkg/Include/UniversalPayload/ExtraData.h
> >  create mode 100644 MdePkg/Include/UniversalPayload/UniversalPayload.h
> >  create mode 100644 UefiPayloadPkg/PayloadLoaderPeim/ElfLib.h
> >  create mode 100644 UefiPayloadPkg/PayloadLoaderPeim/ElfLib/Elf32.h
> >  create mode 100644 UefiPayloadPkg/PayloadLoaderPeim/ElfLib/Elf32Lib.c
> >  create mode 100644 UefiPayloadPkg/PayloadLoaderPeim/ElfLib/Elf64.h
> >  create mode 100644 UefiPayloadPkg/PayloadLoaderPeim/ElfLib/Elf64Lib.c
> >  create mode 100644
> > UefiPayloadPkg/PayloadLoaderPeim/ElfLib/ElfCommon.h
> >  create mode 100644 UefiPayloadPkg/PayloadLoaderPeim/ElfLib/ElfLib.c
> >  create mode 100644
> > UefiPayloadPkg/PayloadLoaderPeim/ElfLib/ElfLibInternal.h
> >  create mode 100644
> > UefiPayloadPkg/PayloadLoaderPeim/PayloadLoaderPeim.c
> >  create mode 100644
> > UefiPayloadPkg/PayloadLoaderPeim/PayloadLoaderPeim.inf
> >
> > --
> > 2.31.1.windows.1
> >
> >
> >
> > -=-=-=-=-=-=
> > Groups.io Links: You receive all messages sent to this group.
> > View/Reply Online (#75598): https://edk2.groups.io/g/devel/message/75598
> > Mute This Topic: https://groups.io/mt/83095852/1781003
> > Group Owner: devel+owner@edk2.groups.io
> > Unsubscribe: https://edk2.groups.io/g/devel/unsub [steven.shi@intel.com]
> > -=-=-=-=-=-=
> >



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#75810): https://edk2.groups.io/g/devel/message/75810
Mute This Topic: https://groups.io/mt/83095852/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-