<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2.git/FmpDevicePkg, branch dependabot/github_actions/actions/setup-python-7</title>
<subtitle>EDK II (mirror)</subtitle>
<id>https://git.radix-linux.su/Tianocore/edk2.git/atom?h=dependabot%2Fgithub_actions%2Factions%2Fsetup-python-7</id>
<link rel='self' href='https://git.radix-linux.su/Tianocore/edk2.git/atom?h=dependabot%2Fgithub_actions%2Factions%2Fsetup-python-7'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/'/>
<updated>2026-07-20T05:44:52+00:00</updated>
<entry>
<title>FmpDevicePkg/FmpDxe: Reduce NV variable reads for FMP state</title>
<updated>2026-07-20T05:44:52+00:00</updated>
<author>
<name>Shubham Kumar</name>
<email>kumarshubha@microsoft.com</email>
</author>
<published>2026-07-01T10:58:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=dc52b0c75bd299ea3bc4c6273d3dfeb26253c001'/>
<id>urn:sha1:dc52b0c75bd299ea3bc4c6273d3dfeb26253c001</id>
<content type='text'>
In PopulateDescriptor(), each FMP device previously called
GetFmpControllerState() multiple times through individual getter
functions (GetVersionFromVariable, GetLowestSupportedVersionFromVariable,
etc.), each performing a separate GetVariable() call to read the same
FmpControllerState NV variable.

Rename the getter functions to *FromFmpControllerState and simplify
them to pure field extractors that take a required FMP_CONTROLLER_STATE
pointer. Each getter extracts the field value if the state is non-NULL
and the field is valid, returning a default otherwise. No getter calls
GetFmpControllerState() internally.

PopulateDescriptor() now calls GetFmpControllerState() once and passes
the result to all getters, then frees it after the last use. This
eliminates redundant NV reads when the variable exists and avoids
repeated failed reads and error messages when the variable does not
exist.

Signed-off-by: Shubham Kumar &lt;kumarshubha@microsoft.com&gt;
</content>
</entry>
<entry>
<title>FmpDevicePkg: Replace include guards with #pragma once</title>
<updated>2026-02-23T21:01:28+00:00</updated>
<author>
<name>Michael Kubacki</name>
<email>michael.kubacki@microsoft.com</email>
</author>
<published>2026-02-03T18:28:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=58ace50a43097df8408d41aec81e4b47a5a79cfc'/>
<id>urn:sha1:58ace50a43097df8408d41aec81e4b47a5a79cfc</id>
<content type='text'>
Replace traditional `#ifndef`/`#define`/`#endif` include guards with
`#pragma` once.

`#pragma once` is a widely supported preprocessor directive that
prevents header files from being included multiple times. It is
supported by all toolchains used to build edk2: GCC, Clang/LLVM, and
MSVC.

Compared to macro-based include guards, `#pragma once`:

- Eliminates the risk of macro name collisions or copy/paste errors
  where two headers inadvertently use the same guard macro.
- Eliminate inconsistency in the way include guard macros are named
  (e.g., some files use `__FILE_H__`, others use `FILE_H_`, etc.).
- Reduces boilerplate (three lines replaced by one).
- Avoids polluting the macro namespace with guard symbols.
- Can improve build times as the preprocessor can skip re-opening the
  file entirely, rather than re-reading it to find the matching
  `#endif` ("multiple-include optimization").
  - Note that some compilers may already optimize traditional include
    guards, by recognzining the idiomatic pattern.

This change is made acknowledging that overall portability of the
code will technically be reduced, as `#pragma once` is not part of the
C/C++ standards.

However, this is considered acceptable given:

1. edk2 already defines a subset of supported compilers in
   BaseTools/Conf/tools_def.template, all of which have supported
   `#pragma once` for over two decades.
2. There have been concerns raised to the project about inconsistent
   include guard naming and potential macro collisions.

Approximate compiler support dates:

- MSVC: Supported since Visual C++ 4.2 (1996)
- GCC: Supported since 3.4 (2004)
  (http://gnu.ist.utl.pt/software/gcc/gcc-3.4/changes.html)
- Clang (LLVM based): Since initial release in 2007

Signed-off-by: Michael Kubacki &lt;michael.kubacki@microsoft.com&gt;
</content>
</entry>
<entry>
<title>FmpDevicePkg: GetImageInfo Add missing conditions</title>
<updated>2025-11-03T07:48:00+00:00</updated>
<author>
<name>Pethaiyan Madhan</name>
<email>madhan.pethaiyan@intel.com</email>
</author>
<published>2024-04-23T12:51:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=cb8c8c928558fa56224dee7e0c393cd663ee1aa3'/>
<id>urn:sha1:cb8c8c928558fa56224dee7e0c393cd663ee1aa3</id>
<content type='text'>
REF: UEFI spec v2.10 23.1.2
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4660

1.For EFI_FIRMWARE_MANAGEMENT_PROTOCOL.GetImage():
Add the following sentence at the end of the Image parameter
description. "May be NULL with a zero ImageSize in order to determine
the size of the buffer needed".

Modify the description of "EFI_INVALID_PARAMETER" return code as "The
ImageSize is not too small and Image is NULL."

2.For EFI_FIRMWARE_MANAGEMENT_PROTOCOL.GetImageInfo():
Add the following sentence at the end of the ImageInfo parameter
description."May be NULL with a zero ImageInfoSize in order to
determine the size of the buffer needed".

Modify the description of "EFI_INVALID_PARAMETER" return code as "The
ImageInfoSize is not too small and Image is NULL." and add new
descriptions for "EFI_INVALID_PARAMETER" return code.

Cc: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
Cc: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
Cc: Zhiguang Liu &lt;zhiguang.liu@intel.com&gt;
Cc: Yi Li &lt;yi1.li@intel.com&gt;
Signed-off-by: Pethaiyan Madhan &lt;madhan.pethaiyan@intel.com&gt;
</content>
</entry>
<entry>
<title>FmpDevicePkg: Drop ARM32 Support</title>
<updated>2025-09-25T22:04:10+00:00</updated>
<author>
<name>Oliver Smith-Denny</name>
<email>osde@microsoft.com</email>
</author>
<published>2025-09-15T14:57:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=2c059facb3772be3ce8a05fccf26323d935719aa'/>
<id>urn:sha1:2c059facb3772be3ce8a05fccf26323d935719aa</id>
<content type='text'>
edk2 is dropping support for the ARM32 architecture. This
commit removes ARM32 code from FmpDevicePkg. This also drops
irrelevant VALID_ARCHITECTURES comments from infs that are
not arch specific.

Signed-off-by: Oliver Smith-Denny &lt;osde@microsoft.com&gt;
</content>
</entry>
<entry>
<title>FmpDevicePkg/FmpDxe: Improve handling of XDR certs</title>
<updated>2025-09-24T00:02:41+00:00</updated>
<author>
<name>Antaeus Kleinert-Strand</name>
<email>antklein@microsoft.com</email>
</author>
<published>2025-09-18T01:51:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=17691a2641c2715fc1196aa1b0fe85b85db6c240'/>
<id>urn:sha1:17691a2641c2715fc1196aa1b0fe85b85db6c240</id>
<content type='text'>
The current implementation for XDR certificate handling assumes the
PublicKeyDataXdr buffer is 4-byte aligned. This is not always the case.
For example, if PublicKeyDataXdr=0x02, and the length is 0x05, the
correct offset should be 0x2 + align_up(0x5, 4) -&gt; 0x2 + 0x8 = 0xA. The
current logic produces align_up(0x2 + 0x5, 4) -&gt; align_up(0x7, 4) = 0x8.

Signed-off-by: Antaeus Kleinert-Strand &lt;antklein@microsoft.com&gt;
</content>
</entry>
<entry>
<title>FmpDevicePkg/Library: Correct comment description</title>
<updated>2025-09-10T01:36:29+00:00</updated>
<author>
<name>Damien-Chen</name>
<email>inkfan130924783@gmail.com</email>
</author>
<published>2025-07-10T12:31:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=9b931ae81fccfb98b800f059132f2a2c4c30f85c'/>
<id>urn:sha1:9b931ae81fccfb98b800f059132f2a2c4c30f85c</id>
<content type='text'>
Correct comment description.
Signed-off-by: Damien Chen &lt;inkfan130924783@gmail.com&gt;
</content>
</entry>
<entry>
<title>FmpDevicePkg: Clarify return status of FMP Protocol GetImage()</title>
<updated>2025-01-09T04:40:45+00:00</updated>
<author>
<name>INDIA\sachinganesh</name>
<email>sachinganesh@ami.com</email>
</author>
<published>2024-10-17T20:27:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=768adcd9c1483203a089078767fb0ef1d0048c3d'/>
<id>urn:sha1:768adcd9c1483203a089078767fb0ef1d0048c3d</id>
<content type='text'>
Clarifed the return status of EFI_FIRMWARE_MANAGEMENT_PROTOCOL.GetImage().
As intended in UEFI 2.10 Specification.

Signed-off-by: Sachin Ganesh &lt;sachinganesh@ami.com&gt;
</content>
</entry>
<entry>
<title>Remove all ArmSoftFloatLib library class resolutions</title>
<updated>2024-11-26T22:00:36+00:00</updated>
<author>
<name>Ard Biesheuvel</name>
<email>ardb@kernel.org</email>
</author>
<published>2024-08-29T18:31:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=e54794bcc63e87e2405745306708949b54754b6e'/>
<id>urn:sha1:e54794bcc63e87e2405745306708949b54754b6e</id>
<content type='text'>
ArmSoftFloatLib is going away, so remove all residual references to it.

Continuous-integration-options: PatchCheck.ignore-multi-package
Signed-off-by: Ard Biesheuvel &lt;ardb@kernel.org&gt;
</content>
</entry>
<entry>
<title>FmpDevicePkg/FmpDependencyLib: Fix potential overflow in loop</title>
<updated>2024-10-09T02:13:56+00:00</updated>
<author>
<name>Michael Kubacki</name>
<email>michael.kubacki@microsoft.com</email>
</author>
<published>2024-10-03T04:02:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=06da7daab1eb129a1bf3eb93ed74c102d1587071'/>
<id>urn:sha1:06da7daab1eb129a1bf3eb93ed74c102d1587071</id>
<content type='text'>
FmpVersionsCount is a UINTN while the loop index variable compared
against it is a UINT8. This can lead to an overflow of the loop
index for FmpVersionsCount values larger than UINT8_MAX. This change
makes Index a UINTN to match in width.

Signed-off-by: Michael Kubacki &lt;michael.kubacki@microsoft.com&gt;
</content>
</entry>
<entry>
<title>FmpDevicePkg: Add StackCheckLibNull</title>
<updated>2024-09-13T03:58:46+00:00</updated>
<author>
<name>Oliver Smith-Denny</name>
<email>osde@linux.microsoft.com</email>
</author>
<published>2024-07-23T22:35:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=715a695c3d0c6058efc308a585c15bcbdc8af4c7'/>
<id>urn:sha1:715a695c3d0c6058efc308a585c15bcbdc8af4c7</id>
<content type='text'>
Remove the old stack check lib now that MdeLibs.inc includes
the new one.

Signed-off-by: Oliver Smith-Denny &lt;osde@linux.microsoft.com&gt;
</content>
</entry>
</feed>
