<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2.git/EmulatorPkg, 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-20T21:50:57+00:00</updated>
<entry>
<title>EmulatorPkg: Resolve GptLib library class</title>
<updated>2026-07-20T21:50:57+00:00</updated>
<author>
<name>Richard Lyu</name>
<email>richard.lyu@suse.com</email>
</author>
<published>2026-07-01T03:15:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=78c5050bb2480c87d810119205e6440a66a9189f'/>
<id>urn:sha1:78c5050bb2480c87d810119205e6440a66a9189f</id>
<content type='text'>
GptLib is a new library class consumed both by PartitionDxe (built by
essentially every platform) and by DxeTpm2MeasureBootLib. Any platform DSC
that builds either module must resolve the GptLib library class, otherwise
the build fails with "Instance of library class [GptLib] is not found".

Resolve GptLib in EmulatorPkg/EmulatorPkg.dsc, which builds PartitionDxe.

Out-of-tree platforms consuming either module need the same one-line
resolution.

Signed-off-by: Richard Lyu &lt;richard.lyu@suse.com&gt;
</content>
</entry>
<entry>
<title>EmulatorPkg: Remove VS2017 Visual Studio solution</title>
<updated>2026-06-30T21:42:50+00:00</updated>
<author>
<name>Michael Kubacki</name>
<email>michael.kubacki@microsoft.com</email>
</author>
<published>2026-06-16T19:07:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=84012d29f77b8009ed01d84e811ccecaeb37ddc1'/>
<id>urn:sha1:84012d29f77b8009ed01d84e811ccecaeb37ddc1</id>
<content type='text'>
VS2017 support is being removed from edk2. This Visual Studio solution
built the EmulatorPkg host with the VS2017 toolchain (`-t VS2017`),
which will no longer exist in tools_def.template. The EmulatorPkg
documentation and CI build with VS2022, so the VS2017 solution is
removed.

Signed-off-by: Michael Kubacki &lt;michael.kubacki@microsoft.com&gt;
</content>
</entry>
<entry>
<title>EmulatorPkg: Replace manual alignment checks with helper macros</title>
<updated>2026-06-09T07:20:10+00:00</updated>
<author>
<name>Mingjie Shen</name>
<email>shen497@purdue.edu</email>
</author>
<published>2026-05-14T02:19:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=0f9f85f41be3518c75274043b9d476d2c6144392'/>
<id>urn:sha1:0f9f85f41be3518c75274043b9d476d2c6144392</id>
<content type='text'>
Replace manual alignment checks with IS_ALIGNED() and
ADDRESS_IS_ALIGNED().

Convert the following bitmask and modulo forms:

- ((E &amp; ((PowOf2Expr) - ONE)) == ZERO)
- ((E &amp; ((PowOf2Expr) - ONE)) != ZERO)
- ((E % (PowOf2Expr)) == ZERO)
- ((E % (PowOf2Expr)) != ZERO)

to the corresponding helper macro forms:

+ IS_ALIGNED (E, PowOf2Expr)
+ !IS_ALIGNED (E, PowOf2Expr)

PowOf2Expr is limited to known power-of-two expressions, including
SIZE_* and BASE_* macros, EFI_PAGE_SIZE, CPU_STACK_ALIGNMENT,
RUNTIME_PAGE_ALLOCATION_GRANULARITY, sizeof() of UEFI integer types
(e.g. BOOLEAN, CHAR16, UINT32, UINTN) and pointer types, and 1 &lt;&lt; E1
expressions.

Address checks that cast the checked value to UINTN are written with
ADDRESS_IS_ALIGNED().

The change was generated with the Coccinelle semantic patch below.

```smpl
@power_of_2_expr@
expression PowOf2Expr;
expression E1;
typedef BOOLEAN, CHAR8, CHAR16, INT8, UINT8, INT16, UINT16, INT32, UINT32, INT64, UINT64, INTN, UINTN;
type ScalarType = { BOOLEAN, CHAR8, CHAR16, INT8, UINT8, INT16, UINT16, INT32, UINT32, INT64, UINT64, INTN, UINTN };
type AnyType;
type PointerType = AnyType *;
idexpression ScalarType ScalarValue;
idexpression PointerType PointerValue;
constant SizeBase =~ "^(SIZE|BASE)_(1|2|4|8|16|32|64|128|256|512)[KMGTPE]B$";
constant NamedPowerOf2 =~ "^(EFI_PAGE_SIZE|CPU_STACK_ALIGNMENT|RUNTIME_PAGE_ALLOCATION_GRANULARITY)$";
constant ONE = {1, 1U, 1u};
@@
(
(
  SizeBase
|
  NamedPowerOf2
|
  ONE &lt;&lt; E1
|
  sizeof (ScalarType)
|
  sizeof (PointerType)
|
  sizeof (ScalarValue)
|
  sizeof (PointerValue)
)
&amp;
PowOf2Expr
)

@aligned depends on power_of_2_expr disable is_zero,isnt_zero@
expression E;
expression power_of_2_expr.PowOf2Expr;
constant ONE = {1, 1U, 1u};
constant ZERO = {0, 0U, 0u};
@@
(
  ((E &amp; (E - ONE)) == ZERO)
|
- ((E &amp; ((PowOf2Expr) - ONE)) == ZERO)
+ IS_ALIGNED (E, PowOf2Expr)
|
  ((E &amp; (E - ONE)) != ZERO)
|
- ((E &amp; ((PowOf2Expr) - ONE)) != ZERO)
+ !IS_ALIGNED (E, PowOf2Expr)
|
- ((E % (PowOf2Expr)) == ZERO)
+ IS_ALIGNED (E, PowOf2Expr)
|
- ((E % (PowOf2Expr)) != ZERO)
+ !IS_ALIGNED (E, PowOf2Expr)
)

@address_is_aligned@
typedef UINTN;
expression *Address;
expression Alignment;
@@
- IS_ALIGNED ((UINTN) Address, Alignment)
+ ADDRESS_IS_ALIGNED (Address, Alignment)

@normalize_aligned disable paren expression@
expression E, SZ;
@@
(
- (IS_ALIGNED (E, SZ))
+ IS_ALIGNED (E, SZ)
|
- (!IS_ALIGNED (E, SZ))
+ !IS_ALIGNED (E, SZ)
)

@normalize_macro_args disable paren expression@
expression E, SZ;
@@
(
- IS_ALIGNED ((E), SZ)
+ IS_ALIGNED (E, SZ)
|
- IS_ALIGNED (E, (SZ))
+ IS_ALIGNED (E, SZ)
)
```

Signed-off-by: Mingjie Shen &lt;shen497@purdue.edu&gt;
</content>
</entry>
<entry>
<title>EmulatorPkg/Host: Remove duplicate procotol in INF file</title>
<updated>2026-04-29T09:18:10+00:00</updated>
<author>
<name>Qihang Gao</name>
<email>gaoqihang@loongson.cn</email>
</author>
<published>2026-04-22T09:50:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=482b4bf0a51a7a26ef35965d33afbbc971307945'/>
<id>urn:sha1:482b4bf0a51a7a26ef35965d33afbbc971307945</id>
<content type='text'>
In EmulatorPkg/Unix/Host driver, gEmuIoThunkProtocolGuid appears twice
in [Procotols] section, so remove the duplicate one.

Signed-off-by: Qihang Gao &lt;gaoqihang@loongson.cn&gt;
</content>
</entry>
<entry>
<title>EmulatorPkg/SecPeiServicesLib: Prevent overread with available size macros</title>
<updated>2026-04-13T14:12:17+00:00</updated>
<author>
<name>Gowtham M</name>
<email>gowthamm@ami.com</email>
</author>
<published>2025-11-04T05:40:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=9989454219e751a05bfac40605b1d22008c7bc29'/>
<id>urn:sha1:9989454219e751a05bfac40605b1d22008c7bc29</id>
<content type='text'>
Symptom:Unsafe typecasting may lead to out‑of‑bound memory access

RootCause: FileSize, FileLength and SectionLength are declared as
UINT32 and masked with 0x00FFFFFF to store only the lower 24 bits.
Although this approach yields the correct result,
it introduces a potential risk due to unsafe typecasting and
dereferencing.

Solution: Using the predefined macro FFS_FILE_SIZE()
and SECTION_SIZE from MdePkg\Include\Pi\PiFirmwareFile.h,
which safely performs the same operation by reconstructing
the size using individual byte access.

This commit also addresses the fix for coverity issue "OVERRUN"

Cc: Sachin Ganesh &lt;sachinganesh@ami.com&gt;
Signed-off-by: Gowtham M &lt;gowthamm@ami.com&gt;
</content>
</entry>
<entry>
<title>EmulatorPkg: Clear DLINK_XIPFLAGS</title>
<updated>2026-04-11T00:40:10+00:00</updated>
<author>
<name>Michael D Kinney</name>
<email>michael.d.kinney@intel.com</email>
</author>
<published>2026-04-08T18:07:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=d45ce5aceabf1520df5f28b60d7018cdcb79498b'/>
<id>urn:sha1:d45ce5aceabf1520df5f28b60d7018cdcb79498b</id>
<content type='text'>
Clear DLINK_XIPFLAGS to disable use of alignment flags
for all tool chains. Setting alignment flags other than
the OS application defaults are not required for
EmulatorPkg builds.

Add and/or clarify comments to explain the overrides to
the default firmware build configurations required for
EmulatorPkg.dsc builds.

Align Mingw CLANGDWARF to GCC by moving the application
libraries into DLINK2_FLAGS.

Signed-off-by: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
</content>
</entry>
<entry>
<title>EmulatorPkg: Add Windows CLANGPDB CI</title>
<updated>2026-04-10T21:11:58+00:00</updated>
<author>
<name>Mike Beaton</name>
<email>mjsbeaton@gmail.com</email>
</author>
<published>2026-04-09T11:27:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=e5997b8180606ec303ca9298cb7cb8ca707ecd26'/>
<id>urn:sha1:e5997b8180606ec303ca9298cb7cb8ca707ecd26</id>
<content type='text'>
CLANGPDB build of EmulatorPkg is supported on Windows, but not Linux.

In order to complete CLANGPDB CI, introduce an Azure pipelines file to
run this build. The file is a duplicate of current Windows-VS.yml in the
same directory simply with the toolchain changed, similar to the approach
taken in recent commits to add Ubuntu CLANGDWARF and CLANGPDB CI.

Signed-off-by: Mike Beaton &lt;mjsbeaton@gmail.com&gt;
</content>
</entry>
<entry>
<title>EmulatorPkg: Remove EmulatorPkg from CLANGPDB CI</title>
<updated>2026-03-17T15:52:22+00:00</updated>
<author>
<name>Mike Beaton</name>
<email>mjsbeaton@gmail.com</email>
</author>
<published>2025-12-19T14:55:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=6e39689c659dd79c3c201832d9c7a83f84536653'/>
<id>urn:sha1:6e39689c659dd79c3c201832d9c7a83f84536653</id>
<content type='text'>
EmulatorPkg currently fails to build under CLANGPDB with
link time errors. Since EmulatorPkg is a legacy package which
is currently not being built with CLANGPDB, it is considered
simpler to simply exclude this.

Signed-off-by: Mike Beaton &lt;mjsbeaton@gmail.com&gt;
</content>
</entry>
<entry>
<title>Global: Clone GCC to CLANGPDB CI</title>
<updated>2026-03-17T15:52:22+00:00</updated>
<author>
<name>Mike Beaton</name>
<email>mjsbeaton@gmail.com</email>
</author>
<published>2026-03-13T19:50:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=2263bdf47f4d82c1f9904e4614a8b9fdb439bed5'/>
<id>urn:sha1:2263bdf47f4d82c1f9904e4614a8b9fdb439bed5</id>
<content type='text'>
Subsequent commits remove build steps which CLANGPDB
cannot build.

Continuous-integration-options: PatchCheck.ignore-multi-package

Signed-off-by: Mike Beaton &lt;mjsbeaton@gmail.com&gt;
</content>
</entry>
<entry>
<title>Global: Remove CLANGDWARF from PR gates</title>
<updated>2026-03-17T15:52:22+00:00</updated>
<author>
<name>Mike Beaton</name>
<email>mjsbeaton@gmail.com</email>
</author>
<published>2026-03-07T15:04:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=81bab969df1baf1926a8c4567bf0528f61626572'/>
<id>urn:sha1:81bab969df1baf1926a8c4567bf0528f61626572</id>
<content type='text'>
See discussion in #11886.

Continuous-integration-options: PatchCheck.ignore-multi-package

Signed-off-by: Mike Beaton &lt;mjsbeaton@gmail.com&gt;
</content>
</entry>
</feed>
