summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2025-07-17CryptoPkg/openssl: turn off warning 4130 for microsoft compilerGerd Hoffmann5-10/+10
Needed to build with openssl-3.5. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2025-07-17CryptoPkg/CrtLib: explicitly define INT32* constantsGerd Hoffmann1-0/+4
Avoids openssl-3.5 trying to figure automatically with some macro magic, which happens to not work with the microsoft compiler. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2025-07-17CryptoPkg/CrtLib: add strpbrk implementationGerd Hoffmann2-0/+25
Needed by openssl-3.5.1. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2025-07-17CryptoPkg/openssl: add ossl_bio_print_labeled_buf stubGerd Hoffmann1-0/+11
New function in openssl 3.5 in a file edk2 replaces with stubs. Add a stub for the new function. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2025-07-17CryptoPkg/openssl: add new generated files to uncrustify exception listGerd Hoffmann1-0/+4
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2025-07-17CryptoPkg/openssl: update generated filesGerd Hoffmann69-563/+28600
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2025-07-17CryptoPkg/openssl: update submodule to openssl-3.5.1 releaseGerd Hoffmann1-0/+0
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2025-07-17MdeModulePkg: FvSimpleFileSystemDxe cumulative codeql issues.Michael Kubacki2-1/+8
Running Codeql on MdeModulePkg/Universal/FvSimpleFileSystemDxe drivers results in codeql errors stemming from missing null tests. Signed-off-by: Aaron Pop <aaronpop@microsoft.com> Co-authored-by: Michael Kubacki <michael.kubacki@microsoft.com> Co-authored-by: Taylor Beebe <tabeebe@microsoft.com> Co-authored-by: pohanch <125842322+pohanch@users.noreply.github.com> Co-authored-by: kenlautner <85201046+kenlautner@users.noreply.github.com> Co-authored-by: Oliver Smith-Denny <osde@linux.microsoft.com> Co-authored-by: Sean Brogan <sean.brogan@microsoft.com> Co-authored-by: Aaron <aaronpop@microsoft>
2025-07-16OvmfPkg/LoongArchVirt: Add SATA supportIvan A. Melnikov2-4/+16
SATA CD-ROMS are still conventionally used in many virtual environments, so it's nice to support them out of the box. Tested with QEMU 9.2.3 with the following controller and drive: qemu-system-loongarch64 -M virt [...] \ -device ahci,id=ahci0,multifunction=on,bus=pcie.0,addr=0x7 \ -drive if=none,id=drive-sata2,media=cdrom,format=raw,aio=threads,file=/path/to/bootable.iso \ -device ide-cd,bus=ahci0.2,drive=drive-sata2,id=sata2,bootindex=102 Signed-off-by: Ivan A. Melnikov <iv@altlinux.org>
2025-07-16PrmPkg: Fix debug log format specifier for PhysicalAddressAaron Li3-7/+7
The debug print incorrectly uses "%016x" to print a UINT64 PhysicalAddress. This can cause truncation since "%x" expects UINT32. Update the format specifier to "%016llx" to properly handle UINT64 values and ensure correct output across all architectures. Signed-off-by: Aaron Li <aaron.li@intel.com>
2025-07-16IntelFsp2Pkg/FspMultiPhaseLib: Remove EFIAPI for local functionRay Ni1-2/+1
FspMultiPhaseWorker() is a local function that's called from FspMultiPhaseMemInitApiHandler() and FspMultiPhaseSiInitApiHandlerV2(). Remove "EFIAPI" from its function header. Signed-off-by: Ray Ni <ray.ni@intel.com> Cc: Chasel Chiu <chasel.chiu@intel.com> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com> Cc: Star Zeng <star.zeng@intel.com> Cc: Ted Kuo <ted.kuo@intel.com> Cc: Ashraf Ali S <ashraf.ali.s@intel.com>
2025-07-16IntelFsp2Pkg/FspCommonLib: Remove unused API SetFspCoreStackPointer()Ray Ni2-45/+2
Signed-off-by: Ray Ni <ray.ni@intel.com> Cc: Chasel Chiu <chasel.chiu@intel.com> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com> Cc: Star Zeng <star.zeng@intel.com> Cc: Ted Kuo <ted.kuo@intel.com> Cc: Ashraf Ali S <ashraf.ali.s@intel.com>
2025-07-16OvmfPkg/AmdSvsmLib: add AmdSvsmQueryProtocolGerd Hoffmann1-0/+47
AmdSvsmQueryProtocol() is a helper function for QUERY_PROTOCOL calls of the core svsm protocol. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2025-07-16UefiCpuPkg/AmdSvsmLib: add AmdSvsmQueryProtocolGerd Hoffmann2-0/+21
AmdSvsmQueryProtocol() is a helper function for QUERY_PROTOCOL calls of the core svsm protocol. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2025-07-15Maintainers.txt: Update reviewer for OvmfPkg/Confidential ComputingStanislaw Grams1-1/+1
Stanislaw Grams replaces Min Xu as the reviewer for patches to OvmfPkg/Confidential Computing Signed-off-by: Stanislaw Grams <stanislaw.grams@intel.com>
2025-07-15OvmfPkg/RiscVVirt: Add PEI phase booting supportTuan Phan4-1/+70
Introduce a switch to select between PEI and PEI less booting modes. Signed-off-by: Tuan Phan <tphan@ventanamicro.com>
2025-07-15OvmfPkg/RiscVVirt: Add PlatformPeim moduleTuan Phan2-0/+188
Introduce PEIM module to support platform initialization during the PEI phase. Signed-off-by: Tuan Phan <tphan@ventanamicro.com>
2025-07-15OvmfPkg/RiscVVirt: PrePiHobListPointerLib: Use scratch register directlyTuan Phan2-24/+3
With firmware context APIs removed, store HobList pointer directly in the scratch register for Peiless booting. Signed-off-by: Tuan Phan <tphan@ventanamicro.com>
2025-07-15OvmfPkg/RiscVVirt: Add PlatformSecLib libraryTuan Phan16-421/+621
Create PlatformSecLib library to support both PEIless and PEI booting modes. Signed-off-by: Tuan Phan <tphan@ventanamicro.com>
2025-07-15UefiCpuPkg/SecCore: Add support for architectures beyond IA32 and X64Tuan Phan6-378/+418
Encapsulate IA32 and X64 code under preprocessor directives to enable module compatibility with other architectures. Signed-off-by: Tuan Phan <tphan@ventanamicro.com>
2025-07-15MdePkg: RISC-V: Add PeiServicesTablePointerLibTuan Phan4-0/+126
Based on PI 1.9, the PEI service pointer will be stored in the scratch register. Signed-off-by: Tuan Phan <tphan@ventanamicro.com>
2025-07-15MdePkg: RISC-V: Remove firmware context APIsTuan Phan2-117/+0
Eliminate the APIs using the scratch register as PI 1.9 specifies it for the PEI service table pointer. Signed-off-by: Tuan Phan <tphan@ventanamicro.com>
2025-07-15UefiCpuPkg/CpuDxeRiscV64: Retrieve booting info from SEC HOB dataTuan Phan2-11/+11
The booting info is now stored in SEC HOB GUID data. Signed-off-by: Tuan Phan <tphan@ventanamicro.com>
2025-07-15UefiCpuPkg: RISC-V: Add SEC HOB Data definitionTuan Phan1-0/+22
Introduce RISC-V SEC HOB Data structure to pass boot information from SEC phase to PEI/DXE phases. Signed-off-by: Tuan Phan <tphan@ventanamicro.com>
2025-07-15OvmfPkg/RiscVVirt: Unlink BaseRiscVFpuLibTuan Phan1-1/+0
BaseRiscVFpuLib is deprecated. Signed-off-by: Tuan Phan <tphan@ventanamicro.com>
2025-07-15UefiCpuPkg: Remove BaseRiscVFpuLibTuan Phan8-76/+2
FPU initialization for RiscV is now handled in CpuLib, rendering this library obsolete. Signed-off-by: Tuan Phan <tphan@ventanamicro.com>
2025-07-15MdePkg/BaseCpuLib: Add FPU initialization support for RISC-VTuan Phan3-2/+25
Enable RISC-V support for the InitializeFloatingPointUnits function. Signed-off-by: Tuan Phan <tphan@ventanamicro.com>
2025-07-15ArmPkg: TimerDxe: Add support for GICv5 PPIsSarah Walker2-4/+38
GICv5 uses a different ID scheme for interrupt numbers to previous GICs; the top bits indicate the type of interrupt (PPI/SPI/LPI). Update TimerDxe to use the new ID scheme for GICv5. As the timer PPIs are architected for GICv5 they should be the same on all GICv5 platforms. Signed-off-by: Sarah Walker <Sarah.Walker2@arm.com>
2025-07-15ArmPkg: ArmGicDxe: Add support for GICv5Ard Biesheuvel11-1/+1047
Add initial driver support for GICv5. This initial driver supports Private Peripheral Interrupts (PPIs) and Shared Peripheral Interrupts (SPIs). Signed-off-by: Sarah Walker <Sarah.Walker2@arm.com> [ardb: Merge v5 support into GicV3Dxe] Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2025-07-15ArmPkg: ArmLib: Add functions to read AA64PFR2 and check GICv5 supportSarah Walker4-0/+39
Signed-off-by: Sarah Walker <Sarah.Walker2@arm.com>
2025-07-15MdePkg: Include: Add defines for AA64PFR2 system registerSarah Walker2-6/+19
The AA64PFR2 system register is required to detect GICv5 support. Signed-off-by: Sarah Walker <Sarah.Walker2@arm.com>
2025-07-15ArmPkg/ArmGicV3Dxe: Make v3 driver AArch64-onlyArd Biesheuvel2-6/+1
Before extending the GicV3Dxe driver with support for GICv5, make the driver AArch64-only to avoid the need for adding support to the 32-bit build, which would be rather pointless. Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2025-07-14MdeModulePkg/Include: change type of buffer address in ArmFfaRxTxBufferInfoLevi Yun6-14/+16
Change type of buffer address type in ArmFfaRxTxBufferInfo so that reduce the type casting. Signed-off-by: Yeoreum Yun <yeoreum.yun@arm.com>
2025-07-14MdeModulePkg/Library: commonize some duplicate code in ArmFfaLibLevi Yun5-225/+194
Some of code for handling Rx/Tx buffer is duplicate. This patch commonize some of duplication routine used in Rx/Tx buffer related functions. Signed-off-by: Yeoreum Yun <yeoreum.yun@arm.com>
2025-07-14MdeModulePkg/Library: add ArmFfaSecLibLevi Yun5-6/+536
To use Arm-FFA intereface in PeilessSec, implments ArmFfaSecLib used by PeilessSec. For example, communicate with TPM service using CRB over ARM-FFA (via Tpm2DeviceLibFfa), PeilessSec need to use Arm-FFA interface. Signed-off-by: Yeoreum Yun <yeoreum.yun@arm.com>
2025-07-14MdeModulePkg: Make PcdFfaTxRxPageCount a PcdsFixedAtBuild PCDLevi Yun1-4/+4
The PcdFfaTxRxPageCount can never be changed dynamically and is configured at build time to specify the size of the Rx/Tx buffers. Therefore, make PcdFfaTxRxPageCount a PcdsFixedAtBuild PCD. Signed-off-by: Yeoreum Yun <yeoreum.yun@arm.com>
2025-07-14MdeModulePkg/Library: fix memory leak Rx/Tx Buffer in ArmFfaPeiLibLevi Yun7-53/+369
The commit e15fe066036da ("MdeModulePkg/Library: make ArmFfaPeiLib available early PEIM stage") uses ArmFfaPeiLib in the early PEIM stage. However, the Rx/Tx buffer allocated in the early PEIM stage uses temporary memory. This results in a memory leak when the temporary memory's heap is relocated to permanent memory. For example, if the Rx/Tx buffer memory is allocated at 0x20006000 in temporary memory, and if offset between temporary memory and permanent is 0x40000000, then: - Once permanent memory installed the temporary memory at 0x20006000 is migrated to 0x60006000. - However, ArmFfaPeiLib allocates new Rx/Tx buffer without freeing the migrated Rx/Tx buffers, i.e. the buffers at 0x60006000. This results in a memory leak as the migrated Rx/Tx buffer area is lost. To address this memory leak, use the MemoryAllocationHob's name, so that the migrated memory area will be reused as Rx/Tx buffer. This patch also includes rename ArmFfaRxTxStmm.c to ArmFfaStandaloneMmRxTxMap.c to keep the file name convention in ArmFfaLib with ArmFfa{Phase}{...}.c Fixes: e15fe066036da ("MdeModulePkg/Library: ...") Signed-off-by: Yeoreum Yun <yeoreum.yun@arm.com> Continuous-integration-options: PatchCheck.ignore-multi-package
2025-07-14SecurityPkg: Add Additional TPM Logging at DEBUG_SECURITYBret Barkelew9-71/+779
This commit adds additional dumping logic to Tpm2DeviceLibDTpm, print at DEBUG_SECURITY to aid in TPM debugging. Signed-off-by: Oliver Smith-Denny <osde@microsoft.com> Co-authored-by: Bret Barkelew <brbarkel@microsoft.com>
2025-07-14SecurityPkg: Move Noisy Logs to DEBUG_SECURITYOliver Smith-Denny2-64/+70
The TPM code is currently very noisy (e.g. in a sample platform, 4,000 of the 5,700 lines printed to the serial port at DEBUG_INFO level were from the TPM code). For TPM debugging, this is very critical information, but for most builds it simply spams the logs and slows down the build. This commit moves the event log and PCR dumping to log at DEBUG_SECURITY level. Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
2025-07-14SecurityPkg: Remove/Downgrade Noisy TCG PrintsOliver Smith-Denny4-37/+1
The TCG code is very noisy when a TPM is connected. This commit downgrades some prints to verbose and removes some others that do not have value (such as function enter and exit prints). Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
2025-07-14MdePkg: Add DEBUG_SECURITY Bit in PcdDebugPrintErrorLevelOliver Smith-Denny2-1/+4
Tcg2Dxe and its libraries are currently the noisiest modules in edk2. For a sample platform printing at INFO level, Tcg2Dxe printed 4,000 lines out of 5,700 total lines printed. This commit defines a DEBUG_SECURITY bit to control the debug output of Tcg2Dxe and other security related components. Most of the output is not useful except for deep debugging of TPM transactions, so it is appropriate to only print when the DEBUG_SECURITY bit is present. Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
2025-07-10Maintainers.txt: Update reviewer for StandaloneMmPkg and UefiCpuPkgEduardo Cuevas Farfan1-0/+2
Add ecuevasf as reviewer for StandaloneMmPkg and UefiCpuPkg Signed-off-by: Eduardo Cuevas Farfan <eduardo.cuevas.farfan@intel.com>
2025-07-10CryptoPkg: Add support for IA32 builds using CLANGPDBNate DeSimone2-27/+28
Implements the _aulldiv() intrinsic function necessary to compile CryptoPkg using the CLANGPDB toolchain. The existing MASM assembly implementation of this function has been converted to NASM to enable it to be used with both the Visual Studio and Clang compilers. Signed-off-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
2025-07-10MdeModulePkg: UsbBusDxe Reset USB port GetPortStatus returns device error.Alok Kulkarni1-2/+9
During USB device enumeration, issuing a hot reset on a port is skipped if there is a reset change status already detected on the port. This can happen when enumerating devices after a host controller soft reset (which drives a hot reset down the ports). However, in certain cases an attached device may not be responsive even if the reset change and connection status bits are set. For e.g., according to xHCI spec section 4.19.5.1 the port reset change bits can be set when a hot reset driven on the port transitions to a warm reset and completes with errors. For such instances it is worthwhile to force a hot reset during enumeration to try and recover unresponsive devices. During enumeration check whether querying port status returns EFI_DEVICE_ERROR and try a port reset if there is a device attached to the port. Signed-off-by: Aaron Pop <aaronpop@microsoft.com>
2025-07-10BaseTools/toolsetup.bat: Set IASL_PREFIX when using Mingw-w64 on WindowsNate DeSimone2-1/+17
If IASL_PREFIX is not already defined, then edksetup.bat should set it. This unifies the behavior between Visual Studio and Mingw-w64. Signed-off-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
2025-07-09BaseTools/tools_def: Use MSVC ABI for CLANGPDB TargetsNate DeSimone1-3/+3
Update the CLANGPDB toolchain configuration to use MSVC ABI targets and retain frame pointers in generated code. This improves compatibility with the Microsoft Debug Interface Access (DIA) SDK and improves debuggability with any debugger that uses the Microsoft PDB parser, for example the Visual Studio debugger or windbg. Without these changes, code generated by the Clang compiler will have a mix of calling conventions. With the current configuration, any function declared with EFIAPI will use the Microsoft x64 calling convention. However, the default calling convention will be the SysV x64 calling convention. This mixing of calling conventions prevents debuggers from decoding the call stack. With these changes, only the Microsoft x64 calling convention will be used. These modifications enable debuggers to properly parse and display call stacks on binaries built with the CLANGPDB toolchain. The changes include: - Switch from GNU ABI target (*-unknown-windowsl-gnu) to MSVC ABI targets (*-pc-windows-msvc) for both IA32 and X64 architectures. - Remove -fseh-exceptions as not supported. - Add -fno-omit-frame-pointer as required for call stack. - Undefine the _MSC_VER macro, and define the __GNUC__ macro, so that pre-processor conditionals will continue to function as expected. Co-authored-by: Muhammad Mustafa <muhammad.mustafa@intel.com> Signed-off-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
2025-07-09Revert "OvmfPkg: Pass command-line args to PR Eval"Michael Kubacki1-14/+1
A change was made to the following pytool releases to prevent a platform from needing to include additional logic to consider command-line build variable parameters for PR evaluation. - edk2-pytool-library v0.23.4 - edk2-pytool-extensions v0.29.11 Commit 33e58db was added as a workaround, but that is no longer needed after these pytool updates, so revert it. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2025-07-09pip-requirements.txt: Update pytoolsMichael Kubacki1-2/+2
Updates pytools to the latest releases to include changes for PR evaluation that include command-line build variable arguments by default in PR evaluation. Versions updated: - edk2-pytool-library v0.23.4 - edk2-pytool-extensions v0.29.11 Full release details are available on the pytool release pages: - https://github.com/tianocore/edk2-pytool-library/releases - https://github.com/tianocore/edk2-pytool-extensions/releases Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2025-07-09edk2/Maintainers.txt: Remove Ray for EmulatorPkgRay Ni1-1/+0
Signed-off-by: Ray Ni <ray.ni@intel.com>
2025-07-09edk2/Maintainers.txt: Replace Ray with Jacek for MdeModulePkg/DeviceRay Ni1-1/+1
Signed-off-by: Ray Ni <ray.ni@intel.com>