Commit graph

35811 commits

Author SHA1 Message Date
Michael Kubacki
6329587167 ReadMe.rst: Update CI pipeline badges
Add badge rows for the Windows CLANGPDB, Ubuntu CLANGPDB, and Ubuntu
CLANGDWARF toolchains in the Core CI and Platform CI sections.

Remove stale IA32 badge entries for EmulatorPkg and OvmfPkg.

Reorganize Platform CI into per-toolchain sections for clarity.

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2026-04-17 01:13:35 +00:00
Qing Huang
0dddd6549d MdePkg/IndustryStandard:: Add ACPI 6.6 extension for NUMA ACPI Tables
Add NUMA ACPI table extension introduced in ACPI 6.6 spec:
- Section 5.2.16.2 SRAT Memory Affinity Structure introduces "Specific-Purpose" bit field to the "Flags" field.
- Section 5.2.29.5 HMAT Memory Side Cache Information Structure adds "Address Mode" field.

Signed-off-by: Qing Huang <qing.huang@intel.com>
2026-04-15 08:11:29 +00:00
Shabab Alam
3971a4dba9 MdeModulePkg/NvmExpressDxe: Clear NSID to 0 for sanitize command
A purge erase operation on NVMe devices using the MediaSanitize
(MediaPurge) protocol fails with Status Code 02h (Invalid Field
in Command).

According to NVMe specification revision 1.4c, the Sanitize
command (OpCode 84h) does not use the NSID field (Section 5,
Figure 142). For commands that do not use NSID, the field must
be cleared to 0 as defined in Section 4.2, Figure 106.

Clear NSID to 0 before issuing the Sanitize command to ensure
spec compliance and prevent command failure.

Signed-off-by: Shabab Alam <shabalam@qti.qualcomm.com>
2026-04-15 02:50:05 +00:00
Oliver Smith-Denny
0d44f421a5 BaseTools: tools_def: Align X64 CLANGDWARF and CLANGPDB Defs
Currently, CLANGPDB X64 has 4KB section alignment and unwind
tables. CLANGDWARF has neither.

4KB section alignment is up for review in a separate PR, so this
commit adds unwind tables to DEBUG/NOOPT, matching both CLANGPDB
and other toolchains.

Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
2026-04-15 01:57:51 +00:00
Oliver Smith-Denny
192b5a92b3 BaseTools: tools_def: Canonicalize CLANGDWARF Defs
Currently, the CLANGDWARF definitions for AARCH64 and RISCV64
(which was copied from the AARCH64 definitions originally) don't
follow the same pattern as CLANGDWARF IA32/X64 and the rest of
tools_def.template. This makes it harder to read and easier to
make an error (e.g. other toolchain define cc/dlink flags in
debug, release, noopt order, they do it in debug, noopt, release
order, so it would be easy to swap flags intended for release and
noopt).

This is a whitespace and comment only change, no flags are changed.

Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
2026-04-15 01:57:51 +00:00
Gowtham M
3b0deb5e79 EmbeddedPkg/PrePiLib: Prevent overread with FFS size macros
Symptom:Unsafe typecasting may lead to out‑of‑bound memory access

RootCause: FileSize and FileLength 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()
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 isssue "OVERRUN"

Cc: Sachin Ganesh <sachinganesh@ami.com>
Signed-off-by: Gowtham M <gowthamm@ami.com>
2026-04-13 14:12:17 +00:00
Gowtham M
9989454219 EmulatorPkg/SecPeiServicesLib: Prevent overread with available size macros
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 <sachinganesh@ami.com>
Signed-off-by: Gowtham M <gowthamm@ami.com>
2026-04-13 14:12:17 +00:00
Gowtham M
7e0b85e03b StandaloneMmPkg/Core: Return when processing malformed DEPEX
For a well-formed Dependency Expression, the code should
never get here. The BEFORE and AFTER are processed prior to
this routine's invocation. If the code flow arrives at this point,
present code only called ASSERT(FALSE),
causing release builds to fall through to the EFI_DEP_SOR case.

Adding an explicit return FALSE after the assertion ensures
correct error handling in release and debug build modes.

This commit also addresses the fix for Coverity
issue "MISSING BREAK"

Cc: Sachin Ganesh <sachinganesh@ami.com>
Signed-off-by: Gowtham M <gowthamm@ami.com>
2026-04-13 13:30:36 +00:00
Phineas Su
4d15c942fb ReadMe.rst: Fix header formatting, path separators, and grammar
- Correct header underline lengths to meet ReStructuredText standards.
- Standardize path separators to forward slashes for consistency.
- Fix grammar and improve phrasing in the Submodules section.

Signed-off-by: Phineas Su <pohaosu@google.com>
2026-04-13 13:47:14 +02:00
Michael D Kinney
d4a6e02659 BaseTools/Conf: Add missing CLANGDWARF OBJCOPY_FLAGS
Fix CLANGDWARF OBJCOPY errors for AARCH64 and RISCV64 by
setting OBJCOPY_FLAGS to an empty string so OBJCOPY actions
do not generate an error. This matches the IA32 and X64
settings for CLANGDWARF OBJCOPY_FLAGS.

Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
2026-04-11 00:40:10 +00:00
Michael D Kinney
d45ce5acea EmulatorPkg: Clear DLINK_XIPFLAGS
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 <michael.d.kinney@intel.com>
2026-04-11 00:40:10 +00:00
Mike Beaton
e5997b8180 EmulatorPkg: Add Windows CLANGPDB CI
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 <mjsbeaton@gmail.com>
2026-04-10 21:11:58 +00:00
Yang Gang
2a5f6b22b9 TcgTpmPkg: Update Readme.md to use markdown code block syntax
Signed-off-by: Yang Gang <yanggang@byosoft.com.cn>
2026-04-10 19:20:39 +00:00
Gerd Hoffmann
f5c6c98d89 OvmfPkg/IgvmSecureBootDxe: Remove CustomMode code
Just require PcdRequireSelfSignedPk=FALSE instead of using CustomMode to
enroll PK keys which are not self-signed.

PcdRequireSelfSignedPk=FALSE is the default configuration for OVMF since
commit 3c01a11daa ("OvmfPkg: set PcdRequireSelfSignedPk to FALSE").

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2026-04-10 14:03:26 +02:00
Oliver Smith-Denny
b2a149cf97 UefiCpuPkg: ArmMmuLib: Check if Block Split Following Page Alloc
Currently, there is a bug in UpdateRegionMappingRecursive() when
guard pages are enabled and a large page is being split.

The code checks whether the page table is a block or table and
seeing that it is a block, allocates a new page table for the next
level. However, when it does this, it will call an additional recursive
call into the page table updating logic to make sure the new page table
page is mapped. In addition, when guard pages are enabled, it will
mark the guard page as RP. If the guard page is in the same block as
we are already trying to split, the recursive call will split the
block and mark the guard page as RP.

When we return to the original call, it will fill out the now
orphaned page table but never install it into the page table
hierarchy (and if it did, it would lose the guard page). This
has been observed to cause a driver's code section to still have
NX set on it and so crash when trying to execute.

This commit resolves the issue by checking if the block has
already been split when we return from the new page table
allocation. If it has, we simply update the existing table mapping
instead of trying to split the block.

The allocated page table page cannot be immediately freed, because
this might trigger the block to get re-merged, so a reference to
it is held until the end of updating this level and subsequent
levels, when it can be safely freed. It is possible that the mapping
extends across two large pages and this issue could exist on both
sides, so in the worst case we may have two orphaned tables to
free.

Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
2026-04-10 09:22:09 +00:00
Yeoreum Yun
5107351f77 TcgTpmPkg: fix build failure of TpmLib with CLANGDWARF
When TpmLib is built with llvm, below error is splat:

  edk2/TcgTpmPkg/Library/TpmLib/TPM/TPMCmd/tpm/src/crypt/CryptRand.c:388:12: error: logical not is only applied to the left hand side of this comparison [-Werror,-Wlogical-not-parentheses]
    388 |         if(DRBG_ENCRYPT_SETUP((BYTE*)key, DRBG_KEY_SIZE_BITS, &localKeySchedule) != 0)

To build TCG TPM v2.0 reference library properly, ignore above warning.

Signed-off-by: Yeoreum Yun <yeoreum.yun@arm.com>
2026-04-10 05:14:40 +00:00
Yeoreum Yun
ec1f28670a BaseTools: add --apply-dynamic-relocs option for AARCH64 CLAGNDWARF
StandaloneMm is loaded failure when it built with clang-22.
This is because mMmMemoryMap is intialised incorrectly by compiler:

  MmMain - 0xFF025040
  [StandaloneMmMain:849] mMmMemoryMap: 0xFF21D238
  [StandaloneMmMain:850] mMmMemoryMap->ForwardLink: 0xFF201000
  [StandaloneMmMain:851] mMmMemoryMap->BackLink: 0xFF201000

The 0xFF20100 is loaded image address. However list_head -- mMemoryMap
doesn't initialised properly by ld-lld.

Here, ld with gcc initialised mMmMemoryMap list head properly:

  // 0x12490: &mMmMemoryMap
  # hexdump -Cv -s 0x12490 -n 64 StandaloneMmCore.efi

  00012490  90 24 01 00 00 00 00 00  90 24 01 00 00 00 00 00  |.$.......$......|
  ...

However, ld-lld with clang doesn't:

  // 0x1c238: &mMmMemoryMap
  # hexdump -Cv -s 0x1c238 -n 64 StandaloneMmCore.efi

  0001c238  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|

To address this, add --apply-dynamic-relocs linker option.
After this patch, StandaloneMm is loaded preoperly and mMmMemoryMap
is intialised correctly:

ld-lld with clang with --aply-dynamic-reclos option:

  // 0x1d238: &mMmMemoryMap
  # hexdump -Cv -s 0x1d238 -n 64 StandaloneMmCore.efi

  0001d238  38 d2 01 00 00 00 00 00  38 d2 01 00 00 00 00 00  |8.......8.......|

Signed-off-by: Yeoreum Yun <yeoreum.yun@arm.com>
2026-04-10 05:14:40 +00:00
Michael D Kinney
11a89ec030 IntelFsp2Pkg/FspSecCore/Vtf0: NASM and Python 3 fixes
Update NASM files to use NASM file extensions.

Also update VTF0 Python scripts to Python 3.

Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
2026-04-09 20:12:55 +00:00
Pierre Gondois
76406ef119 ShellPkg/UefiShellDriver1: Remove unused Status
Status is set but never used.
Remove the variable.

Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
2026-04-09 11:13:08 +00:00
Pierre Gondois
c14647a483 ShellPkg/UefiShellDriver1: Flatten some functions
Flatten the following functions to make them easier to read:
- TraverseHandleDatabase()
- GetDeviceHandleInfo()
- DoDecodeByProtocol()

No functional change.

Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
2026-04-09 11:13:08 +00:00
Pierre Gondois
1ab251c770 ShellPkg/UefiShellDriver1/Drivers: Fix memory leaks
Free Language/FormatString before exiting the function.

Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
2026-04-09 11:13:08 +00:00
Pierre Gondois
becbdb4e27 ShellPkg/UefiShellDriver1: Lower indentation level in MainCmdXXX()
This patch aims to help breaking down the long function present in
the ShellPkg and reduce complexity/nested code and conditions.

Lower the indentation level in the newly created MainCmdXXX()
functions.

No functional change should be induced by this patch.

Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
2026-04-09 11:13:08 +00:00
Pierre Gondois
4de99ebb92 ShellPkg/UefiShellDriver1: Extract MainCmdXXX() function
This patch aims to help breaking down the long function present in
the ShellPkg and reduce complexity/nested code and conditions.

Extract a MainCmdXXX() function for each shell command.
This command contains the possible operations the command aims
to operate. The ShellCommandRunXXX() function from which it
is extracted is only responsible of:
- initializing the shell/command environment
- parsing the command parameter and creating a Package
- freeing the Package

No functional change should be induced by this patch.

Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
2026-04-09 11:13:08 +00:00
Pierre Gondois
51cdb08cdb ShellPkg/UefiShellDriver1: Return if ShellCommandLineParse() failed
This patch aims to help breaking down the long function present in
the ShellPkg and reduce complexity/nested code and conditions.

Return directly if ShellCommandLineParse() returned an error Status.
In such case, the "Package" that should be allocated by
ShellCommandLineParse() is already freed in:
ShellCommandLineParse()
\-ShellCommandLineParseEx()
\-InternalCommandLineParse()
so there is no need to free it with ShellCommandLineFreeVarList().

No functional change should be induced by this patch.

Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
2026-04-09 11:13:08 +00:00
Pierre Gondois
cfcb4eee91 ShellPkg/UefiShellDriver1: Fix memory leaks
Package must be freed before exiting. Free the pointer.

Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
2026-04-09 11:13:08 +00:00
Richard Lyu
4fae655881 OvmfPkg/AmdSevX64: Expose DEBUG_TO_MEM as a build option
AmdSevX64.dsc has several build options, but DEBUG_TO_MEM is
missing from the top definition list. This makes it difficult
for users to identify all available configuration flags.

Add DEBUG_TO_MEM to the [Defines] section with a default value of
FALSE to improve visibility.

This change has no functional change.

Signed-off-by: Richard Lyu <richard.lyu@suse.com>
2026-04-09 09:38:38 +00:00
Richard Lyu
050b26bb54 OvmfPkg/MicrovmX64: Expose DEBUG_TO_MEM as a build option
MicrovmX64.dsc has several build options, but DEBUG_TO_MEM is
missing from the top definition list. This makes it difficult
for users to identify all available configuration flags.

Add DEBUG_TO_MEM to the [Defines] section with a default value of
FALSE to improve visibility.

This change has no functional change.

Signed-off-by: Richard Lyu <richard.lyu@suse.com>
2026-04-09 09:38:38 +00:00
Richard Lyu
07fa02d267 OvmfPkg/OvmfPkgIa32X64: Expose DEBUG_TO_MEM as a build option
OvmfPkgIa32X64.dsc has several build options, but DEBUG_TO_MEM is
missing from the top definition list. This makes it difficult
for users to identify all available configuration flags.

Add DEBUG_TO_MEM to the [Defines] section with a default value of
FALSE to improve visibility.

This change has no functional change.

Signed-off-by: Richard Lyu <richard.lyu@suse.com>
2026-04-09 09:38:38 +00:00
Gaurav Pandya
bd8ec21280 ShellPkg/AcpiView: Avoid mutating HEST hardware bank count during parse
Remove post-parse write to mHestIA32HardwareBankCount.
Keep HEST parsing read-only.

*mHestIA32HardwareBankCount = 0, line in code corrupts the
ACPI HEST table data Hardware bank count to zero.

mHestIA32HardwareBankCount points into the parsed HEST table
data (input buffer). Writing through it modifies ACPI table
contents during parsing, which should be read-only behavior.

Signed-off-by: Gaurav Pandya <Gaurav.Pandya@amd.com>
2026-04-09 06:31:41 +00:00
Oliver Smith-Denny
35c03c1c9f BaseTools: Ecc: Update to ANTLR 4.13.2
ANTLR 4.9 is broken in python 3.13 because
it uses a library in the autogenerated files
that is removed.

This updates to 4.13.2 and also updates the autogen
files, which contain support for python 3.13 as well
as backwards compat.

Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
2026-04-08 22:23:35 +00:00
Oliver Smith-Denny
9b676f7cc2 BaseTools: Ecc: Use SPDX in AutoGen Template
The ANTLR autogen files are currently created
without an SPDX identifer. Add the BSD-2-Clause-Patent
ID.

While here, correct the command to do the autogeneration
by using the right filename.

Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
2026-04-08 22:23:35 +00:00
Oliver Smith-Denny
229600664e BaseTools: Ecc: Drop ANTLR 3 Support
BaseTools hasn't been using ANTLR3 since at
least 2019. Drop the files.

Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
2026-04-08 22:23:35 +00:00
Gerd Hoffmann
e3e5c41598 OvmfPkg/IgvmSecureBootDxe: enable CustomMode only if needed
If OVMF is built with PcdRequireSelfSignedPk=FALSE we do not need
CustomMode to enroll an unsigned platform key (PK).

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2026-04-08 21:20:49 +00:00
Gerd Hoffmann
75ea215310 OvmfPkg/EnrollDefaultKeys: do not check VendorKeys
AuthVariableLib behavior wrt VendorKeys changes depending on
PcdRequireSelfSignedPk state.  Given this is not security critical
just skip the VendorKeys check in EnrollDefaultKeys

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2026-04-08 21:20:49 +00:00
Gerd Hoffmann
0a7ed7ed34 OvmfPkg/EnrollDefaultKeys: do not require CustomMode
If OVMF is built with  PcdRequireSelfSignedPk=FALSE it is possible to
enroll an unsigned platform key (PK) without depending on CustomMode for
that.

Update EnrollDefaultKeys accordingly.  If setting CustomMode fails do
not consider that a fatal error.  Print a warning instead.  Also update
Settings.CustomMode only in case CustomMode has been enabled
successfully, so we can use that later on to check whenever CustomMode
must be disabled or not.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2026-04-08 21:20:49 +00:00
Gerd Hoffmann
3c01a11daa OvmfPkg: set PcdRequireSelfSignedPk to FALSE
Recent UEFI spec versions do not require a self-signed PK any more.
There is no good reason for OVMF to stick to this requirement, but
there is one reason to remove it:  It is not needed to enable
CustomMode then to enroll secure boot keys which are not self-signed.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2026-04-08 21:20:49 +00:00
Gerd Hoffmann
3ed3b7a4ae OvmfPkg/BaseMemEncryptSevLib: IGVM data HOB ranges are prevalidated
Exclude these ranges in addition to the ranges from the static
mPreValidatedRange array, by checking the IGVM data HOBs in
DetectPreValidatedOverLap().

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2026-04-08 20:38:21 +00:00
Khalid Ali
4c8717de16 OvmfPkg: Page align sections of DXE and UEFI images
The current OvmfPkg only page aligns sections of DXE runtime and SMM
images for image protections. However, image protections are applied
to other image types like DXE_DRIVER, DXE_CORE, UEFI_DRIVERS and
UEFI_APPLICATION which makes those images unprotected.

This change applies page alignment to sections of image DXE_DRIVER,
DXE_CORE, UEFI_DRIVER and UEFI_APPLICATION so image protections take
effect.

!!!!!!!!  Image Section Alignment(0x40) does not match Required Alignment (0x1000)  !!!!!!!!
ProtectUefiImage failed to create image properties record

Signed-off-by: Khalid Ali <khaliidcaliy@gmail.com>
2026-04-08 17:33:36 +00:00
Qihang Gao
ac2316df3e OvmfPkg/LoongArchVirt: Move FirmwarePerformancePei to PEI driver region
In order to facilitate management, move FirmwarePerformancePei driver
to PEI driver region. In this case, all PEI drivers are together.

Signed-off-by: Qihang Gao <gaoqihang@loongson.cn>
Cc: Zixing Liu <liushuyu@aosc.io>
2026-04-08 06:20:43 +00:00
liushuyu
0fc588ddd2 OvmfPkg/LoongArchVirt: Enable FPDT for LoongArch OVMF platform
This change adds dependent libraries and drivers to LoongArch OVMF
package to enable firmware performance support.

Signed-off-by: Zixing Liu <liushuyu@aosc.io>
2026-04-08 02:32:45 +00:00
Qihang Gao
00a8e3b20f OvmfPkg/LoongArchVirt: Fix the misuse issue of ExtractGuidedSectionLib
In DXE_RUNTIME_DRIVER and UEFI_DRIVER, ExtractGuidedSectionLib should
use DxeExtractGuidedSectionLib.inf instead of
PeiExtractGuidedSectionLib.inf.

Signed-off-by: Qihang Gao <gaoqihang@loongson.cn>
2026-04-08 01:12:48 +00:00
Baraneedharan Anbazhagan
b3fdc0994d CryptoPkg: Add digest-based RSA-PSS sign and verify APIs
Add RsaPssSignDigest() and RsaPssVerifyDigest() to BaseCryptLib for
signing/verifying precomputed digests. Provide OpenSSL/MbedTLS/Null
implementations, expose via EDKII_CRYPTO_PROTOCOL (v24), and add PCD
controls for independent service enabling. Include unit tests.

Signed-off-by: Anbazhagan Baraneedharan <anbazhagan@hp.com>
2026-04-07 12:26:54 +00:00
Kun Qin
f1fc41cff2 SecurityPkg: Tcg2AcpiFfa: Polish revision checks for TPM2 table
Given the start method of FFA is only introduced in revision 5 of the TCG
ACPI specification. A TPM2 table with FFA start method and lower than 5
revision should not be allowed.

This change updates the checks for revision PCD and removed a few
conditions based on new revision 5 assumptions.

Signed-off-by: Kun Qin <kun.qin@microsoft.com>
2026-04-07 04:23:57 +00:00
Kun Qin
a270773cce SecurityPkg: Tcg2AcpiFfa: Fix endianness of partition ID
Current Tcg2AcpiFfa will populate the partition ID in byte order of big-
endian. This conflicts with the TCG ACPI Specification, which specifies
the byte-order to be little-endian.

This change corrects the byte order population process by replacing the
platform parameter byte array with MdePkg defined structure.

Signed-off-by: Kun Qin <kun.qin@microsoft.com>
2026-04-07 04:23:57 +00:00
Kun Qin
c60df38f10 SecurityPkg: Tcg2AcpiFfa: Remove Tcg2PhysicalPresenceLib from dependencies
Current implementation of Tcg2AcpiFfa does not rely on the interfaces
defined in `Tcg2PhysicalPresenceLib`. Carrying it in the module inf could
bring in unnecessary external dependencies and cause loading orders to
change.

This change removes the dependency from the current "LibraryClasses"
list.

Signed-off-by: Kun Qin <kun.qin@microsoft.com>
2026-04-07 04:23:57 +00:00
Abner Chang
268266d8dc RedfishPkg/PlatformConfig: Delete a few debug messages
Delete a few debug messages when searching x-uefi string.
This reduces the messages when DEBUG_MANAGEABILITY is
enabled.

Signed-off-by: Abner Chang <abner.chang@amd.com>
2026-04-06 17:57:03 -05:00
Saloni Kasbekar
56b1ab8ca3 NetworkPkg/HttpBootDxe: Print TLS errors on screen during HTTP boot
Install EDKII_HTTP_CALLBACK_PROTOCOL in HttpBootDxe to receive TLS
events from HttpDxe during the HTTP Boot process. When a TLS error
occurs (failed TLS session connection or TLS configuration), print an
error message on screen using AsciiPrint().

The callback is installed in HttpBootInstallCallback() and uninstalled
in HttpBootUninstallCallback(), ensuring TLS errors are only printed
during the HTTP Boot process and not for other TLS accesses.

Signed-off-by: Saloni Kasbekar <saloni.kasbekar@intel.com>
2026-04-06 19:25:44 +00:00
Aaron Pop
b7cf7e465c BaseTools: Only check for GCC prefixes when targeting
LinuxGccToolChain is checking for the environment variable
GCC_AARCH64_PREFIX when GCC_AARCH64_INSTALL is set in the environment
variables. GCC_AARCH64_INSTALL is set when any gcc aarch64 compiler
is installed (i.e. aarch64-none-elf, aarch64-linux-gnu, aarch64-unknown-elf
all result in a GCC_AARCH64_INSTALL environment variable).

When compiling for an X86 target, if an AARCH64 tool chain is installed
in the system, this will result in an error due to the GCC_AARCH64_PREFIX
not being set.

Add a check based upon TARGET_ARCH and and only verify the prefixes
when attempting to build AARCH64.

Replicate the same check for RISCV and LOONGARCH64 architectures as well.

Signed-off-by: Aaron Pop <aaronpop@microsoft.com>
2026-04-03 05:32:14 +00:00
Sami Mujawar
18d0c3596e DynamicTablesPkg: handle missing 'iommu-map' in root complex parser
Some guests (e.g. kvmtool) do not provide a SMMU, so the PCI node
in the DTB lacks an 'iommu-map'. The current code ASSERTs during
boot with:
"ASSERT [ConfigurationManagerDxe] RootComplexParser.c(244):
(Data != ((void *) 0)) && ((DataSize % (4 * sizeof (UINT32))) == 0)"

Instead, return EFI_NOT_FOUND when 'iommu-map' is absent so firmware
boot can proceed.

Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Leif Lindholm <leif.lindholm@oss.qualcomm.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
2026-04-03 00:17:05 +00:00
Sami Mujawar
ebe7fab41e ArmVirtPkg: Kvmtool: Only install IORT if ITS is present
When the Kvmtool guest is launched without ITS support
i.e. when --irq-chip=gicv3-its option is not specified
or if --irq-chip=gicv3 is specified, the guest VM does
not have an ITS.

In such scenarios the guest firmware must not install
the IORT table. Therefore, add checks to see if ITS is
present before installing the IORT ACPI table.

Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Leif Lindholm <leif.lindholm@oss.qualcomm.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
2026-04-03 00:17:05 +00:00