| Age | Commit message (Collapse) | Author | Files | Lines |
|
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>
|
|
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
|
|
Promote Star Zeng from reviewer to maintainer of UefiCpuPkg.
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Add BuildResourceDescriptor2Hob to HobLib implementations
as described in PI 1.10 specification.
Signed-off-by: Aaron Pop <aaronpop@microsoft.com>
|
|
Add BuildResourceDescriptor2Hob to HobLib implementations
as described in PI 1.10 specification.
Signed-off-by: Aaron Pop <aaronpop@microsoft.com>
|
|
Add BuildResourceDescriptor2Hob to HobLib implementations
as described in PI 1.10 specification.
Signed-off-by: Aaron Pop <aaronpop@microsoft.com>
|
|
Add BuildResourceDescriptor2Hob to HobLib implementations
as described in PI 1.10 specification.
Signed-off-by: Aaron Pop <aaronpop@microsoft.com>
|
|
Add BuildResourceDescriptor2Hob to HobLib implementations
as described in PI 1.10 specification.
Signed-off-by: Aaron Pop <aaronpop@microsoft.com>
|
|
Add BuildResourceDescriptor2Hob to HobLib implementations
as described in PI 1.10 specification.
Signed-off-by: Aaron Pop <aaronpop@microsoft.com>
|
|
Define EFI_HOB_TYPE_RESOURCE_DESCRIPTOR2 and
EFI_HOB_TYPE_RESOURCE_DESCRIPTOR2
Signed-off-by: Aaron Pop <aaronpop@microsoft.com>
|
|
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>
|
|
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>
|