summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
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>
2025-07-09StandaloneMmPkg: Split MmEvent to a separate DriverHongbin1 Zhang7-273/+485
Due to PEIM will do following MM notify event under API mode: 1.MM end of dxe notify Event 2.MM ready to lock notify Event 3.MM ready to boot notify Event 4.MM exit boot services notify Event It will conflict with the notify event in MmCommunicationDxe.inf on edk2 bootloader under API mode, so split following MmEvent to MmCommunicationNotifyDxe.inf, and avoid run this driver under API mode. Signed-off-by: Hongbin1 Zhang <hongbin1.zhang@intel.com> Cc: Ray Ni <ray.ni@intel.com> Cc: Star Zeng <star.zeng@intel.com> Cc: Jiaxin Wu <jiaxin.wu@intel.com> Cc: Dun Tan <dun.tan@intel.com> Cc: Khor Swee Aun <swee.aun.khor@intel.com> Cc: Sami Mujawar <sami.mujawar@arm.com> Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
2025-07-09UefiCpuPkg: Apply ReadOnly on Ap loop buffers.Aaron Pop4-39/+163
In the MpInitLib, pages are allocated for the APs, and data is copied into them. Depending on the allocation type, Nx needs to be removed from the pages to allow the processors to execute. Additionally, ReadOnly needs to be applied to the pages after they have been filled with the instructions that the APs need to execute. Signed-off-by: Aaron Pop <aaronpop@microsoft.com> Co-authored-by: Oliver Smith-Denny <osde@microsoft.com>
2025-07-09MdeModulePkg: MdeModulePkg.dec update PcdDxeNxMemoryProtectionPolicy.Aaron Pop1-2/+1
Update the comments for PcdDxeNxMemoryProtectionPolicy which contained old information. Signed-off-by: Aaron Pop <aaronpop@microsoft.com> Co-authored-by: Oliver Smith-Denny <osde@microsoft.com>
2025-07-09MdeModulePkg: Leak Memory if Not RW on FreePagesOliver Smith-Denny4-0/+98
Currently, if the DebugClearMemory bit is set in the PcdDebugPropertyMask, CoreConvertPagesEx will attempt to write a pattern to the pages being freed. However, it does not check that the page is writeable, which will cause a page fault if not. Furthermore, if NX protections are not enabled, the core does not ensure that any freed pages are RW, which is the state expected when they are allocated next. If they are not RW, the allocating driver will crash trying to use them. This patch updates the page freeing code to query the memory attributes protocol, if present, for the attributes. If this call fails or the attributes are not RW at a minimum, the core leaks the memory (returning success to the caller). If the memory attribute protocol is not present (either because a platform doesn't produce it or it is before the protocol has been produced, the core continues with freeing memory. This is either before the CPU Arch protocol is available (so drivers can't change memory attributes) or otherwise matches existing behavior. This was deemed the best approach to let memory that can't be guaranteed to be RW leak instead of letting a driver crash when allocating it. It was deemed less brittle to simply leak the memory instead of attempting to change the attributes. Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
2025-07-08Maintainers.txt: Remove MaintainersChasel Chiu1-1/+0
Remove unavailable maintainer for UefiPayloadPkg - Linus Liu Signed-off-by: Chasel Chiu <chasel.chiu@intel.com>
2025-07-08ArmVirtPkg: Remove unnecessary dependency on EmbeddedPkgAkshay Behl3-3/+0
These libraries required dependency on EmbeddedPkg for the FdtHob which has been moved to MdePkg. This dependency is not needed anymore and can now be removed. Signed-off-by: Akshay Behl <cap2k4@rivosinc.com> Co-authored-by: Dhaval Sharma <dhaval@rivosinc.com>
2025-07-08OvmfPkg/RiscVVirt: Remove unnecessary PCDAkshay Behl1-1/+0
Signed-off-by: Akshay Behl <cap2k4@rivosinc.com> Co-authored-by: Dhaval Sharma <dhaval@rivosinc.com>
2025-07-08UefiCpuPkg/CpuTimerDxeRiscV64: Use DT based timer frequency in Timer driverAkshay Behl2-4/+5
There is GetPerformanceCounterProperties() that relies on Device Tree to fetch timer frequency and removes the dependency from the PCDs, use that instead. Signed-off-by: Akshay Behl <cap2k4@rivosinc.com> Co-authored-by: Dhaval Sharma <dhaval@rivosinc.com>
2025-07-08UefiCpuPkg/CpuDxeRiscV64: Use DT based timer frequency for CPU driverAkshay Behl3-2/+3
There is GetPerformanceCounterProperties() that relies on Device Tree to fetch timer frequency and removes the dependency from the PCDs, use that instead. Signed-off-by: Akshay Behl <cap2k4@rivosinc.com> Co-authored-by: Dhaval Sharma <dhaval@rivosinc.com>
2025-07-08MdePkg, EmbeddedPkg: Moved definition of Fdt Guid to MdePkgAkshay Behl3-2/+3
MdePkg has a more refined implementation of Fdt as compared to the EmbeddedPkg which was the initial implementation, hence moving the Fdt Guid from EmbeddedPkg to MdePkg. Continuous-integration-options: PatchCheck.ignore-multi-package Signed-off-by: Akshay Behl <cap2k4@rivosinc.com> Co-authored-by: Dhaval Sharma <dhaval@rivosinc.com>
2025-07-08UefiCpuPkg: TimerLib support to fetch freq from DTAkshay Behl2-7/+56
On RISC-V platforms, just like other platforms, we need to pass various information from one stage to another (hartid/cmo operations etc). Also there are some settings like Timer freq which are platform dependent which use PCDs. Today hartid is extracted through Firmware Context (custom in mem structure passed from one stage to another). For CMO we have a features HOB. Going forward we would like to have a standard mechanism to pass on such information and DT is handy as it can easily carry all this information (in some cases nodes already exists). This patch implement timebase frequency extraction from DT. Signed-off-by: Akshay Behl <cap2k4@rivosinc.com> Co-authored-by: Dhaval Sharma <dhaval@rivosinc.com>
2025-07-08UefiPayloadPkg: Remove UGA supportGuoMinJ3-4/+1
The Universal Graphics Adapter (UGA) is a graphic abstraction. The UGA I/O and Draw protocols are deprecated since UEFI 2.0 was introduced. Cf. the UEFI spec v2.9: "Appendix L - EFI 1.10 Protocol Changes and Deprecation List" section L.2 "Deprecated Protocols" Remove the UGA support. Signed-off-by: GuoMinJ <newexplorerj@gmail.com> Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
2025-07-08OvmfPkg: Remove UGA supportGuoMinJ12-13/+2
The Universal Graphics Adapter (UGA) is a graphic abstraction. The UGA I/O and Draw protocols are deprecated since UEFI 2.0 was introduced. Cf. the UEFI spec v2.9: "Appendix L - EFI 1.10 Protocol Changes and Deprecation List" section L.2 "Deprecated Protocols" Remove the UGA support. Signed-off-by: GuoMinJ <newexplorerj@gmail.com> Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
2025-07-08ShellPkg: Remove UGA supportGuoMinJ4-8/+0
The Universal Graphics Adapter (UGA) is a graphic abstraction. The UGA I/O and Draw protocols are deprecated since UEFI 2.0 was introduced. Cf. the UEFI spec v2.9: "Appendix L - EFI 1.10 Protocol Changes and Deprecation List" section L.2 "Deprecated Protocols" Remove the UGA support. Signed-off-by: GuoMinJ <newexplorerj@gmail.com> Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
2025-07-08MdePkg: Remove UGA supportGuoMinJ8-462/+0
The Universal Graphics Adapter (UGA) is a graphic abstraction. The UGA I/O and Draw protocols are deprecated since UEFI 2.0 was introduced. Cf. the UEFI spec v2.9: "Appendix L - EFI 1.10 Protocol Changes and Deprecation List" section L.2 "Deprecated Protocols" Remove the UGA support. Signed-off-by: GuoMinJ <newexplorerj@gmail.com> Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
2025-07-08MdeModulePkg/GraphicsConsoleDxe UGAGuoMinJ4-311/+18
The Universal Graphics Adapter (UGA) is a graphic abstraction. The UGA I/O and Draw protocols are deprecated since UEFI 2.0 was introduced. Cf. the UEFI spec v2.9: "Appendix L - EFI 1.10 Protocol Changes and Deprecation List" section L.2 "Deprecated Protocols" Remove the UGA support. Signed-off-by: GuoMinJ <newexplorerj@gmail.com> Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
2025-07-08MdeModulePkg/ConSplitterDxe UGAGuoMinJ5-731/+53
The Universal Graphics Adapter (UGA) is a graphic abstraction. The UGA I/O and Draw protocols are deprecated since UEFI 2.0 was introduced. Cf. the UEFI spec v2.9: "Appendix L - EFI 1.10 Protocol Changes and Deprecation List" section L.2 "Deprecated Protocols" Remove the UGA support. Signed-off-by: GuoMinJ <newexplorerj@gmail.com> Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
2025-07-08MdeModulePkg: Remove UGA supportGuoMinJ7-194/+58
The Universal Graphics Adapter (UGA) is a graphic abstraction. The UGA I/O and Draw protocols are deprecated since UEFI 2.0 was introduced. Cf. the UEFI spec v2.9: "Appendix L - EFI 1.10 Protocol Changes and Deprecation List" section L.2 "Deprecated Protocols" Remove the UGA support. Signed-off-by: GuoMinJ <newexplorerj@gmail.com> Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
2025-07-08EmulatorPkg: Remove UGA supportGuoMinJ12-87/+84
The Universal Graphics Adapter (UGA) is a graphic abstraction. The UGA I/O and Draw protocols are deprecated since UEFI 2.0 was introduced. Cf. the UEFI spec v2.9: "Appendix L - EFI 1.10 Protocol Changes and Deprecation List" section L.2 "Deprecated Protocols" Remove the UGA support. Signed-off-by: GuoMinJ <newexplorerj@gmail.com> Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
2025-07-08BaseTools: Remove UGA supportGuoMinJ2-211/+0
The Universal Graphics Adapter (UGA) is a graphic abstraction. The UGA I/O and Draw protocols are deprecated since UEFI 2.0 was introduced. Cf. the UEFI spec v2.9: "Appendix L - EFI 1.10 Protocol Changes and Deprecation List" section L.2 "Deprecated Protocols" Remove the UGA support. Signed-off-by: GuoMinJ <newexplorerj@gmail.com> Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
2025-07-08ArmVirtPkg: Remove UGA supportGuoMinJ4-4/+0
The Universal Graphics Adapter (UGA) is a graphic abstraction. The UGA I/O and Draw protocols are deprecated since UEFI 2.0 was introduced. Cf. the UEFI spec v2.9: "Appendix L - EFI 1.10 Protocol Changes and Deprecation List" section L.2 "Deprecated Protocols" Remove the UGA support. Signed-off-by: GuoMinJ <newexplorerj@gmail.com> Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
2025-07-08ArmPkg: Remove UGA supportGuoMinJ2-4/+1
The Universal Graphics Adapter (UGA) is a graphic abstraction. The UGA I/O and Draw protocols are deprecated since UEFI 2.0 was introduced. Cf. the UEFI spec v2.9: "Appendix L - EFI 1.10 Protocol Changes and Deprecation List" section L.2 "Deprecated Protocols" Remove the UGA support. Signed-off-by: GuoMinJ <newexplorerj@gmail.com> Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
2025-07-08OvmfPkg/PlatformDxe: register log buffer as efi config tableGerd Hoffmann2-0/+28
If a memory debug log buffer is present, register the buffer location as config table so the OS can find and show it. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2025-07-08EmbeddedPkg/PrePiMemoryAllocationLib: Add reserved memory allocationsVishal Oliyil Kunnil1-0/+74
PrePiMemoryAllocationLib does not implement functions to allocate EfiMemoryReservedType. These are implemented in other instances of MemoryAllocationLib (Dxe, Uefi, PiSmmCore, SmmMemory). Add AllocateReservedPages() and AllocateAlignedReservedPages() functions to make it consistent with other MemoryAllocationLib intstances. Signed-off-by: Vishal Oliyil Kunnil <vishalo@qti.qualcomm.com>
2025-07-08OvmfPkg/PlatformDebugLibIoPort: Add check for MemDebugLogWriteLuigi Leonardi1-1/+3
This check is present for every call to `MemDebugLogWrite` but it is missing here. This may cause an unwanted write to the buffer, when the buffer's address is not null and MemDebug is disabled. Signed-off-by: Luigi Leonardi <leonardi@redhat.com>
2025-07-08OvmfPkg: Pass command-line args to PR EvalMichael Kubacki1-1/+14
Allow PR eval to operate with the same input variable values as the build command would. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2025-07-08MdeModulePkg: Don't Allocate Page 0Oliver Smith-Denny6-98/+8
Currently DxeIpl attempts to set page 0 to all 0's and to create a memory allocation HOB for it. However, DxeIpl will also unmap the page when mapping page tables and if null detection is not enabled, DxeCore will set the page to 0, regardless of allocation status. Because no consumers are using the memory allocation HOB for page 0, drop it. Instead, ensure that PeiCore and DxeCore do not allow allocating page 0; it should always be reserved for null pointer detection. It also complicates the story for platforms that are attempting to audit the system and ensure that no modules are using page 0. With these memory allocation HOBs in place, it is difficult to tell if it is simply DxeIpl who has allocated the memory or another module. This commit drops the memory allocation HOB publishing and ensures that DxeCore and PeiCore do not allocate page 0. DxeCore already will not allocate page 0 to callers of AllocatePages who call with a type other than AllocateAddress, this just changes so that AllocateAddress cannot allocate at page 0 (which if null detection is enabled will cause a page fault). PeiCore does not have AllocateAddress and so this ensures standard allocations do not receive page 0. Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
2025-07-08OvmfPkg: Don't Allocate Page 0Oliver Smith-Denny2-74/+0
OvmfPkg has copied the MdeModulePkg DxeIpl behavior to create a memory allocation HOB for page 0. That is being changed (see that commit for details), so also remove it here. Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
2025-07-08UefiPayloadPkg: Don't Allocate Page 0Oliver Smith-Denny5-98/+0
UefiPayloadPkg has copied the MdeModulePkg DxeIpl behavior to create a memory allocation HOB for page 0. That is being changed (see that commit for details), so also remove it here. Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
2025-07-08BaseTools: Improve report generation for Nested Fvs.Aaron Pop1-7/+15
Build report would not detect a nested FV if the nested FV was not in a subsection of an FFS statement. Modify the build report to better handle some of the variations of nested FVs. Failing Example: [Fv.FvName1] INF <path to some driver>.inf [Fv.FvName0] FILE FV_IMAGE = B25ACDEF-39CE-4FA5-B50A-33E24DB1BDDF { SECTION FV_IMAGE = FvName1 } Working Example: [Fv.FvName1] INF <path to some driver>.inf [Fv.FvName0] FILE FV_IMAGE = DA04F6BF-A0FD-47EC-928B-5101A6C95026 { SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE { SECTION FV_IMAGE = FvName1 } } Signed-off-by: Aaron Pop <aaronpop@microsoft.com>
2025-07-08OvmfPkg: add qemu vars documentationGerd Hoffmann1-0/+88
Add documentation for the qemu uefi variable store. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2025-07-08OvmfPkg/VirtMmCommunicationDxe: better usage hintGerd Hoffmann1-1/+8
Print per-arch help lines with qemu usage information. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2025-07-08OvmfPkg/RiscVVirt: enable qemu uefi variable store supportGerd Hoffmann2-1/+17
Add QEMU_PV_VARS build option, when enables the firmware build will support (and require) the qemu uefi variable store. This also enables proper (as-in: actually being secure) secure boot support. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2025-07-08OvmfPkg/VirtMmCommunicationDxe: enable riscv64Gerd Hoffmann1-6/+6
Add RISCV64 support. Configuration is identical to AARCH64. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2025-07-08OvmfPkg/VirtMmCommunicationDxe: limit to 64-bit archsGerd Hoffmann1-5/+6
32-bit architecture (ia32 + arm) are not supported. Update inf file accordingly. Add a VALID_ARCHITECTURES line. Drop ARM configuration. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2025-07-05CryptoPkg: Enable the time check flag.INDIA\kanagavels1-1/+1
REF:https://github.com/tianocore/edk2/issues/11245 Enable the time check flag to verify the current time during the TLS certificate validation. Signed-off-by: Kanagavel S <kanagavels@ami.com>
2025-07-04UefiPayloadPkg: Add BlSupportDxe AArch64 supportAjan Zhong2-0/+109
Introduce AArch64 architecture support in BlSupportDxe. Translation table would be created based on the memory maps, which is provided by bootloader, in case MMU is disabled when execution is handed over to Universal Payload. Signed-off-by: Ajan Zhong <ajan.zhong@newfw.com>
2025-07-04UefiPayloadPkg: Add Architecture layer to support multiple architecturesAjan Zhong4-84/+128
Move IA32 and X64 architectures specified code to corresponding files. Signed-off-by: Ajan Zhong <ajan.zhong@newfw.com>
2025-07-04ArmPkg,MdePkg,UefiCpuPkg,ArmPlatformPkg,ArmVirtPkg,UefiPayloadPkg: Move ↵Ajan Zhong19-17/+14
ArmMmuLib Move ArmMmuLib from ArmPkg to UefiCpuPkg for easy maintaining. Continuous-integration-options: PatchCheck.ignore-multi-package Signed-off-by: Ajan Zhong <ajan.zhong@newfw.com>
2025-07-04ArmPkg: Drop PcdNormalMemoryNonshareableOverride supportAjan Zhong4-72/+10
There are no upstream platforms sets this Pcd, this Pcd was introduced by ArmVExpress-CTA15-A7. Signed-off-by: Ajan Zhong <ajan.zhong@newfw.com>
2025-07-04ArmPkg,ArmPlatformPkg,ArmVirtPkg: Add UefiCpuPkg to AcceptableDependenciesAjan Zhong3-2/+5
Since ArmMmuLib.h has been moved to UefiCpuPkg, add corresponding dec file to AcceptableDependencies to ArmPkg, ArmPlatformPkg and ArmVirtPkg. Continuous-integration-options: PatchCheck.ignore-multi-package Signed-off-by: Ajan Zhong <ajan.zhong@newfw.com>
2025-07-04ArmPkg,ArmPlatformPkg,ArmVirtPkg,UefiCpuPkg: Move ArmMmuLib.h to UefiCpuPkgAjan Zhong13-6/+18
Move the ArmMmuLib interface definition to UefiCpuPkg, with this change, MMU libraries for ARM, AARCH64, RiscV, LongArch64 architectures all reside in UefiCpuPkg. Continuous-integration-options: PatchCheck.ignore-multi-package Signed-off-by: Ajan Zhong <ajan.zhong@newfw.com>
2025-07-04OvmfPkg: add runtime switch for sdcard supportGerd Hoffmann2-1/+16
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2025-07-04OvmfPkg: add sdcard supportGerd Hoffmann3-0/+11
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2025-07-04OvmfPkg: switch IntelTdx to OptHw include files.Gerd Hoffmann2-21/+3
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2025-07-04OvmfPkg: switch AmdSev to OptHw include files.Gerd Hoffmann2-21/+3
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2025-07-04OvmfPkg: switch CloudHw to OptHw include files.Gerd Hoffmann2-21/+3
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>