<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2.git/BaseTools/BinWrappers, branch dependabot/github_actions/github/codeql-action-4</title>
<subtitle>EDK II (mirror)</subtitle>
<id>https://git.radix-linux.su/Tianocore/edk2.git/atom?h=dependabot%2Fgithub_actions%2Fgithub%2Fcodeql-action-4</id>
<link rel='self' href='https://git.radix-linux.su/Tianocore/edk2.git/atom?h=dependabot%2Fgithub_actions%2Fgithub%2Fcodeql-action-4'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/'/>
<updated>2022-05-06T04:22:21+00:00</updated>
<entry>
<title>BaseTools: Add FMMT Python Tool</title>
<updated>2022-05-06T04:22:21+00:00</updated>
<author>
<name>Chen, Christine</name>
<email>Yuwei.Chen@intel.com</email>
</author>
<published>2022-04-28T12:49:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=a64b944942d828fe98e4843929662aad7f47bcca'/>
<id>urn:sha1:a64b944942d828fe98e4843929662aad7f47bcca</id>
<content type='text'>
The FMMT python tool is used for firmware files operation, which has
the Fv/FFs-based 'View'&amp;'Add'&amp;'Delete'&amp;'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 &lt;bob.c.feng@intel.com&gt;
Cc: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
Signed-off-by: Yuwei Chen &lt;yuwei.chen@intel.com&gt;
Reviewed-by: Bob Feng &lt;bob.c.feng@intel.com&gt;
Acked-by: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
</content>
</entry>
<entry>
<title>BaseTools: Fix BrotliCompress run issue on Linux</title>
<updated>2021-02-22T09:51:17+00:00</updated>
<author>
<name>Yunhua Feng</name>
<email>fengyunhua@byosoft.com.cn</email>
</author>
<published>2021-02-04T08:36:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=078400ee15e7b250e4dfafd840c2e0c19835e16b'/>
<id>urn:sha1:078400ee15e7b250e4dfafd840c2e0c19835e16b</id>
<content type='text'>
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3210
BrotliCompress changed, but not completely on Linux

Cc: Bob Feng &lt;bob.c.feng@intel.com&gt;
Cc: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
Cc: Yuwei Chen &lt;yuwei.chen@intel.com&gt;
Signed-off-by: Yunhua Feng &lt;fengyunhua@byosoft.com.cn&gt;
Reviewed-by: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
</content>
</entry>
<entry>
<title>BaseTools: Use pip module if available, CI uses it by default</title>
<updated>2021-02-09T03:56:37+00:00</updated>
<author>
<name>Matthew Carlson</name>
<email>matthewfcarlson@gmail.com</email>
</author>
<published>2021-02-09T00:50:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=1534b6228b0932d745bf6ec9fd4cb010800b92f2'/>
<id>urn:sha1:1534b6228b0932d745bf6ec9fd4cb010800b92f2</id>
<content type='text'>
Use the new edk2-basetools pip module.
Includes a helpful message in setup to let users know which has been
selected.

Cc: Bob Feng &lt;bob.c.feng@intel.com&gt;
Cc: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
Cc: Yuwei Chen &lt;yuwei.chen@intel.com&gt;

Reviewed-by: Bob Feng &lt;bob.c.feng@intel.com&gt;
Reviewed-by: Yuwei &lt;Chen&lt;yuwei.chen@intel.com&gt;

Signed-off-by: Matthew Carlson &lt;matthewfcarlson@gmail.com&gt;
</content>
</entry>
<entry>
<title>BaseTools: Convert Split tool to python</title>
<updated>2021-01-21T10:19:09+00:00</updated>
<author>
<name>Bob Feng</name>
<email>bob.c.feng@intel.com</email>
</author>
<published>2021-01-13T03:12:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=5b4a97bbc39ed8e7eb50038b9cffe2e948e49995'/>
<id>urn:sha1:5b4a97bbc39ed8e7eb50038b9cffe2e948e49995</id>
<content type='text'>
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3165

There are 2 reasons to convert Split tool from C to Python.
1. We are in the process of moving the Basetools Python code
to a separate repository. But there still are many C tools under
edk2/BaseTools. To make all Basetools be in the separate repo,
we can convert the C tools to Python tools.
2. The original Split tool is very slow. This python tool can reduce
90% time.

Signed-off-by: Bob Feng &lt;bob.c.feng@intel.com&gt;
Cc: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
Cc: Yuwei Chen &lt;yuwei.chen@intel.com&gt;

Reviewed-by: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
Reviewed-by: Yuwei Chen &lt;yuwei.chen@intel.com&gt;
</content>
</entry>
<entry>
<title>BaseTools: Fix BrotliCompress tool issue</title>
<updated>2020-11-13T06:23:56+00:00</updated>
<author>
<name>Yunhua Feng</name>
<email>fengyunhua@byosoft.com.cn</email>
</author>
<published>2020-11-10T02:41:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=662b42db76a5b195c3aa94ab2946e342a15cd185'/>
<id>urn:sha1:662b42db76a5b195c3aa94ab2946e342a15cd185</id>
<content type='text'>
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2946

This is the regression issue in BaseTools BrotliCompress after Brotli
is changed to submodule. BrotliCompress should store the source size
and scratch buffer size into the header of the compressed binary data.
But now, BrotliCompress doesn't store them. So, BrotliDecompress
can't work.

To fix this issue, BrotliCompress tool main() function should be provided.
It needs to support the options of -e, -d, -o file, -g gap, -q level.

Cc: Bob Feng &lt;bob.c.feng@intel.com&gt;
Cc: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
Cc: Yuwei Chen &lt;yuwei.chen@intel.com&gt;
Signed-off-by: Yunhua Feng &lt;fengyunhua@byosoft.com.cn&gt;
Reviewed-by: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
</content>
</entry>
<entry>
<title>BaseTools: Rename AmlToHex script to AmlToC</title>
<updated>2020-07-02T10:09:17+00:00</updated>
<author>
<name>Pierre Gondois</name>
<email>pierre.gondois@arm.com</email>
</author>
<published>2020-07-01T14:06:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=88228db38ead6836da7a8d24e11569d5fab54c54'/>
<id>urn:sha1:88228db38ead6836da7a8d24e11569d5fab54c54</id>
<content type='text'>
The AmlToHex script and Posix/WindowsLike wrappers convert
an AML file to a .hex file, containing a C array storing
AML bytecode. This ".hex" file can then be included in a
C file, allowing to access the AML bytecode from this C
file.

The EDK2 build system doesn't allow to a depict dependency
orders between files of different languages. For instance,
in a module containing a ".c" file and a ".asl", the ".c"
file may or may not be built prior to the ".asl" file.
This prevents any inclusion of a generated ".hex" in a
".c" file since this later ".hex" file may or may not
have been created yet.

This patch renames the script as AmlToC. It is posted as
a separate patch to prevent git from seeing the renaming
as a deletion plus addition of a new file.
The ending line of the posix-like bin-wrapper script has
also been corrected.

This is a first step toward generating a C file containing
the AML bytecode from an ASL file. This C file will then
be handled by the EDK2 build system to generate an object
file.
Thus, no file inclusion will be required anymore. The C file
requiring the AML bytecode as a C array, and the ASL file,
will be compiled independently. The C array must be defined
as an external symbol. The linker is resolving the
reference to the C array symbol.

To summarize, the flow goes as:
 -1. ASL file is compiled to AML;
 -2. AML file is copied to a ".amli" intermediate file;
 -3. EDK2 build system applies the rule relevant to ".amli"
     files. This is, calling the "AmlToC" script, generating
     a C file from the ".amli" file;
 -4. EDK2 build system applies the rule relevant to C files.
     This is creating an object file.
 -5. EDK2 build system links the object file containing the
     AML bytecode with the object file requiring it.

Signed-off-by: Pierre Gondois &lt;Pierre.Gondois@arm.com&gt;
Suggested-by: Tomas Pilar &lt;Tomas.Pilar@arm.com&gt;

Reviewed-by: Bob Feng &lt;bob.c.feng@intel.com&gt;
</content>
</entry>
<entry>
<title>BaseTools: Script for converting .aml to .hex</title>
<updated>2020-02-06T13:52:11+00:00</updated>
<author>
<name>Pierre Gondois</name>
<email>pierre.gondois@arm.com</email>
</author>
<published>2020-02-05T14:52:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=1549651da623aa35c745bd1f283c907324bd6cc9'/>
<id>urn:sha1:1549651da623aa35c745bd1f283c907324bd6cc9</id>
<content type='text'>
The "-tc" option of the iasl compiler allows to generate a
.hex file containing a C array storing AML bytecode.

An online discussion suggested that this "-tc" option
was specific to the iasl compiler and it shouldn't be relied
on. This conversation is available at:
https://edk2.groups.io/g/devel/topic/39786201#49659

A way to address this issue is to implement a compiler
independent script that takes an AML file as input, and
generates a .hex file.

This patch implements a Python script that converts an AML
file to a .hex file, containing a C array storing AML bytecode.
This scipt has been tested with the AML output from the
following compilers supported by the EDKII implementation:
  * Intel ASL compiler
  * Microsoft ASL compiler

Signed-off-by: Pierre Gondois &lt;pierre.gondois@arm.com&gt;
Reviewed-by: Bob Feng &lt;bob.c.feng@intel.com&gt;
</content>
</entry>
<entry>
<title>BaseTools: Add YAML files with path env and tool extdeps</title>
<updated>2019-11-11T21:01:53+00:00</updated>
<author>
<name>Sean Brogan</name>
<email>sean.brogan@microsoft.com</email>
</author>
<published>2019-10-08T01:37:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=f7978bb25869408ab24673beb9f83d9b81f8061c'/>
<id>urn:sha1:f7978bb25869408ab24673beb9f83d9b81f8061c</id>
<content type='text'>
https://bugzilla.tianocore.org/show_bug.cgi?id=2315

Cc: Bob Feng &lt;bob.c.feng@intel.com&gt;
Cc: Liming Gao &lt;liming.gao@intel.com&gt;
Signed-off-by: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
Reviewed-by: Liming Gao &lt;liming.gao@intel.com&gt;
</content>
</entry>
<entry>
<title>Revert "BaseTools/BfmLib: Add a tool BfmLib"</title>
<updated>2019-07-11T03:17:48+00:00</updated>
<author>
<name>Liming Gao</name>
<email>liming.gao@intel.com</email>
</author>
<published>2019-07-10T15:25:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=28781fd52a966ad38e7cd65c5f7f81226f259ac2'/>
<id>urn:sha1:28781fd52a966ad38e7cd65c5f7f81226f259ac2</id>
<content type='text'>
This reverts commit dc7b0dc8d662b3bedece2cf1015e2a94884cb111.
There are the concerns on code design and code quality, and
request to rewrite FCE, BfmLib and FMMT for the review.

Cc: Leif Lindholm &lt;leif.lindholm@linaro.org&gt;
Cc: Feng Bob C &lt;bob.c.feng@intel.com&gt;
Signed-off-by: Liming Gao &lt;liming.gao@intel.com&gt;
Reviewed-by: Feng Bob C &lt;bob.c.feng@intel.com&gt;
</content>
</entry>
<entry>
<title>Revert "BaseTools/FCE: Add a tool FCE"</title>
<updated>2019-07-11T03:17:46+00:00</updated>
<author>
<name>Liming Gao</name>
<email>liming.gao@intel.com</email>
</author>
<published>2019-07-10T15:25:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=064daac0c69049993f7dbdaf9864a812a0205dfd'/>
<id>urn:sha1:064daac0c69049993f7dbdaf9864a812a0205dfd</id>
<content type='text'>
This reverts commit 3c59d94637adbfdd497b5a2c16073c7dc62b669c.
There are the concerns on code design and code quality, and
request to rewrite FCE, BfmLib and FMMT for the review.

Cc: Leif Lindholm &lt;leif.lindholm@linaro.org&gt;
Cc: Feng Bob C &lt;bob.c.feng@intel.com&gt;
Signed-off-by: Liming Gao &lt;liming.gao@intel.com&gt;
Reviewed-by: Feng Bob C &lt;bob.c.feng@intel.com&gt;
</content>
</entry>
</feed>
