summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
21 hoursMdePkg/BaseLib: Support IMPCTL1, IMPCTL2 and TLBRPRMD on LoongArchHEADmasterDongyan Qian3-9/+71
Add CsrRead(), CsrWrite() and CsrXChg() support for IMPCTL1 (0x80), IMPCTL2 (0x81) and TLBRPRMD (0x8F). These selectors currently reach the unsupported-selector trap instead of a CSR instruction. Define the register numbers, add the IMPCTL1/2 dispatch range and extend the existing TLB refill range and instruction tables through TLBRPRMD. Preserve the existing handling of all other selectors. The register definitions follow LoongArch Reference Manual Volume 1, version 1.10, sections 7.4.18, 7.4.19 and 7.5.17. IMPCTL field semantics remain implementation-specific; this change only enables CSR access. Link: https://loongson.github.io/LoongArch-Documentation/LoongArch-Vol1-EN.html Signed-off-by: Dongyan Qian <qiandongyan@loongson.cn>
36 hoursMaintainers.txt: Add Khalid Ali as PcAtChipsetPkg maintainerMichael D Kinney1-0/+1
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
36 hoursMaintainers.txt: Promote Star Zeng to UefiCpuPkg maintainerMichael D Kinney1-1/+1
Promote Star Zeng from reviewer to maintainer of UefiCpuPkg. Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
36 hoursMaintainers.txt: Update maintainers and reviewersMichael D Kinney1-18/+0
BaseTools: Remove Guillermo Antonio Palomino Sosa FmpDevicePkg: Remove Wei6 Xu IntelFsp2Pkg: Remove Ray Ni MdeModulePkg: Remove Dandan Bi, Ray Ni PcAtChipsetPkg: Remove Ray Ni SecurityPkg: Remove Min Xu StandaloneMmPkg: Remove Ray Ni, Dun Tan, Eduardo Cuevas Farfan UefiCpuPkg: Remove Ray Ni, Dun Tan, Eduardo Cuevas Farfan UefiPayloadPkg: Remove Shuo Liu Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
39 hoursCryptoPkg/BaseCryptLib: Remove redundant uint64_t typedefThamballi Sreelalitha1-2/+0
The typedef 'uint64_t' in CryptParallelHash.h conflicts with the same typedef defined in openssl/include/openssl/e_os2.h when both headers are included in the same translation unit. This causes a redefinition error with strict compiler flags (-Werror,-Wtypedef-redefinition). The uint64_t type is already provided through the include chain: InternalCryptLib.h -> openssl/evp.h -> openssl/e_os2.h Removing the redundant typedef resolves the conflict while maintaining compatibility, as the type is still available through the proper include chain. Signed-off-by: Thamballi Sreelalitha <sreelali@qti.qualcomm.com>
42 hoursSecurityPkg: Add MM random number protocol providerDoug Flick3-0/+224
Add a reusable MM_STANDALONE RNG protocol producer backed by the platform-selected RngLib so MM consumers can obtain entropy without depending on the DXE protocol database. Signed-off-by: Doug Flick <dougflick@microsoft.com>
43 hoursUefiCpuPkg/CpuExceptionHandlerLib: Follow AAPCS in exception handlerThamballi Sreelalitha1-2/+10
Add frame record in CommonExceptionEntry before calling CommonCExceptionHandler to comply with AArch64 AAPCS calling convention. This also allows the debugger to reconstruct the full call stack when a crash occurs in any UEFI module. Known Limitation : This only fixes the CommonExceptionEntry() link in the chain. The final hop from CommonExceptionEntry()'s frame record back into the interrupted function's own frame is still just the x29 value captured at exception time. If the exception was taken while the interrupted function's prologue or epilogue was still executing, that frame record may be incomplete or already torn down, and FP-chain unwinding can produce an incorrect or truncated backtrace for that last frame. Signed-off-by: Thamballi Sreelalitha <sreelali@qti.qualcomm.com>
44 hoursMdePkg,MdeModulePkg: Introduce Enter4Byte/Exit4Byte In SpiNorFlashJedecSfdpVincent Ke12-76/+395
Follow JESD216H 6.4.19, DWORD 16 Introduce Enter4Byte/Exit4Byte In SpiNorFlashJedecSfdp And SpiNorFlash Fixes: #13171 Continuous-integration-options: PatchCheck.ignore-multi-package Signed-off-by: Vincent Ke <vincentke@ami.com>
45 hoursMdePkg: AArch64: AsmMacroLib.h: Use PE Friendly Section SyntaxOliver Smith-Denny1-0/+9
Clang prior to at least v23.1.4 used to merge ELF style section names for PE targets. However, https://github.com/llvm/llvm-project/pull/199625 changed that behavior to only occur for MinGW. This causes newer versions of clang to not merge together .text sections in edk2 binaries, creating very large images. This commit changes the ASM_FUNC and ASM_FUNC_ALIGN macros to not use the ELF style syntax when building PE images and instead use PE style section syntax to ensure the sections get merged. Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
2 daysDynamicTablesPkg: Add SMBIOS Type 45 generatorSimon Wang4-1/+937
Add the SMBIOS Type 45 Firmware Inventory Information generator. Validate the fields defined by SMBIOS 3.9.0. Resolve optional associated component handles from generator and object tokens. Signed-off-by: Simon Wang <simowang@nvidia.com> Signed-off-by: Girish Mahadevan <gmahadevan@nvidia.com>
2 daysDynamicTablesPkg: Add Firmware Inventory CM objectsGirish Mahadevan2-0/+91
Add Arch Common objects and Configuration Manager object parsers for SMBIOS Type 45 Firmware Inventory Information and associated components. Signed-off-by: Girish Mahadevan <gmahadevan@nvidia.com>
2 daysMdeModulePkg/LogoDxe: Add support for loading logo from FVThamballi Sreelalitha9-30/+359
Add support for loading logos from FREEFORM FFS files identified by PcdLogoFileGuid. When the PCD is zero or invalid, preserve the existing HII-based logo loading path. When the PCD is valid non-zero, select the logo from the corresponding RAW FFS file in the firmware volume, including compressed and uncompressed section layouts. Key Difference - LogoDxe: HII fallback always works (embedded logo available) - LogoFfsDxe: HII fallback returns EFI_NOT_FOUND (no embedded logo) Update LogoDxe file descriptions, copyright notices, include ordering, and INF annotations. Consolidate module includes into single shared header. Signed-off-by: Thamballi Sreelalitha <sreelali@qti.qualcomm.com>
2 daysUefiPayloadPkg: PayloadLoaderPeim: Use DUMP_HEX MacroOliver Smith-Denny1-28/+1
PayloadLoaderPeim had a DumpFdt() function that replicated hex dumping logic; use DUMP_HEX from DebugLib.h instead. The print changes to have the prefix for every row instead of the top. Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
2 daysUefiCpuPkg: RegisterCpuFeaturesLib: Use DUMP_HEX MacroOliver Smith-Denny1-9/+1
RegisterCpuFeaturesLib was implementing its own hex dumping logic; use the DebugLib.h macro instead. The print changes to uppercase hex. Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
2 daysTcgTpmPkg: TpmLib: Use DUMP_HEX MacroOliver Smith-Denny1-15/+1
TpmLib was implementing its own hex dumping; use the DebugLib.h macro instead. The print changes by having lines of 16 bytes instead of one byte per line. Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
2 daysSecurityPkg: Use DUMP_HEX MacroOliver Smith-Denny7-225/+29
Several places in SecurityPkg were implementing their own hex dumping logic; use the DebugLib.h macro instead. The prints change slightly by having the prefix per row. Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
2 daysRedfishPkg: Use DUMP_HEX MacroOliver Smith-Denny3-66/+3
RedfishDebugLib defined a DumpBuffer() function that replicates functionality for hex dumping. Drop this and use DUMP_HEX instead. The print changes slightly now by having the MAC heading on every line, not just the top. Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
2 daysOvmfPkg: Use DUMP_HEX MacroOliver Smith-Denny3-86/+7
Two places in OvmfPkg were implementing their own hex dumping logic; use the DebugLib.h implementation instead. The prints change slightly by having the prefix per line, not just in the header. Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
2 daysMdeModulePkg: Use DUMP_HEX MacroOliver Smith-Denny8-287/+20
Several places in MdeModulePkg were implementing their own versions of hex dumping logic; use the DebugLib.h macro instead. Prints change slightly, they are now standardized with uppercase hex, prefixes on every row instead of in the header only, and VarCheckHiiLib no longer indents rows with *ASCII*. Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
2 daysManageabilityPkg: Use DUMP_HEX MacroOliver Smith-Denny4-84/+14
Several places in ManageabilityPkg were implementing their own hex dumping logic; use the DebugLib.h macro instead. The prints change slightly, they are now standardized on uppercase hex and with spacing between hex values. Prefixes now are on every row instead of only the top. Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
2 daysEmulatorPkg: Redfish: Use DUMP_HEX MacroOliver Smith-Denny1-53/+1
RedfishPlatformHostInterfaceLib in EmulatorPkg was implementing its own hex dumping logic; use the DebugLib.h macro instead. The print changes slightly, it no longer has custom rows or the address/size header. Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
2 daysDynamicTablesPkg: Use DUMP_HEX MacroOliver Smith-Denny6-100/+14
Several places in DynamicTablesPkg implemented their own hex dumping loging; use the DebugLib.h macro instead. The prints change slightly here, they are now standardized with uppercase hex values and do not have custom address and length prints. Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
2 daysArmPlatformPkg: PlatformPei: Use DUMP_HEXOliver Smith-Denny1-19/+3
PlatformPei implements its own hex dumping; use the DebugLib.h macro instead. The print changes slightly here, it used to be lowercase hex and only have a single prefix, now each line carries the prefix (Digest or VendorInfo). Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
2 daysMdePkg: DebugLib: Add DUMP_HEX MacroMike Turner1-0/+71
Per issue #9665 (originally BZ 1371), this adds a DUMP_HEX macro to DebugLib.h to nicely format printing hexadecimal values from memory. This pattern is widely used across edk2 and platforms, but every location implements its own version. Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
3 daysOvmfPkg/IntelTdx: Record Secure Boot default breaking changeStanislaw Grams1-1/+23
Document the IntelTdxX64 Secure Boot and shell default changes as a behavioral breaking change. Link the upstream tracking issue and provide migration guidance for builds relying on the previous defaults. Signed-off-by: Stanislaw Grams <stanislaw.grams@intel.com>
3 daysOvmfPkg/IntelTdx: Enable Secure Boot and drop the shell by defaultStanislaw Grams1-2/+2
The Config-B TDX firmware shipped with SECURE_BOOT_ENABLE=FALSE and BUILD_SHELL=TRUE by default, so a default production build performed no Secure Boot image verification and embedded the full UEFI Shell, giving an attacker an unauthenticated command environment. Default SECURE_BOOT_ENABLE to TRUE and BUILD_SHELL to FALSE, matching the hardened AmdSevX64 posture. Both remain overridable on the build command line (-D FLAG=VALUE) for development. With Secure Boot enabled the shell FV is already excluded by ShellDxe.fdf.inc. Signed-off-by: Stanislaw Grams <stanislaw.grams@intel.com>
3 daysOvmfPkg/PeilessStartupLib: Fail closed on Secure Boot store init errorStanislaw Grams1-2/+14
InitializePlatform() called PlatformInitEmuVariableNvStore() and discarded its return value. That store holds the authenticated Secure Boot variables (PK/KEK/db/dbx) that gate image verification, and it is populated from a flash template that can be influenced through the untrusted fw_cfg path. If initialization failed the boot continued with an unverified Secure Boot configuration. Propagate the failure out of InitializePlatform() so the pei-less startup dead-loops instead of proceeding with an invalid variable store. Signed-off-by: Stanislaw Grams <stanislaw.grams@intel.com>
3 daysDynamicTablesPkg: Add Arm SCMI SSDT generatorVarshit Pandya5-0/+1267
Add an Arm SSDT generator that describes SCMI ACPI devices using the ARML0001 hardware identifier. Generate the SCMI device properties for PCC transports, power capping and monitoring, and system telemetry protocols. Validate the SCMI device, protocol, transport, and PCC subspace relationships before generating AML. Use the semantic AmlLib SCMI interfaces to generate transport and protocol properties, and keep generator-specific definitions in a private header. Iterate over the direction-indexed transport arrays when validating common and protocol-exclusive channels. Register the SCMI generator for AARCH64 builds. Signed-off-by: Varshit Pandya <varshit.pandya@arm.com>
3 daysDynamicTablesPkg: Add Arm SCMI Configuration Manager objectsVarshit Pandya2-0/+107
Add Arm namespace Configuration Manager objects describing SCMI ACPI devices, PCC transports, and supported protocols. Represent A2P and P2A transport references using direction-indexed token arrays. Add the corresponding Configuration Manager object parsers. Signed-off-by: Varshit Pandya <varshit.pandya@arm.com>
3 daysDynamicTablesPkg/AmlLib: Add SCMI package generation APIsVarshit Pandya2-0/+509
Add semantic AML generation APIs for SCMI transport and protocol properties. Keep the low-level String, Integer, and Package object constructors private. The new APIs create, attach, and clean up the required AML objects internally, reducing the risk of invalid attachments and leaked nodes. Signed-off-by: Varshit Pandya <varshit.pandya@arm.com>
3 daysMdeModulePkg/Core: Add resource and GCD verificationAaron Pop1-0/+282
Add debug verification for Resource Descriptor HOBs. Parse both v1 and v2 Resource Descriptor HOBs, and warn about overlapping ranges. Check I/O resources separately from memory and MMIO resources. Print the complete GCD memory space map starting at address zero and represent any gaps as non-existent memory with These changes are for debug purposes only. Examining the debug output will enable a platform owner to view overlapping resource hobs, and show gaps in the memory map based upon input from the PEI phase. Signed-off-by: Aaron Pop <aaronpop@microsoft.com>
3 daysUefiPayloadPkg: Add EFI_HOB_RESOURCE_DESCRIPTOR2 supportAaron Pop5-13/+10
Update consumers of ResourceDescriptorHobs to understand both EFI_HOB_TYPE_RESOURCE_DESCRIPTOR and EFI_HOB_TYPE_RESOURCE_DESCRIPTOR2. Signed-off-by: Aaron Pop <aaronpop@microsoft.com>
3 daysUefiCpuPkg: Add EFI_HOB_RESOURCE_DESCRIPTOR2 supportAaron Pop2-23/+23
Update consumers of ResourceDescriptorHobs to understand both EFI_HOB_TYPE_RESOURCE_DESCRIPTOR and EFI_HOB_TYPE_RESOURCE_DESCRIPTOR2. Signed-off-by: Aaron Pop <aaronpop@microsoft.com>
3 daysStandaloneMmPkg: Add EFI_HOB_RESOURCE_DESCRIPTOR2 supportAaron Pop5-16/+76
Update consumers of ResourceDescriptorHobs to understand both EFI_HOB_TYPE_RESOURCE_DESCRIPTOR and EFI_HOB_TYPE_RESOURCE_DESCRIPTOR2. Signed-off-by: Aaron Pop <aaronpop@microsoft.com>
3 daysOvmfPkg: Add EFI_HOB_RESOURCE_DESCRIPTOR2 supportAaron Pop7-83/+87
Update consumers of ResourceDescriptorHobs to understand both EFI_HOB_TYPE_RESOURCE_DESCRIPTOR and EFI_HOB_TYPE_RESOURCE_DESCRIPTOR2. Signed-off-by: Aaron Pop <aaronpop@microsoft.com>
3 daysIntelFsp2WrapperPkg: Add EFI_HOB_RESOURCE_DESCRIPTOR2 supportAaron Pop2-24/+24
Update consumers of ResourceDescriptorHobs to understand both EFI_HOB_TYPE_RESOURCE_DESCRIPTOR and EFI_HOB_TYPE_RESOURCE_DESCRIPTOR2. Signed-off-by: Aaron Pop <aaronpop@microsoft.com>
3 daysIntelFsp2Pkg: Add EFI_HOB_RESOURCE_DESCRIPTOR2 supportAaron Pop1-12/+12
Update consumers of ResourceDescriptorHobs to understand both EFI_HOB_TYPE_RESOURCE_DESCRIPTOR and EFI_HOB_TYPE_RESOURCE_DESCRIPTOR2. Signed-off-by: Aaron Pop <aaronpop@microsoft.com>
3 daysEmulatorPkg: Add EFI_HOB_RESOURCE_DESCRIPTOR2 supportAaron Pop1-5/+5
Update consumers of ResourceDescriptorHobs to understand both EFI_HOB_TYPE_RESOURCE_DESCRIPTOR and EFI_HOB_TYPE_RESOURCE_DESCRIPTOR2. Signed-off-by: Aaron Pop <aaronpop@microsoft.com>
3 daysArmPlatformPkg: Add EFI_HOB_RESOURCE_DESCRIPTOR2 supportAaron Pop1-16/+17
Update consumers of ResourceDescriptorHobs to understand both EFI_HOB_TYPE_RESOURCE_DESCRIPTOR and EFI_HOB_TYPE_RESOURCE_DESCRIPTOR2. Signed-off-by: Aaron Pop <aaronpop@microsoft.com>
3 daysMdeModulePkg/Core: Add EFI_HOB_RESOURCE_DESCRIPTOR2 supportAaron Pop7-301/+366
Add IS_RESOURCE_DESCRIPTOR_HOB() and GET_RESOURCE_HOB_ATTRIBUTE() macros to handle both EFI_HOB_TYPE_RESOURCE_DESCRIPTOR and EFI_HOB_TYPE_RESOURCE_DESCRIPTOR2 HOB types. Resource Descriptor v2 HOBs use ResourceCapabilities instead of ResourceAttribute, so they cannot be accessed through the same union member. Update consumers of ResourceDescriptorHobs to understand both EFI_HOB_TYPE_RESOURCE_DESCRIPTOR and EFI_HOB_TYPE_RESOURCE_DESCRIPTOR2. Signed-off-by: Aaron Pop <aaronpop@microsoft.com>
3 daysMdeModulePkg/HobPrintLib: Enable EFI_HOB_TYPE_RESOURCE_DESCRIPTOR2Aaron Pop1-13/+42
Enable printing EFI_HOB_TYPE_RESOURCE_DESCRIPTOR2 type hobs from HobPrintLib. PrintResourceDiscriptorHob was misspelled. While adding Descriptor2 support, fix up spelling of Descriptor in existing function. Signed-off-by: Aaron Pop <aaronpop@microsoft.com>
3 daysUefiPayloadPkg: Add BuildResourceDescriptor2Hob to HobLibsAaron Pop3-0/+135
Add BuildResourceDescriptor2Hob to HobLib implementations as described in PI 1.10 specification. Signed-off-by: Aaron Pop <aaronpop@microsoft.com>
3 daysStandaloneMmPkg: Add BuildResourceDescriptor2Hob to HobLibsAaron Pop2-0/+56
Add BuildResourceDescriptor2Hob to HobLib implementations as described in PI 1.10 specification. Signed-off-by: Aaron Pop <aaronpop@microsoft.com>
3 daysEmbeddedPkg: Add BuildResourceDescriptor2Hob to HobLibsAaron Pop2-0/+78
Add BuildResourceDescriptor2Hob to HobLib implementations as described in PI 1.10 specification. Signed-off-by: Aaron Pop <aaronpop@microsoft.com>
3 daysArmVirtPkg: Add BuildResourceDescriptor2Hob to HobLibsAaron Pop1-0/+58
Add BuildResourceDescriptor2Hob to HobLib implementations as described in PI 1.10 specification. Signed-off-by: Aaron Pop <aaronpop@microsoft.com>
3 daysMdeModulePkg: Add BuildResourceDescriptor2Hob to HobLibsAaron Pop1-0/+46
Add BuildResourceDescriptor2Hob to HobLib implementations as described in PI 1.10 specification. Signed-off-by: Aaron Pop <aaronpop@microsoft.com>
3 daysMdePkg: Add BuildResourceDescriptor2Hob to HobLibsAaron Pop7-1/+272
Add BuildResourceDescriptor2Hob to HobLib implementations as described in PI 1.10 specification. Signed-off-by: Aaron Pop <aaronpop@microsoft.com>
3 daysMdePkg: Add Resource Descriptor Hob 2 defined in PI 1.10Aaron Pop1-13/+79
Define EFI_HOB_TYPE_RESOURCE_DESCRIPTOR2 and EFI_HOB_TYPE_RESOURCE_DESCRIPTOR2 Signed-off-by: Aaron Pop <aaronpop@microsoft.com>
3 daysArmPkg/ArmPsciMpServicesDxe: Validate processor index before accessKajal Agarwal1-3/+3
EnableDisableAP() reads the target processor's status before checking whether ProcessorNumber is within the per-processor data array. An invalid index can therefore cause an out-of-bounds read instead of returning EFI_NOT_FOUND. Move the per-processor data access after the existing caller, processor index and BSP checks. Read StatusFlag through the validated CpuData pointer to preserve the existing behavior for valid APs. Signed-off-by: Kajal Agarwal <kajal.agarwal@arm.com>
3 daysOvmfPkg/RiscVVirt: Use FMP Capsule as cab payload for fwupdXiang W1-1/+1
The GenerateCapsule tool produces a properly formatted FMP Capsule, but the original script placed the raw Firmware Volume into the .cab archive. fwupd expects the payload to already be in EFI Capsule format when using the org.uefi.capsule protocol, and incorrectly re-packages the raw FD, resulting in a capsule that the firmware rejects. Copy the generated FMP Capsule into the .cab instead of the raw payload so that fwupd can use it directly without further modification. Signed-off-by: Xiang W <wangxiang@iscas.ac.cn>