<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2.git/RedfishPkg/Library, branch master</title>
<subtitle>EDK II (mirror)</subtitle>
<id>https://git.radix-linux.su/Tianocore/edk2.git/atom?h=master</id>
<link rel='self' href='https://git.radix-linux.su/Tianocore/edk2.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/'/>
<updated>2026-09-25T12:42:52+00:00</updated>
<entry>
<title>RedfishPkg/HiiUtilityLib: Fix memory leak in HiiUtilityInternal</title>
<updated>2026-09-25T12:42:52+00:00</updated>
<author>
<name>Qihang Gao</name>
<email>gaoqihang@loongson.cn</email>
</author>
<published>2026-09-18T07:56:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=358e0a5a878b25154c3dd310232ed31edfd2c1db'/>
<id>urn:sha1:358e0a5a878b25154c3dd310232ed31edfd2c1db</id>
<content type='text'>
StrValue is obtained from HiiGetString(), which allocates a new string
buffer. The buffer is used to set DefaultValue-&gt;Buffer but is never
released, causing a memory leak each time this code path is executed.

Add FreePool (StrValue) after it is no longer needed.

No functional change intended.

Signed-off-by: Qihang Gao &lt;gaoqihang@loongson.cn&gt;
</content>
</entry>
<entry>
<title>RedfishPkg: Remove unnecessary Depex section in library modules</title>
<updated>2026-06-29T16:41:24+00:00</updated>
<author>
<name>Qihang Gao</name>
<email>gaoqihang@loongson.cn</email>
</author>
<published>2026-04-29T07:33:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=97f069bf30dc821ae2c8f90d2f9c741ad4ee9247'/>
<id>urn:sha1:97f069bf30dc821ae2c8f90d2f9c741ad4ee9247</id>
<content type='text'>
Libraries that may be consumed by UEFI_DRIVER should not have depex
section for UEFI_DRIVER. The INF specification said: If the Module is
a Library, then a [Depex] section is optional. Regarding HiiUtilityLib,
RedfishDebugLib and RedfishHttpLib, they don't have additional dependence,
so the Depex sections should be removed to ensure no adverse impact on
the UEFI_DRIVER.

Signed-off-by: Qihang Gao &lt;gaoqihang@loongson.cn&gt;
</content>
</entry>
<entry>
<title>RedfishPkg: 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:59:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=6181c85fa98fd1ea9e7292ad5390a2ec4f1da318'/>
<id>urn:sha1:6181c85fa98fd1ea9e7292ad5390a2ec4f1da318</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>RedfishPkg/RedfishPlatformConfig: Fix CLANGPDB build failure</title>
<updated>2026-01-22T01:27:21+00:00</updated>
<author>
<name>Abner Chang</name>
<email>abner.chang@amd.com</email>
</author>
<published>2026-01-17T01:57:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=60bfa52f6520bff0aa265c3e89ef9d6f6aeca5e7'/>
<id>urn:sha1:60bfa52f6520bff0aa265c3e89ef9d6f6aeca5e7</id>
<content type='text'>
CLANGPDB build fails because the intrinsic _memcpy is used by
the compiler for the value structure passed via a function.
Change the code to use the value reference.

This fixes the issue: #11882

Signed-off-by: Abner Chang &lt;abner.chang@amd.com&gt;
</content>
</entry>
<entry>
<title>RedfishPkg: 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:55:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=470a80094c7bea460cfb66d2b804d7404ada3345'/>
<id>urn:sha1:470a80094c7bea460cfb66d2b804d7404ada3345</id>
<content type='text'>
edk2 is dropping support for the ARM32 architecture. This
commit drops ARM32 code from RedfishPkg. This also drops
irrelevant VALID_ARCHITECTURES comments in infs that are
not arch specific.

Signed-off-by: Oliver Smith-Denny &lt;osde@microsoft.com&gt;
</content>
</entry>
<entry>
<title>RedfishPkg/JsonLib: Define NO_MSABI_VA_FUNCS for GCC X64</title>
<updated>2025-09-19T10:54:10+00:00</updated>
<author>
<name>Michael D Kinney</name>
<email>michael.d.kinney@intel.com</email>
</author>
<published>2025-09-05T00:03:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=82a03a824824a348fbbff7de680e15284bfc61a4'/>
<id>urn:sha1:82a03a824824a348fbbff7de680e15284bfc61a4</id>
<content type='text'>
For GCC family X64 builds, add -DNO_MSABI_VA_FUNCS to force
use of the compiler default vararg macros. This define is
required in libraries that use a standard C source submodule
and there are one or more vararg functions. The calling
convention of the vararg function must match the calling
convention of the vararg macros used within the vararg
function.

In the JsonLib case, jsonp_error_set() is a vararg function
and generates the following error for CLANGDWARF X64 builds.

RedfishPkg/Library/JsonLib/jansson/src/error.c:37:5:
error: '__builtin_ms_va_start' used in System V ABI function
37 |     va_start(ap, msg);
   |     ^

This change matches CryptoPkg openssl and mbedtls library
INF files that also define NO_MSABI_VA_FUNCS.

Signed-off-by: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
</content>
</entry>
<entry>
<title>RedfishPkg/JsonLib: Use same defines for MSFT and GCC families</title>
<updated>2025-06-13T15:47:59+00:00</updated>
<author>
<name>Michael D Kinney</name>
<email>michael.d.kinney@intel.com</email>
</author>
<published>2025-05-19T20:21:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=02e967f1e462a540f430b77248516322189e9b63'/>
<id>urn:sha1:02e967f1e462a540f430b77248516322189e9b63</id>
<content type='text'>
CLANGPDB and CLANGDWARF are in GCC family. When CLANGPDB or
CLANGDWARF are used from windows host, the same defines and
undefines must be applied to GCC family for CLANG builds.

This resolves CLANG 20.1.0 build errors.

Signed-off-by: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
</content>
</entry>
<entry>
<title>RedfishPkg: introduce platform wanted device lib</title>
<updated>2025-05-01T23:05:21+00:00</updated>
<author>
<name>Nickle Wang</name>
<email>nicklew@nvidia.com</email>
</author>
<published>2025-04-24T02:40:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=b2c4294c496e6f06125fa48df223448ba8375118'/>
<id>urn:sha1:b2c4294c496e6f06125fa48df223448ba8375118</id>
<content type='text'>
Introduce platform wanted device lib to RedfishPkg. This library
provide the flexibility for platform owner to device which device we like
to support Redfish service. This helps to reduce boot time and resource
on devices that is not host interface.

A null library is implemented and it accepts all devices as default
behavior.

Signed-off-by: Nickle Wang &lt;nicklew@nvidia.com&gt;
</content>
</entry>
<entry>
<title>RedfishPkg: Populate serial number in SMBIOS type 42 record</title>
<updated>2025-04-02T03:32:19+00:00</updated>
<author>
<name>Thejaswani Putta</name>
<email>tputta@nvidia.com</email>
</author>
<published>2025-04-02T00:42:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=4a055eb4863cee8fa0cba830b2865a826e45288f'/>
<id>urn:sha1:4a055eb4863cee8fa0cba830b2865a826e45288f</id>
<content type='text'>
Add a stub function to read host interface USB serial number,
append serial number to SMBIOS type 42 record if valid data
is returned.

Signed-off-by: Thejaswani Putta &lt;tputta@nvidia.com&gt;
</content>
</entry>
<entry>
<title>Redfish/HiiUtilityLib Fix incorrect type assignment</title>
<updated>2024-12-27T09:06:40+00:00</updated>
<author>
<name>Igor Kulchytskyy</name>
<email>igork@ami.com</email>
</author>
<published>2024-12-23T22:13:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=0986082d7ef68fe63d215af925b22394ac93e544'/>
<id>urn:sha1:0986082d7ef68fe63d215af925b22394ac93e544</id>
<content type='text'>
Replaced direct assignment of 'Value = (EFI_HII_VALUE *)&amp;Question-&gt;Value'
with the correct usage of HiiStatementValueToHiiValue function.
This resolves the issue where EFI_HII_VALUE and HII_STATEMENT_VALUE types
are incompatible, ensuring proper handling of Question-&gt;Value.

Signed-off-by: Igor Kulchytskyy &lt;igork@ami.com&gt;
</content>
</entry>
</feed>
