Branch: refs/heads/master
  Home:   https://github.com/tianocore/edk2
  Commit: a64b944942d828fe98e4843929662aad7f47bcca
      
https://github.com/tianocore/edk2/commit/a64b944942d828fe98e4843929662aad7f47bcca
  Author: Chen, Christine <yuwei.c...@intel.com>
  Date:   2022-05-06 (Fri, 06 May 2022)

  Changed paths:
    A BaseTools/BinWrappers/PosixLike/FMMT
    A BaseTools/BinWrappers/WindowsLike/FMMT.bat
    A BaseTools/Source/Python/FMMT/FMMT.py
    A BaseTools/Source/Python/FMMT/FmmtConf.ini
    A BaseTools/Source/Python/FMMT/Img/FirmwareVolumeFormat.png
    A BaseTools/Source/Python/FMMT/Img/NodeTreeFormat.png
    A BaseTools/Source/Python/FMMT/README.md
    A BaseTools/Source/Python/FMMT/__init__.py
    A BaseTools/Source/Python/FMMT/core/BinaryFactoryProduct.py
    A BaseTools/Source/Python/FMMT/core/BiosTree.py
    A BaseTools/Source/Python/FMMT/core/BiosTreeNode.py
    A BaseTools/Source/Python/FMMT/core/FMMTOperation.py
    A BaseTools/Source/Python/FMMT/core/FMMTParser.py
    A BaseTools/Source/Python/FMMT/core/FvHandler.py
    A BaseTools/Source/Python/FMMT/core/GuidTools.py
    A BaseTools/Source/Python/FMMT/utils/FmmtLogger.py
    A BaseTools/Source/Python/FMMT/utils/FvLayoutPrint.py
    A BaseTools/Source/Python/FirmwareStorageFormat/Common.py
    A BaseTools/Source/Python/FirmwareStorageFormat/FfsFileHeader.py
    A BaseTools/Source/Python/FirmwareStorageFormat/FvHeader.py
    A BaseTools/Source/Python/FirmwareStorageFormat/SectionHeader.py
    A BaseTools/Source/Python/FirmwareStorageFormat/__init__.py

  Log Message:
  -----------
  BaseTools: Add FMMT Python Tool

The FMMT python tool is used for firmware files operation, which has
the Fv/FFs-based 'View'&'Add'&'Delete'&'Replace' operation function:

1.Parse a FD(Firmware Device) / FV(Firmware Volume) / FFS(Firmware Files)
2.Add a new FFS into a FV file (both included in a FD file or not)
3.Replace an FFS in a FV file with a new FFS file
4.Delete an FFS in a FV file (both included in a FD file or not)
5.Extract the FFS from a FV file (both included in a FD file or not)

This version of FMMT Python tool does not support PEIM rebase feature,
this feature will be added in future update.

Currently the FMMT C tool is saved in edk2-staging repo, but its
quality and coding style can't meet the Edk2 quality, which is hard to
maintain (Hard/Duplicate Code; Regression bugs; Restrict usage).

The new Python version keeps same functions with origin C version. It
has higher quality and better coding style, and it is much easier to
extend new functions and to maintain.

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1847
RFC Link: https://edk2.groups.io/g/devel/message/82877
Staging Link: https://github.com/tianocore/edk2-staging/tree/PyFMMT

Cc: Bob Feng <bob.c.f...@intel.com>
Cc: Liming Gao <gaolim...@byosoft.com.cn>
Signed-off-by: Yuwei Chen <yuwei.c...@intel.com>
Reviewed-by: Bob Feng <bob.c.f...@intel.com>
Acked-by: Liming Gao <gaolim...@byosoft.com.cn>




_______________________________________________
edk2-commits mailing list
edk2-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to