summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
13 daysGitHub Action: Bump actions/setup-python from 2 to 6dependabot/github_actions/actions/setup-python-6dependabot[bot]3-3/+3
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 2 to 6. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v2...v6) --- updated-dependencies: - dependency-name: actions/setup-python dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
2025-09-12MdeModulePkg/ArmFfaLib: Add MemoryAllocationLibMichael Kubacki5-0/+5
ArmFfaRxTxMap.c is built by both ArmFfaPeiLib and ArmFfaDxeLib. ArmFfaSecRxTxMap.c is built by ArmFfaSecLib. ArmFfaStandaloneMmRxTxMap.c is built by ArmFfaStandaloneMm*Lib. The files depend on `MemoryAllocationLib` APIs such as `AllocateAlignedPages()`. This change adds `MemoryAllocationLib` to those library INF files. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2025-09-12MdeModulePkg/ArmFfaLib: Add HobLib to StMm instancesMichael Kubacki2-0/+2
ArmFfaCommon.c is built by both ArmFfaStandaloneMmCoreLib and ArmFfaStandaloneMmLib. It links against HobLiib APIs such as `GetFirstHob()`. Right now, the symbols fail to link: ``` lld-link: error: undefined symbol: GetFirstHob ArmFfaStandaloneMmCoreLib.lib(ArmFfaCommon.obj) ``` Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2025-09-12EmbeddedPkg/PrePiLib: minor cleanup in FfsProcessSection ()Leif Lindholm1-8/+8
Drop an else wrapper in FfsProcessSection () on the other side of an if-statemenmt that is an error return. Signed-off-by: Leif Lindholm <leif.lindholm@oss.qualcomm.com>
2025-09-12EmbeddedPkg/PrePiLib: eliminate unneeded variable in FfsProcessSection ()Leif Lindholm1-9/+5
The "Found" variable provided only a deferred form of success handling, so eliminate it to improve readability. Signed-off-by: Leif Lindholm <leif.lindholm@oss.qualcomm.com>
2025-09-12EmbeddedPkg/PrePiLib: refactor FfsProcessSection ()Leif Lindholm1-60/+122
Create some helper functions to make FfsProcessSection at least halfway readable by both humans and compilers. Signed-off-by: Leif Lindholm <leif.lindholm@oss.qualcomm.com>
2025-09-11OvmfPkg/ResetVector: reorganize #vc exit handler setup.Gerd Hoffmann3-21/+39
Move setup + teardown of the #vc exception handler to separate functions. Setup as early as possible (right after entering 32-bit mode). Teardown as late as possible (right before entering 64-bit mode). This makes the cpuid instruction work in all 32-bit code, no matter what mode (native/TDX/SEV) the code is running in. Specifically the TDX probe code works properly in SEV mode because the #vc handler emulates the instruction properly. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2025-09-11OvmfPkg/ResetVector: move ReloadFlat32 callGerd Hoffmann2-5/+5
Move the call from IntelTdx.asm to Main.asm. This is needed when using the Main32 entry point. Right now is used in TDX mode only, but this can potentially used by other modes (native, SEV) too. So prepare for that. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2025-09-11OvmfPkg/MemFd: switch Microvm build to includeGerd Hoffmann1-48/+1
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2025-09-11OvmfPkg/MemFd: switch OvmfPkgIa32X64 build to includeGerd Hoffmann1-40/+1
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2025-09-11OvmfPkg/MemFd: add AmdSev changes, switch AmdSev build to includeGerd Hoffmann2-66/+15
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2025-09-11OvmfPkg/MemFd: move MEMFD config from OvmfPkgX64 to include fileGerd Hoffmann2-61/+121
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2025-09-11OvmfPkg: Add NETWORK_ISCSI_DEFAULT_ENABLE build flagRichard Lyu2-1/+4
REF: https://github.com/tianocore/edk2/issues/11483 Introduce a new build flag NETWORK_ISCSI_DEFAULT_ENABLE to control whether iSCSI support is enabled by default without setting fwcfg. This allows developers to decide at build time if the IScsiDxe driver should be included and enabled by default. If NETWORK_ISCSI_DEFAULT_ENABLE is set to FALSE, IScsiDxe will still be built when NETWORK_ISCSI_ENABLE is TRUE, but the default PCD value (gUefiOvmfPkgTokenSpaceGuid.PcdEntryPointOverrideDefaultValue) will be set to "no". This ensures iSCSI remains disabled at runtime unless enabled explicitly by fwcfg. This change provides more flexibility for both build-time and runtime configuration of iSCSI support. Signed-off-by: Richard Lyu <richard.lyu@suse.com>
2025-09-10StandaloneMmPkg/Ipl: Do not check return status of MmCore's entry pointRay Ni2-20/+25
Per PI spec the entry point of standalone MM core returns "VOID". So it's not right to check the return status of MM core's entry point. In rare case, it might hit assertion as the MM core's entry point has no responsibility to reset RAX to 0 (in x64 arch). Signed-off-by: Ray Ni <ray.ni@intel.com> Cc: Ard Biesheuvel <ardb+tianocore@kernel.org> Cc: Sami Mujawar <sami.mujawar@arm.com> Cc: Dun Tan <dun.tan@intel.com> Cc: Eduardo Cuevas Farfan <eduardo.cuevas.farfan@intel.com>
2025-09-10FmpDevicePkg/Library: Correct comment descriptionDamien-Chen1-1/+1
Correct comment description. Signed-off-by: Damien Chen <inkfan130924783@gmail.com>
2025-09-09ArmVirtPkg: Drop ARM Virtual PlatformsOliver Smith-Denny27-421/+20
Per the additional suggestion in RFC https://edk2.groups.io/g/devel/topic/rfc_remove_ovmf_ia32_and/114152215, this drops ARM 32 bit virtual platforms. The full rationale is included in the RFC. Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
2025-09-09OvmfPkg: Remove OVMF IA32Oliver Smith-Denny67-1822/+75
This commit removes OVMF IA32 from edk2 per RFC https://edk2.groups.io/g/devel/topic/rfc_remove_ovmf_ia32_and/114152215. OVMF IA32 is a 32 bit only platform that no longer represents the vast majority of physical platforms. The RFC details more reasoning in much more depth. OVMF IA32 will be kept in a branch off the edk2-stable202508 tag for any long term consumers; it will receive build break updates only (e.g. if an upstream submodule changes location). Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
2025-09-09OvmfPkg/MemEncryptSevLib: Check if SEV-SNP coherency mitigitation is neededTom Lendacky8-9/+135
CPUID bit Fn8000001F_EBX[31] defines the COHERNECY_SFW_NO CPUID bit that, when set, indicates that the software mitigation for this vulnerability is not needed. Add support to check for this CPUID bit and avoid the mitigation if set. Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
2025-09-09OvmfPkg/ResetVector: Make ReceivedVc a flag in SEV-ES workareaTom Lendacky3-10/+13
In preparation for adding another indicator flag, change the ReceivedVc field into a flags field. Since the code is used by both assembler and C files, use bitmasks for field definitions. The VC flag is bit 0. Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
2025-09-09MdePkg: Add the COHERENCY_SFW_NO CPUID bit fieldTom Lendacky1-2/+7
Update the CPUID 0x8000001F EBX definition to add the COHERENCY_SFW_NO bit field. The COHERENCY_SFW_NO bit is used to indicate that the SEV-SNP cache coherency mitigation is not needed. Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
2025-09-09OvmfPkg/MemEncryptSevLib: Evict cache lines during SNP memory validationTom Lendacky1-1/+40
An SNP cache coherency vulnerability may require a mitigation to evict cache lines after memory has been validated. Perform this mitigation after having validated memory. CVE-2024-36331 Signed-off-by: Michael Roth <michael.roth@amd.com> Co-developed-by: Tom Lendacky <thomas.lendacky@amd.com> Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
2025-09-09ShellPkg/SmbiosView: Add decode for DSP0134 SMBIOS Spec v3.9.0Giri Mudusuru1-0/+9
Add decode for Type17 Memory based on SMBIOS Spec v3.9.0 Signed-off-by: Giri Mudusuru <girimudusuru@microsoft.com>
2025-09-09MdePkg/IndustryStandard: Define enums for DSP0134 SMBIOS Spec v3.9.0Giri Mudusuru1-5/+28
Add new enums for Type3 Chassis & Type17 Memory Signed-off-by: Giri Mudusuru <girimudusuru@microsoft.com>
2025-09-09MdePkg: Add MockSpiNorFlashProtocolPaddyDeng1-0/+113
Add MockSpiNorFlashProtocol for google test components to use. Signed-off-by: PaddyDeng <paddydeng@ami.com>
2025-09-08Maintainers.txt: Add vishalo as reviewer for AARCH64 supportVishal Oliyil Kunnil1-0/+3
Add vishalo as reviewer for ArmPkg, and ARM/AARCH64 support code in MdePkg. Signed-off-by: Vishal Oliyil Kunnil <vishalo@qti.qualcomm.com>
2025-09-08MdeModulePkg: consider UNSUPPORTED return as valid in ArmFfaStandaloneMmLibLevi Yun1-0/+13
commit b534cabbdac4 ("ArmFfaLib: Add Rx/Tx support for Stmm secure partition") makes ArmFfaStandlaoneMm(Core)Lib map Rx/Tx buffer in its constructor. This makes a failure of loading StandaloneMm in legacy platform which doesn't implements Rx/Tx buffer related API since it doesn't need to. StandaloneMm could be only service provider not cosumer in some platform where doesn't need to map RxTx buffer. Therefore, Considier EFI_UNSUPPORTED return in ArmFfaStandaloneMmLib's constructor. Fixes: b534cabbdac4 ("ArmFfaLib: Add Rx/Tx support for Stmm secure partition") Signed-off-by: Yeoreum Yun <yeoreum.yun@arm.com>
2025-09-08Global: fix ArmFfaLibRun() caller couldn't get ret-argsLevi Yun6-14/+51
When ArmFfaLibDirectMsgReq(2) is preempted, caller of these functions should resume it works via ArmFfaLibRun() and the secure partition will be return with FFA_DIRECT_MSG_RESP(2) with return arguments. However, since ArmFfaLibRun() gets its return in its stack variable, So caller of ArmFfaLibRun() doesn't get the return arguments from secure partition. To resolve this, add output parameter to ArmFfaLibRun() to receive return arguments. Continuous-integration-options: PatchCheck.ignore-multi-package Fixes: 5d1b38dd07c4 ("ArmPkg: Add ArmFfaLib used in Dxe driver") Reported-by: Mariam Elshakfy <Mariam.Elshakfy@arm.com> Signed-off-by: Yeoreum Yun <yeoreum.yun@arm.com>
2025-09-08ArmPlatformPkg,EmbeddedPkg,MdeModulePkg: Move RealTimeClockLib headerINDIA\sachinganesh7-1/+8
RealTimeClockLib is an architectural implementation that is not restricted to the embedded segment or any platform in particular. So the header has been moved to MdeModulePkg. And the package has been added to the relevant INF files. Continuous-integration-options: PatchCheck.ignore-multi-package Signed-off-by: Sachin Ganesh <sachinganesh@ami.com>
2025-09-05MdePkg/Inclde: Deprecate EFI_UNICODE_COLLATION_PROTOCOL_GUIDGowtham M2-14/+0
EFI_UNICODE_COLLATION_PROTOCOL_GUID is deprecated in the previous commit. Hence, removing related guid definition. Cc: Sachin Ganesh <sachinganesh@ami.com> Signed-off-by: Gowtham M <gowthamm@ami.com>
2025-09-05ShellPkg: Deprecate EFI_UNICODE_COLLATION_PROTOCOL_GUIDGowtham M3-10/+1
As EFI_UNICODE_COLLATION_PROTOCOL_GUID is being deprecated. Remove the instances used in ShellPkg. Cc: Sachin Ganesh <sachinganesh@ami.com> Signed-off-by: Gowtham M <gowthamm@ami.com>
2025-09-05MdeModulePkg: Deprecate EFI_UNICODE_COLLATION_PROTOCOL_GUIDGowtham M7-69/+13
Adding to the previous commit deprecating EFI_UNICODE_COLLATION_PROTOCOL_GUID in MdeModulePkg. Cc: Sachin Ganesh <sachinganesh@ami.com> Signed-off-by: Gowtham M <gowthamm@ami.com>
2025-09-05FatPkg/EnhanceFatDxe:Deprecate EFI_UNICODE_COLLATION_PROTOCOL_GUIDGowtham M2-14/+1
EFI_UNICODE_COLLATION_PROTOCOL_GUID was deprecated in favor of a newer version EFI_UNICODE_COLLATION_PROTOCOL2_GUID which provides improved language support and better extensibility. It was officially removed from UEFI specifications 2.10A and 2.11 and should no longer be used in current implementations. Cc: Sachin Ganesh <sachinganesh@ami.com> Signed-off-by: Gowtham M <gowthamm@ami.com>
2025-09-05MdePkg/Include: Deprecate EFI_DEVICE_IO_PROTOCOLGowtham M2-265/+0
EFI_DEVICE_IO_PROTOCOL is deprecated in the previous commit. Hence, removing related header file and guid definition. Cc: Sachin Ganesh <sachinganesh@ami.com> Signed-off-by: Gowtham M <gowthamm@ami.com>
2025-09-05ShellPkg/Library: Deprecate EFI_DEVICE_IO_PROTOCOLGowtham M5-5/+0
gEfiDeviceIoProtocolGuid identifies EFI_DEVICE_IO_PROTOCOL, which provided low-level I/O and MMIO access for UEFI drivers. It was removed in UEFI 2.10A and 2.11 due to overlapping functionality with modern protocols like EFI_PCI_IO_PROTOCOL and EFI_CPU_IO2_PROTOCOL. These newer protocols offer improved modularity, abstraction, and safety, making EFI_DEVICE_IO_PROTOCOL obsolete. Cc: Sachin Ganesh <sachinganesh@ami.com> Signed-off-by: Gowtham M <gowthamm@ami.com>
2025-09-05MdePkg/Include: Deprecate UNICODE_COLLATION_INTERFACEGowtham M1-5/+0
Remove UNICODE_COLLATION_INTERFACE typedef since unused and removed from UEFI 2.10A and 2.11 specifications. Cc: Sachin Ganesh <sachinganesh@ami.com> Signed-off-by: Gowtham M <gowthamm@ami.com>
2025-09-05MdePkg/Include: Deprecate EFI_NVDIMM_LABEL_FLAGS_UPDATINGGowtham M1-5/+0
The EFI_NVDIMM_LABEL_FLAGS_UPDATING flag is used in UEFI to indicate that an update was in progress across multiple Label Storage Areas (LSAs) on NVDIMM devices. Its purpose was to help ensure atomicity in the event of interruptions like power loss or system crashes. It is deprecated in UEFI 2.10 and 2.11, as label index blocks and checksums now provide better atomicity and consistency without requiring this flag. Cc: Sachin Ganesh <sachinganesh@ami.com> Signed-off-by: Gowtham M <gowthamm@ami.com>
2025-09-05MdePkg/Include: Deprecate EFI_NVDIMM_LABEL_FLAGS_RESERVEDGowtham M1-6/+0
EFI_NVDIMM_LABEL_FLAGS_RESERVED is a reserved bit in the NVDIMM label flags field, intended for future use. It was removed in UEFI 2.10A and 2.11 as it had no defined function and was unused in implementations. Cc: Sachin Ganesh <sachinganesh@ami.com> Signed-off-by: Gowtham M <gowthamm@ami.com>
2025-09-05MdePkg/Include: Deprecate EFI_IP4_CONFIG_PROTOCOLGowtham M2-179/+0
EFI_IP4_CONFIG_PROTOCOL is deprecated in the previous commit. Hence, removing related header file and guid definition. Cc: Sachin Ganesh <sachinganesh@ami.com> Signed-off-by: Gowtham M <gowthamm@ami.com>
2025-09-05ShellPkg/Library: Deprecate EFI_IP4_CONFIG_PROTOCOLGowtham M3-3/+0
EFI_IP4_CONFIG_PROTOCOL is superseded by EFI_IP4_CONFIG2_PROTOCOL, which provides better support for modern network stack requirements. It was officially removed from UEFI specifications 2.10A and 2.11 and should no longer be used in current implementations. Cc: Sachin Ganesh <sachinganesh@ami.com> Signed-off-by: Gowtham M <gowthamm@ami.com>
2025-09-05MdePkg: Add support for PCIe Extended IDsNanjinmoorthyj1-0/+42
Add PTM (001F) structure in MdePkg. Signed-off-by: Nanjinmoorthy <nanjinmoorthyj@ami.com>
2025-09-05ShellPkg: Add support for PCIe Extended IDsNanjinmoorthyj2-2/+41
Add a support to print PTM (001F) structure. Signed-off-by: Nanjinmoorthy <nanjinmoorthyj@ami.com>
2025-09-05MdePkg: Enable CompilerIntrinsicsLib for LoongArchChao Li2-0/+12
When arrays are lager enough, LoongArch compilers(such as GCC or Clang) will replace some libc functions to improve performace, which may cause building failures. Enabling this library can link edk2's own libc functions and fix this problem. Signed-off-by: Chao Li <lichao@loongson.cn> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn>
2025-09-05BaseTools: PatchCheck.py: Allow MultiPkg Commits For Subject CheckOliver Smith-Denny1-3/+9
Subject Check was added to PatchCheck.py to enforce that if a package was touched in a commit that it be referenced in the subject line. However, this is impractical for multipackage commits with many packages, e.g. when stack cookies were added, every package was touched, but in a rote way, and it is not reasonable to put every package in a subject line. This updates PatchCheck.py to check if ignore_multi_package is set and if so only require that package names be included in the subject if there are fewer than 3 packages touched. Otherwise, PatchCheck will require the message to start with `Global:` to indicate it touches more than 3 packages. Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
2025-09-05BaseTools/PatchCheck.py: Check CI Options Before ParsingOliver Smith-Denny1-1/+1
PatchCheck.py currently parses the CI options as the last step it does before reporting results. This means that the other checking logic cannot use any of the CI options that are passed in. This updates the order of operations to process CI options before running other checks so that they can be used in performing checks. Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
2025-09-04UefiCpuPkg/MpInitLib: Ensure AP wake up on WakeUpByInitSipiSipi modePhil Noh3-2/+20
If AP loop mode is not Halt loop, it is found that the AP in ApInitDone state exits the loop mode immediately when WAKEUP_AP_SIGNAL is signaled at the first step of AP wake up. When WakeUpByInitSipiSipi is enabled, it is possible that the AP could clear StartupApSignal buffer before the BSP sends Init-Startup IPI to the AP. In the case, it causes that the BSP frees AP reset vector buffer even though AP wake up is in process. This results in an exception error. To ensure AP wake up, it is expected that the AP is in the known non-executable state before the AP wakeup signal. The issue happens when the AP is disabled through the MP service of gEfiMpServiceProtocolGuid->EnableDisableAP(FALSE) and enabled later through gEfiMpServiceProtocolGuid->EnableDisableAP(TRUE). In the flow, the AP that in MINOTOR-MWAIT-Loop or Run-Loop can respond to the WAKEUP_AP_SIGNAL before the BSP sends the INIT-SIPI-SIPI. Signed-off-by: Phil Noh <Phil.Noh@amd.com>
2025-09-04CryptoPkg: Add SNI supportINDIA\kanagavels8-1/+190
Add Server Name Indication support. Signed-off-by: Kanagavel S <Kanagavels@ami.com>
2025-09-04NetworkPkg/TlsDxe: Add SNI supportINDIA\kanagavels1-0/+4
Add Server Name Indication Support. Signed-off-by: Kanagavel S <kanagavels@ami.com>
2025-09-04MdePkg/Nvme.h: Add Power Loss Signaling definationHunter Chang1-3/+34
Add Nvme 2.1 spec update, specifically for Power Loss Signaling. 1. Update field in Identify Controller Data for Power Loss Signaling Information. 2. Add Power Loss Signaling Mode defination. 3. Add Power Loss Signaling feature identifer defination. Signed-off-by: Hunter Chang <hunter.chang@intel.com>
2025-09-04BaseTools: Update architectures in target.templateGao Qihang1-2/+2
- Remove IPF since it's no longer supported in edk2. - Rename AArch64 to AARCH64 for greater accuracy. - Add newly supported RISCV64 and LOONGARCH64. Cc: Chao Li <lichao@loongson.cn> Signed-off-by: Gao Qihang <gaoqihang@loongson.cn>
2025-09-04MdeModulePkg/UiApp: Remove unused variableQihang Gao1-6/+0
Since the variable mLanguageString is not used at all, remove it to make code clean. Signed-off-by: Qihang Gao <gaoqihang@loongson.cn>