summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
41 hoursUnitTestFrameworkPkg/SampleGoogleTest: Add missing override keywordHEADmasterMichael D Kinney2-2/+2
Add missing override keyword to c++ classes. Found by the clang++ compiler. Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
42 hoursMaintainers.txt: Replace Swee Aun with Star as reviewer for StandaloneMmPkgStar Zeng1-1/+1
Swee Aun has left Intel, replace Swee Aun with Star as reviewer for StandaloneMmPkg. Signed-off-by: Star Zeng <star.zeng@intel.com>
44 hoursRedfishPkg/JsonLib: Define NO_MSABI_VA_FUNCS for GCC X64Michael D Kinney1-1/+1
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 <michael.d.kinney@intel.com>
45 hoursCryptoPkg/BaseCryptLib: Fix MODULE_TYPE for unit testsMichael D Kinney1-2/+2
Update INF for BaseCryptLib used with host based unit tests to use a MODULE_TYPE of HOST_APPLICATION to make sure the correct compiler/linker flags are used. Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
45 hoursCryptoPkg/BaseCryptLib: Remove tolower() for unit testsMichael D Kinney1-26/+0
tolower() is always provided by the standard C library. Remove the implementation of tolower() from UnitTestHostCrtWrapper.c that is only used when building host based unit tests. PR https://github.com/tianocore/edk2/pull/11217 attempted to resolve this issue by renaming tolower() to avoid duplicate symbols. This change removes this workaround as well. Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
47 hoursUefiCpuPkg/MtrrLib: Update unit tests for CLANGPDBMichael D Kinney1-1/+2
Update [BuildOptions] so CLANGPDB matches MSFT to support Windows/clang builds of MtrrLib host-based unit tests. Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
48 hoursMdePkg/Library/BaseLib: Remove __chkstk() from BaseLibMichael D Kinney3-20/+0
Remove workaround for GCC compilers that is no longer required. Keeping this implementation of __chkstk() generates duplicate symbol build failures with Windows/CLANGPDB builds host-based unit test builds. Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
2 daysMdePkg/Test/MockSmmServicesTableLib: Fix struct initMichael D Kinney1-2/+17
CLANGDWARF generates errors for missing braces in initialization of complex structures. Expand the initialization of EFI_SMM_CPU_IO2_PROTOCOL in LocalSmst to set each function pointer to NULL. Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
2 daysMdeModulePkg/Test/Include: Fix SecurityManagement include guardMichael D Kinney1-1/+1
Fix mimatched macro name of include guard in MockSecurityManagementLib.h. This was found with unit test build using CLANGDWARF. Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
2 daysMdeModulePkg/Universal/DisplayEngineDxe: Fix GCCNOLTO errorMichael D Kinney1-0/+1
Fix potentially uninitialized local variable Index. Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
3 daysNetworkPkg/UefiPceBcDxe/GoogleTest: Add missing EFIAPIMichael D Kinney1-0/+3
CLANGDWARF generates a build error for calling convention mismatch in UdpRead(), UdpWrite(), and Configure() mock functions. Add EFIAPI so mock function matches function prototype of function being mocked. Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
3 daysNetworkPkg/Dhcp6Dxe/GoogleTest: Fix init of complex structMichael D Kinney1-2/+4
CLANGDWARF generates build error for missing braces when initializing a complex structure. Change initialization of EFI_DHCP6_IA local variable to a call to ZeroMem() instead. Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
3 daysMdeModulePkg/Universal/DriverSampleDxe: Fix VFR warningsMichael D Kinney1-1/+0
Remove default from checkbox statement that is not part of the checkbox statement syntax to remove VFR compiler warning. Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
3 daysOvmfPkg/IntelTdx: Update TDVF README.mdStanislaw Grams1-10/+19
TDVF cannot be mapped as a pflash device. The script referenced in README.md must use the -bios option instead. TDX support in QEMU and KVM has been upstreamed, so the URLs should be updated to point to upstream repositories. Signed-off-by: Stanislaw Grams <stanislaw.grams@intel.com>
3 daysSecurityPkg: Tpm2DeviceLibFfa: Recognize CRB Interface Version 2Kun Qin1-1/+2
This change adds the recognition of TPM devices that supports CRB interface v2. Signed-off-by: Kun Qin <kun.qin@microsoft.com>
3 daysSecurityPkg: Tpm2DeviceLibDTpm: Recognize CRB Interface Version 2Kun Qin1-1/+2
This change adds the recognition of TPM devices that supports CRB interface v2. Signed-off-by: Kun Qin <kun.qin@microsoft.com>
3 daysMdePkg: TpmPtp: Add CRB Interface Version 2 DefinitionKun Qin1-2/+3
Introduces support for CRB Interface Version 2 as defined in the TCG PC Client Platform TPM Profile (PTP) Specification v1.06. This enables firmware to identify TPMs that support the CRB buffer interface. Signed-off-by: Kun Qin <kun.qin@microsoft.com>
4 daysArmVirtPkg/ArmVirtQemu,ArmVirtQemuKernel: Allow users to enable SNPDimitri Daskalakis2-8/+0
Modern ARM server platforms support SNP for PXE boot. I tested PXE boot with ArmVirtQemu and needed to enable SNP. Signed-off-by: Dimitri Daskalakis <dimitri.daskalakis1@gmail.com>
4 days.pytool: Update Uncrustify to 73.0.11Michael Kubacki1-3/+3
Uncrustify release https://github.com/tianocore/uncrustify/releases/tag/73.0.11 The only functional change in this release from 73.0.10 is to reduce file parsing messages during execution: ``` uncrustify prints each file it is parsing at system error level, which is by default printed. For MdeModulePkg along, this creates 1,000 lines of logs, just saying which file is being parsed. This is noise in the log, so this commit downgrades the print to user information, which is not printed by default. ``` Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
4 daysBaseTools/VfrCompile: Fix compiler warning C++17 does not allow registerVishal Oliyil Kunnil3-13/+13
The register keyword was deprecated in C++11 and removed in C++17, which causes multiple compiler warnings when building VfrCompile: "ISO C++17 does not allow ‘register’ storage class specifier". Resolve the warnings by removing instances of register keyword. Signed-off-by: Vishal Oliyil Kunnil <vishalo@qti.qualcomm.com>
4 daysArmPkg: ArmPsciMpServicesDxe: Fix MPIDR usage from CoreInfoShriram Masanamuthu Chinnathurai1-1/+1
The `GET_MPIDR_AFFINITY_BITS` macro masks MT_BIT in ArmReadMpidr (), but `CoreInfo[Index].Mpidr` wasn't masked by the same macro which causes a mismatch even if it is the same MPIDR value. This change uses the same `GET_MPIDR_AFFINITY_BITS` macro for `CoreInfo[Index].Mpidr` to fix the core index searching logic. Signed-off-by: Kun Qin <kuqin@microsoft.com>
4 daysArmPkg: ArmPsciMpServicesDxe: Fix core disable/enable if the timer expiresKun Qin1-1/+3
When an AP is waken up to perform some operation with a time out period specified, the expired timer will put the core into `CpuStateFinished` state. This will make the subsequent enable/disable AP core fail to proceed, which is unexpected and inconsistent with the rest of the handling in this module (`CpuStateIdle` and `CpuStateFinished` are generally treated the same). This change extends the accepted state of CPU to `CpuStateFinished` for AP enable/disable interface to fix calls on timer expired APs. Signed-off-by: Kun Qin <kun.qin@microsoft.com>
5 daysMdeModulePkg/UnicodeCollation: Fix uninitialized variable usageHemaAnmisha1-0/+2
Build failed with the below error: error: variable 'Status' is used uninitialized when PcdUnicodeCollation2Support is FALSE. Fixing this issue by initializing Status unconditionally. This is a regression issue caused by below Edk2 commit a46697f73532dbaa84babacc887cd5ccd8c4fdc2 Signed-off-by: HemaAnmisha <hema.anmisha.kalavakolanu@intel.com>
5 daysStandaloneMmPkg: Optimize MM core image size alignmentHongbin1 Zhang1-1/+4
It is incorrect for MM core image size alignment, it just add alignment parameter for alignment. It will increase size if the image size is already aligned. After optimize, it will ignore this case. Signed-off-by: Hongbin1 Zhang <hongbin1.zhang@intel.com> Cc: Ray Ni <ray.ni@intel.com> Cc: Star Zeng <star.zeng@intel.com> Cc: Dun Tan <dun.tan@intel.com> Cc: Sami Mujawar <sami.mujawar@arm.com> Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
5 daysMdeModulePkg/DxeMain: Add debug code for Event Group notify functionsPhil Noh1-1/+13
There are a lot of notify callback events for Event Groups. Usually they are not reported unless there is a debug code in the callback itself. The debug message helps to check which/when the callback is registered and executed in POST. Also helps to notice the callback sequence. It depends on DEBUG_EVENT flag enabled by PcdFixedDebugPrintErrorLevel PCD token. Signed-off-by: Phil Noh <Phil.Noh@amd.com>
9 daysMdeModulePkg/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>
9 daysMdeModulePkg/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>
9 daysEmbeddedPkg/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>
9 daysEmbeddedPkg/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>
9 daysEmbeddedPkg/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>
9 daysOvmfPkg/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>
9 daysOvmfPkg/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>
10 daysOvmfPkg/MemFd: switch Microvm build to includeGerd Hoffmann1-48/+1
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
10 daysOvmfPkg/MemFd: switch OvmfPkgIa32X64 build to includeGerd Hoffmann1-40/+1
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
10 daysOvmfPkg/MemFd: add AmdSev changes, switch AmdSev build to includeGerd Hoffmann2-66/+15
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
10 daysOvmfPkg/MemFd: move MEMFD config from OvmfPkgX64 to include fileGerd Hoffmann2-61/+121
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
10 daysOvmfPkg: 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>
11 daysStandaloneMmPkg/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>
11 daysFmpDevicePkg/Library: Correct comment descriptionDamien-Chen1-1/+1
Correct comment description. Signed-off-by: Damien Chen <inkfan130924783@gmail.com>
12 daysArmVirtPkg: 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>
12 daysOvmfPkg: 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>
12 daysOvmfPkg/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>
12 daysOvmfPkg/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>
12 daysMdePkg: 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>
12 daysOvmfPkg/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>
12 daysShellPkg/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>
12 daysMdePkg/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>
12 daysMdePkg: Add MockSpiNorFlashProtocolPaddyDeng1-0/+113
Add MockSpiNorFlashProtocol for google test components to use. Signed-off-by: PaddyDeng <paddydeng@ami.com>
12 daysMaintainers.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>
13 daysMdeModulePkg: 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>