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>
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>
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>
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>
When ArmFfaLibDirectMsgReq(2) is preempted, caller of these functions
should resume it works via ArmFfaLibRun() and the secure partition
will be return with FFA_DIRECT_MSG_RESP(2) with return arguments.
However, since ArmFfaLibRun() gets its return in its stack variable,
So caller of ArmFfaLibRun() doesn't get the return arguments from
secure partition.
To resolve this, add output parameter to ArmFfaLibRun() to
receive return arguments.
Continuous-integration-options: PatchCheck.ignore-multi-package
Fixes: 5d1b38dd07 ("ArmPkg: Add ArmFfaLib used in Dxe driver")
Reported-by: Mariam Elshakfy <Mariam.Elshakfy@arm.com>
Signed-off-by: Yeoreum Yun <yeoreum.yun@arm.com>
EFI_UNICODE_COLLATION_PROTOCOL_GUID is deprecated in the
previous commit. Hence, removing related guid definition.
Cc: Sachin Ganesh <sachinganesh@ami.com>
Signed-off-by: Gowtham M <gowthamm@ami.com>
EFI_DEVICE_IO_PROTOCOL is deprecated in the previous commit.
Hence, removing related header file and guid definition.
Cc: Sachin Ganesh <sachinganesh@ami.com>
Signed-off-by: Gowtham M <gowthamm@ami.com>
Remove UNICODE_COLLATION_INTERFACE typedef
since unused and removed from UEFI 2.10A
and 2.11 specifications.
Cc: Sachin Ganesh <sachinganesh@ami.com>
Signed-off-by: Gowtham M <gowthamm@ami.com>
The EFI_NVDIMM_LABEL_FLAGS_UPDATING flag is used in UEFI
to indicate that an update was in progress across multiple
Label Storage Areas (LSAs) on NVDIMM devices.
Its purpose was to help ensure atomicity in the event of
interruptions like power loss or system crashes.
It is deprecated in UEFI 2.10 and 2.11, as label index blocks
and checksums now provide better atomicity and consistency
without requiring this flag.
Cc: Sachin Ganesh <sachinganesh@ami.com>
Signed-off-by: Gowtham M <gowthamm@ami.com>
EFI_NVDIMM_LABEL_FLAGS_RESERVED is a reserved bit in
the NVDIMM label flags field, intended for future use.
It was removed in UEFI 2.10A and 2.11 as it had no
defined function and was unused in implementations.
Cc: Sachin Ganesh <sachinganesh@ami.com>
Signed-off-by: Gowtham M <gowthamm@ami.com>
EFI_IP4_CONFIG_PROTOCOL is deprecated in the previous commit.
Hence, removing related header file and guid definition.
Cc: Sachin Ganesh <sachinganesh@ami.com>
Signed-off-by: Gowtham M <gowthamm@ami.com>
When arrays are lager enough, LoongArch compilers(such as GCC or Clang)
will replace some libc functions to improve performace, which may cause
building failures. Enabling this library can link edk2's own libc
functions and fix this problem.
Signed-off-by: Chao Li <lichao@loongson.cn>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Add Nvme 2.1 spec update, specifically for Power Loss Signaling.
1. Update field in Identify Controller Data for Power Loss Signaling Information.
2. Add Power Loss Signaling Mode defination.
3. Add Power Loss Signaling feature identifer defination.
Signed-off-by: Hunter Chang <hunter.chang@intel.com>
Added the MRDIMM (0x08) entry to the MemoryDeviceMemoryTechnologyTable
in Smbios.h. This enables proper display and decoding of MRDIMM memory
technology in SMBIOS Type 17 structures.
Signed-off-by: Ning Feng <ning.feng@intel.com>
Generate random number using risc-v CPU RNG instructions only,
as for the other architectures. This is safer than using Mersenne
Twister from a seed, which is the current implementation, as the
latter is known to be cryptographically unsafe (e.g. see
https://www.schutzwerk.com/en/blog/attacking-a-rng/)
Signed-off-by: Adriano Cordova <adriano.cordova@canonical.com>
Removed legacy macros and string helper APIs that are no longer used
in the BaseFdtLib implementation. Specifically:
- Dropped strcmp macro that incorrectly expected 3 arguments but
ignored the third parameter.
- Cleaned up other unused macros and redundant string APIs.
These changes align with the current upstream libfdt module and
reduce dead code.
Signed-off-by: Thamballi Sreelalitha <sreelali@qti.qualcomm.com>
Move Fdt Table Guid from EmbeddedPkg to MdePkg to avoid
unnecessary dependencies on EmbeddedPkg for packages like
ShellPkg. This change may affect modules dependent on
EmbeddedPkg but not on MdePkg, which is unlikely.
Also, per 8c721d6, MdePkg has a more refined implementation
of Fdt as compared to the EmbeddedPkg which was the initial
implementation.
Not moving gFdtVariableGuid since it'll be moved to platform
code.
Continuous-integration-options: PatchCheck.ignore-multi-package
Signed-off-by: Prachotan Bathi <prachotan.bathi@arm.com>
Added Google Mock test support for DevicePathLib.
Added OpenProtocol and CloseProtocol for UefiBootServicesTableLib
mock library.
Signed-off-by: Alexander Gryanko <xpahos@gmail.com>
UefiDevicePathLib.inf consumes Boot Services in
MdePkg/Library/UefiDevicePathLib/DevicePathUtilitiesDxeSmm.c
- DevicePathFromHandle().
And so cannot be used by MM_STANDALONE drivers.
Instead, MM_STANDALONE drivers can use UefiDevicePathLibBase.inf
as the DevicePathLib of choice.
Cc: Sachin Ganesh <sachinganesh@ami.com>
Signed-off-by: Gowtham M <gowthamm@ami.com>
The file UefiDevicePathLibStandaloneMm.inf was reintroduced in [#3187] to
give downstream platforms time to transition to UefiDevicePathLibBase.inf
As nearly three years have passed since that change,
and downstream consumers have had sufficient time to migrate,
this library can now be safely removed.
Cc: Sachin Ganesh <sachinganesh@ami.com>
Signed-off-by: Gowtham M <gowthamm@ami.com>
The Serial Bus UART structure was introduced in ACPI 5.0.
This patch defines a revision macro for this structure and
also adds type specific flag macros.
Signed-off-by: Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
According to the recently released ACPI 6.6 specification, the minor
version of the Fixed ACPI Description Table (FADT) should be updated to
revision 6, and the Multiple APIC Description Table (MADT) should use
revision 7. Update the macros to reflect this.
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
ACPI 6.6 introduced new MADT structures for RISC-V and a new static
table RHCT. Add the definitions for these new structures.
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
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>
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>
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>
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>
FFA is a framework that supports various protocols built on top. i.e.
memory protocol, which is nothing that can be done through existing
interfaces.
Instead of requiring protocol authors to check conduit PCD in every
implementation, exposing the ArmCallFfa is a unified way to allow other
protocols to leverage FFA interfaces.
Continuous-integration-options: PatchCheck.ignore-multi-package
Signed-off-by: Kun Qin <kun.qin@microsoft.com>
Update unit tests to use GoogleTestLib.h instead
of gtest.h so the edk2 extensions for google tests
are always available.
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
Create Acpi66.h, which is copied from Acpi65.h, and make the following
changes:
1. Replace all occurences of "6.5/6_5" with "6.6/6_6".
2. Add "ResetVector" in Multiprocessor Wakeup Structure.
3. Add "Test" command for Multiprocessor Wakeup Mailbox.
4. Make Acpi66.h the latest ACPI definitions that Acpi.h contains.
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Signed-off-by: Ceping Sun <cepingx.sun@intel.com>
With interactions between Standalone MM partitions and normal UEFI
environment, there is constant need to convert UUID to GUID and back.
This change added 2 new interfaces to BaseLib that support such usage.
Signed-off-by: Kun Qin <kun.qin@microsoft.com>
Commit e25331fc45
("MdePkg,UefiPayloadPkg: clean up BaseFdtLib API confusion"),
missed out aligning the wrapper for fdt_node_offset_by_property_value
between heade and implementation.
Fix this by updating the header to declare FdtNodeOffsetByPropValue
instead of FdtNodeOffsetByPropertyValue.
Signed-off-by: Leif Lindholm <leif.lindholm@oss.qualcomm.com>
Tpm2AcpiTable revision 5 adds new START_METHOD with Arm FF-A transfer.
add related information and update its generator.
Signed-off-by: Yeoreum Yun <yeoreum.yun@arm.com>