| Age | Commit message (Collapse) | Author | Files | Lines |
|
With FEAT_LPA2, bits[9:8] of a translation table descriptor encode
output address bits[51:50]. Add macros for extracting those upper IPA
address bits and shifting them into the descriptor field.
These macros will be used by code that needs to build or update
AArch64 translation table descriptors for 52-bit IPA/output addresses.
Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
|
|
SPCR defines interrupt-type bit 4 for RISC-V PLIC/APLIC interrupts,
but SerialPortConsoleRedirectionTable.h only defines bits 0 through 3.
Add the missing symbolic constant for the standard RISC-V interrupt
type. This is a header-only change with no change to table layout or
runtime behavior.
Reference: https://learn.microsoft.com/en-us/windows-hardware/drivers/bringup/serial-port-console-redirection-table
Signed-off-by: Djordje Nedic <djordje.nedic@nextsilicon.com>
|
|
Signed-off-by: Ashraf Ali S <ashraf.ali.s@intel.com>
|
|
Add AsciiStrToUintn() and AsciiStrToUint64() to BaseLib. These are
thin wrappers that dispatch to the existing AsciiStrHexToUintnS()/
AsciiStrDecimalToUintnS() (and UINT64 equivalents) based on Base,
which must be 0 (auto-detect via a "0x"/"0X" prefix), 10, or 16.
No new radix-parsing logic is introduced; the existing conversion
routines already cover the bases actually used in practice.
Signed-off-by: Vishal Oliyil Kunnil <vishalo@qti.qualcomm.com>
|
|
Add AsciiIsSpace() to BaseLib, which checks whether an ASCII
character is a space character as defined by the ISO C isspace()
function. This will be used to implement AsciiStrToUintn() and
AsciiStrToUint64().
Signed-off-by: Vishal Oliyil Kunnil <vishalo@qti.qualcomm.com>
|
|
Add AsciiStrRChr() to BaseLib, which returns the last occurrence of
a character in a Null-terminated ASCII string. This mirrors the
existing AsciiStrStr() API style and provides a reusable
implementation for consumers that currently hand-roll this logic.
Signed-off-by: Vishal Oliyil Kunnil <vishalo@qti.qualcomm.com>
|
|
Generate GICv5 related information in IORT table.
Continuous-integration-options: PatchCheck.ignore-multi-package
Co-Developed-by: Yeoreum Yun <yeoreum.yun@arm.com>
Signed-off-by: Sarah Walker <Sarah.Walker2@arm.com>
|
|
Since the IORT specification version E.g[0], Number of ITS node
(a.k.a ITS Group node) must be "1".
To ensure compliance with the specification,
add a sanity check for the number of ITS Group nodes.
Link: https://developer.arm.com/documentation/den0049/latest [0]
Continuous-integration-options: PatchCheck.ignore-multi-package
Signed-off-by: Yeoreum Yun <yeoreum.yun@arm.com>
|
|
This is preparatory patch to support GICv5.
Add GICv5 related structures and update MADT with GICv5
related structures.
Signed-off-by: Sarah Walker <Sarah.Walker2@arm.com>
|
|
This is preparatory patch for GICv5 support.
Create Acpi67.h, which is copied from Acpi66.h and replace all
occurrences of "6.6/6_6" with "6.7/6_7".
Signed-off-by: Sarah Walker <Sarah.Walker2@arm.com>
|
|
PI 1.10 defines a new progress status code,
EFI_SW_DXE_BS_PC_BOOT_OPTION_COMPLETE (EFI_SUBCLASS_SPECIFIC | 0x0A),
reported when a boot option loads, executes, and returns success with
control returned to firmware.
Add the definition to PiStatusCode.h.
Signed-off-by: Sachin Ganesh <sachinganesh@ami.com>
|
|
This change fixes some ECC check failures around the usage of doxygen
keywords.
Signed-off-by: Kun Qin <kun.qin@microsoft.com>
|
|
SMBIOS type 42 record defines its MCHI MCTP information
from DSP0256 specification.
To make DynamicTablesPkg generate SMBIOS type 42 record, add
related header.
Link: [0] https://www.dmtf.org/dsp/DSP0256
Signed-off-by: Yeoreum Yun <yeoreum.yun@arm.com>
|
|
SMBIOS type 42 record defines its Network Host Interface information
from DSP0270 specification.
To make DynamicTablesPkg generate SMBIOS type 42 record, add
related header.
Link: [0] https://www.dmtf.org/dsp/DSP0270
Signed-off-by: Yeoreum Yun <yeoreum.yun@arm.com>
|
|
The page table bitmap of LoongArch64 has been updated, adding present
and writable bits.
Signed-off-by: Chao Li <lichao@loongson.cn>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
|
|
Updated the CpuCfg register definitions from V1.0 to V1.1.
Ten extend words have been added to MdePkg.ci.yaml.
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 a ACPI_AML_STA_DEVICE_STATUS_PRESENT macro without typo,
the previous one should be removed ultimately.
Introduce macros for _STA supported bits:
- STA_BASE_SUPPORTED
- STA_SUPPORTED
Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
|
|
Updated the ACPI code to fix an issue where the template was
outdated and the revision was reporting V5 but the template was still
using the V4 version of the Start Method specific parameters.
Continuous-integration-options: PatchCheck.ignore-multi-package
Signed-off-by: Raymond Diaz <raymonddiaz@microsoft.com>
|
|
[Suggested Solution]
Add the BOS descriptor structure and definition.
Signed-off-by: Marlboro Chuang <marlboro.chuang@dell.com>
Signed-off-by: Jared Pan <jared.pan@dell.com>
|
|
The direct message arguments stripped off the header, making the
underlying FF-A function interface to lose information when it comes to
certain return code, i.e. FFA_YIELD and FFA_INTERRUPT.
This change adds back the header field for this purpose so that the
callers can decide how to act on the corresponding return codes.
It then populates the header field for this purpose in FFA direct
message functions so that the callers can decide how to act on the
corresponding return codes.
Continuous-integration-options: PatchCheck.ignore-multi-package
Signed-off-by: Kun Qin <kun.qin@microsoft.com>
|
|
Add definitions for RiscV processor specific block structure.
Signed-off-by: Yeoreum Yun <yeoreum.yun@arm.com>
|
|
Add definitions for x86 processor specific block structure.
Signed-off-by: Yeoreum Yun <yeoreum.yun@arm.com>
|
|
Add definitions for Arm processor specific block structure and
related sub data structure.
Signed-off-by: Yeoreum Yun <yeoreum.yun@arm.com>
|
|
Add constants for HMAT table's SSLBI and ProximityDoman structures to
industry standards headers for Acpi 6.4, 6.5, and 6.6.
Co-authored-by: Sophia Wang <yodagump@google.com>
Signed-off-by: Oleksandr Tymoshenko <ovt@google.com>
|
|
The CCEL (CC Event Log) ACPI table records measurement logs for
confidential computing platforms. Each measurement specifies the
hash algorithm used, identified by a numeric constant.
The edk2 Code First proposal
"[Code First] Add supporting details of Arm Confidential Compute
Architecture in UEFI spec" (#11383)
https://github.com/tianocore/edk2/issues/11383
extends section 38.2 EFI_CC_MEASUREMENT_PROTOCOL to define
algorithm IDs for:
- SHA-256 (EFI_CC_BOOT_HASH_ALG_SHA256)
- SHA-512 (EFI_CC_BOOT_HASH_ALG_SHA512)
This enables CC types such as Arm CCA to record and interpret
measurements using these hash algorithms.
Add these definitions to the CC measurement header file to align
with the updated specification.
Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
|
|
The edk2 Code First proposal
"[Code First] Add supporting details of Arm Confidential Compute
Architecture in UEFI spec" (#11383)
https://github.com/tianocore/edk2/issues/11383
introduces a new section 38.4.3 'Arm Confidential Compute
Architecture Extension' that defines the mapping between the
TPM PCR indices, the CC event log measurement registers and
the corresponding Arm CCA measurement registers where:
- RIM means Realm Initial Measurement Register and
- REM means Realm Extensible Measurement Register.
TPM PCR Index | CC Measurement | Arm CCA-measurement |
| Register Index | register |
-------------------------------------------------------
0 | 0 | RIM |
1, 7 | 1 | REM[0] |
2~6 | 2 | REM[1] |
8~15 | 3 | REM[2] |
Therefore, add these definitions to the CC measurement header file
to align with the updated specification.
Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
|
|
The following edk2 Code First proposals introduce support for
Arm Confidential Compute Architecture (CCA) in ACPI and UEFI
specifications:
- [Code First] Add supporting details of Arm Confidential Compute
Architecture in ACPI spec (#11384)
https://github.com/tianocore/edk2/issues/11384
- [Code First] Add supporting details of Arm Confidential Compute
Architecture in UEFI spec (#11383)
https://github.com/tianocore/edk2/issues/11383
To support this, define a new CC type for Arm CCA so that CCEL
event logs can be properly identified.
Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
|
|
Although Table 5.5 "DESCRIPTION_HEADER Signatures for tables defined
by ACPI" and the "Links to ACPI-Related Documents" still reference the
"Virtual Firmware Confidential Computing Event Log Table," the CCEL
table has now been formally included in the ACPI specification, see
https://uefi.org/specs/ACPI/6.5/05_ACPI_Software_Programming_Model.html#
description-header-signatures-for-tables-defined-by-acpi
The CCEL (CC Event Log) table is defined in the ACPI 6.5 specification,
section 5.2.34 "CC Event Log ACPI Table":
https://uefi.org/specs/ACPI/6.5/05_ACPI_Software_Programming_Model.html#
cc-event-log-acpi-table
Therefore, move the CCEL table and related definitions to the standard
ACPI header files and update the relevant code to reflect the structure
and macro renaming. Also add the definitions to the ACPI 6.6 headers.
Continuous-integration-options: PatchCheck.ignore-multi-package
Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
|
|
The Ia32 and X64 ProcessorBind.h files had comments about VS2015, but
the warning is still relevant for newer VS versions, so update the
comments to be more general since VS2015 support was removed from the
repo recently.
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
|
|
The WSMT table ProtectionFlags represent a pinky promise from the
firmware that it will implement various secure processes and features,
but we should know what that pinky promise actually represents with
in-code documentation.
Revise the documentation for the Windows SMM Security Mitigation Table
to include detailed descriptions of the Protection Flags, which are
directly drawn from Microsoft's docs.
Update the stable URL to the latest Microsoft docs for cross reference.
Cc: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Jon Kohler <jon@nutanix.com>
|
|
The SVSM_UEFI_MM_PROTOCOL protocol allows to send MM communication buffers to
the SVSM (instead of edk2 MM code) and let SVSM manage EFI variables that way.
This patch adds protocol and call numbers to svsm include file.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
|
Proposed by heinrich.schuchardt@canonical.com:
https://github.com/U-Boot-EFI/EFI_DT_FIXUP_PROTOCOL
Co-authored-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Signed-off-by: Dmitrii Merkurev <dimorinny@google.com>
|
|
Cases when MPXY extension is not present or it fails, the system boot fails.
This is easily reproducible with Qemu master branch.
Remove the constructor and let RAS agent client initialize the MPXY library
and fail graceully in case of errors but the boot process continue.
Signed-off-by: Himanshu Chauhan <himanshu.chauhan@oss.qualcomm.com>
|
|
Signed-off-by: Sean Brogan <sebrogan@microsoft.com>
|
|
Add UEFI-native wrappers for libfdt string list count and search APIs.
Signed-off-by: Thamballi Sreelalitha <sreelali@qti.qualcomm.com>
|
|
Signed-off-by: Star Zeng <star.zeng@intel.com>
|
|
MSVC AARCH64 and CLANGPDB AARCH64 currently use the MS ABI for
variadics in edk2. However, this breaks the AAPCS64 ABI and
interopability with GCC/CLANGDWARF built binaries.
Because the architecture defines the single ABI, MSVC AARCH64 has
little usage, and CLANGPDB AARCH64 is new to edk2, coerce these
toolchains to use the AAPCS64 ABI instead of the MS ABI. This
allows interopability between all supported AARCH64 toolchains
in edk2 for variadics.
Note that variadic functions themselves are unaffected by
this change, e.g. functions that take ... as the last
parameter. This affects the VA_LIST structure and the
associated helpers to parse it.
Continuous-integration-options: PatchCheck.ignore-multi-package
Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
|
|
GCC 17 (upcoming release) is updating the type of
__stack_chk_guard from a void * to a uintptr_t.
This is only a type change, not a size change. However,
it does cause the GCC 17 build to fail because of the
type mismatch.
uintptr_t is defined as unsigned long, which is not
a type edk2 defines. It has the same size as UINTN
on a given system, but on 64 bit systems we have the
same type issue because UINTN is defined as unsigned long long,
not unsigned long.
To work around this and avoid defining a new type in edk2,
use the compiler built in __UINTPTR_TYPE__ which is the
underlying definition in GCC.
This is a backwards compatible change with previous versions
of GCC and CLANGDWARF but also fixes the upcoming definition
change for GCC 17.
Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
|
|
Add the RAS agent client library which is used to communicate to
a remote RAS agent. The RAS agent can be queried about the details
of various hardware error sources in the system.
Signed-off-by: Himanshu Chauhan <himanshu.chauhan@oss.qualcomm.com>
|
|
Add SBI Mpxy client library to communicate using RPMI or other
protocols using SBI MPXY extension.
Signed-off-by: Himanshu Chauhan <himanshu.chauhan@oss.qualcomm.com>
|
|
Add SBI MPXY extension and its function macros.
Signed-off-by: Himanshu Chauhan <himanshu.chauhan@oss.qualcomm.com>
|
|
Extensions should be detected before they can be used. Add a function
to detect the support for an SBI extension using probe extension SBI
function.
Signed-off-by: Himanshu Chauhan <himanshu.chauhan@oss.qualcomm.com>
|
|
Add new error codes defined in SBI relating to shared memory, etc.
Signed-off-by: Himanshu Chauhan <himanshu.chauhan@oss.qualcomm.com>
|
|
This fixes all non-breaking spelling errors in
MdePkg.
Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
|
|
Fix spelling error in definition in Udf.h. Update
consumer in MdeModulePkg.
A temporary backward-compatible alias is provided
for the old misspelled enum name.
Continuous-integration-options: PatchCheck.ignore-multi-package
Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
|
|
Fix spelling errors in definitions in Cxl30.h.
Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
|
|
Fix spelling errors in definitions in
HiiImageDecoder.h.
Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
|
|
Fix spelling errors in definitions in
IpmiNetFnApp.h.
Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
|
|
Fix spelling error in definition in
DriverConfiguration2.h.
A temporary backward-compatible alias is provided
for the old misspelled macro name.
Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
|
|
Fix spelling errors in definitions in Acpi10.h.
Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
|