| 3f0094c1 | 25-Jan-2022 |
Varun Wadekar <vwadekar@nvidia.com> |
feat(gic600ae_fmu): disable SMID for unavailable blocks
This patch updates the gic600_fmu_init function to disable all safety mechanisms for a block ID that is not present on the platform. All safet
feat(gic600ae_fmu): disable SMID for unavailable blocks
This patch updates the gic600_fmu_init function to disable all safety mechanisms for a block ID that is not present on the platform. All safety mechanisms for GIC-600AE are enabled by default and should be disabled for blocks that are not present on the platform to avoid false positive RAS errors.
Change-Id: I52dc3bee9a8b49fd2e51d7ed851fdc803a48e6e3 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| bb5b942e | 05-Apr-2022 |
Yann Gautier <yann.gautier@st.com> |
feat(bl_common): add XLAT tables symbols in linker script
Add __BASE_XLAT_TABLE_START__/_END__ and __XLAT_TABLE_START__/_END__ symbols in the linker script to have them in the .map file. This allows
feat(bl_common): add XLAT tables symbols in linker script
Add __BASE_XLAT_TABLE_START__/_END__ and __XLAT_TABLE_START__/_END__ symbols in the linker script to have them in the .map file. This allows displaying those areas when running memory map script.
Signed-off-by: Yann Gautier <yann.gautier@st.com> Change-Id: I768a459c5cecc403a9b81b36a71397ecc3179f4f
show more ...
|
| 308dce40 | 24-Jan-2022 |
Varun Wadekar <vwadekar@nvidia.com> |
feat(gic600ae_fmu): introduce support for RAS error handling
The GIC-600AE uses a range of RAS features for all RAMs, which include SECDED, ECC, and Scrub, software and bus error reporting. The GIC
feat(gic600ae_fmu): introduce support for RAS error handling
The GIC-600AE uses a range of RAS features for all RAMs, which include SECDED, ECC, and Scrub, software and bus error reporting. The GIC makes all necessary information available to software through Armv8.2 RAS architecture compliant register space.
This patch introduces support to probe the FMU_ERRGSR register to find the right error record. Once the correct record is identified, the "handler" function queries the FMU_ERR<m>STATUS register to further identify the block ID, safety mechanism and the architecturally defined primary error code. The description of the error is displayed on the console to simplify debug.
Change-Id: I7e543664b74457afee2da250549f4c3d9beb1a03 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 0ce220af | 26-Jan-2022 |
Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> |
refactor(el3-runtime): replace ARM_ARCH_AT_LEAST macro with FEAT flags
Replacing ARM_ARCH_AT_LEAST macro with feature specific build options to prevent unconditional accesses to the registers during
refactor(el3-runtime): replace ARM_ARCH_AT_LEAST macro with FEAT flags
Replacing ARM_ARCH_AT_LEAST macro with feature specific build options to prevent unconditional accesses to the registers during context save and restore routines.
Registers are tightly coupled with features more than architecture versions. Henceforth having a feature-specific build flag guarding the respective registers, will restrict any undefined actions.
Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> Change-Id: I809774df580530803c8a6e05a62d8d4de0910e02
show more ...
|
| 6a0da736 | 17-Jan-2022 |
Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> |
refactor(el3-runtime): add arch-features detection mechanism
This patch adds architectural features detection procedure to ensure features enabled are present in the given hardware implementation.
refactor(el3-runtime): add arch-features detection mechanism
This patch adds architectural features detection procedure to ensure features enabled are present in the given hardware implementation.
It verifies whether the architecture build flags passed during compilation match the respective features by reading their ID registers. It reads through all the enabled feature specific ID registers at once and panics in case of mismatch(feature enabled but not implemented in PE).
Feature flags are used at sections (context_management, save and restore routines of registers) during context switch. If the enabled feature flag is not supported by the PE, it causes an exception while saving or restoring the registers guarded by them.
With this mechanism, the build flags are validated at an early phase prior to their usage, thereby preventing any undefined action under their control.
This implementation is based on tristate approach for each feature and currently FEAT_STATE=0 and FEAT_STATE=1 are covered as part of this patch. FEAT_STATE=2 is planned for phase-2 implementation and will be taken care separately.
The patch has been explicitly tested, by adding a new test_config with build config enabling majority of the features and detected all of them under FVP launched with parameters enabling v8.7 features.
Note: This is an experimental procedure and the mechanism itself is guarded by a macro "FEATURE_DETECTION", which is currently being disabled by default.
The "FEATURE_DETECTION" macro is documented and the platforms are encouraged to make use of this diagnostic tool by enabling this "FEATURE_DETECTION" flag explicitly and get used to its behaviour during booting before the procedure gets mandated.
Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> Change-Id: Ia23d95430fe82d417a938b672bfb5edc401b0f43
show more ...
|
| 0263c968 | 28-Mar-2022 |
Joanna Farley <joanna.farley@arm.com> |
Merge changes Ic1796898,I93bd392a into integration
* changes: fix(errata): workaround for Cortex A78 AE erratum 2395408 fix(errata): workaround for Cortex A78 AE erratum 2376748 |
| ad88c370 | 28-Mar-2022 |
Soby Mathew <soby.mathew@arm.com> |
Merge changes from topic "rme-attest" into integration
* changes: feat(rme): add dummy realm attestation key to RMMD feat(rme): add dummy platform token to RMMD |
| a0435105 | 22-Mar-2022 |
Soby Mathew <soby.mathew@arm.com> |
feat(rme): add dummy realm attestation key to RMMD
Add a dummy realm attestation key to RMMD, and return it on request. The realm attestation key is requested with an SMC with the following paramete
feat(rme): add dummy realm attestation key to RMMD
Add a dummy realm attestation key to RMMD, and return it on request. The realm attestation key is requested with an SMC with the following parameters: * Fid (0xC400001B2). * Attestation key buffer PA (the realm attestation key is copied at this address by the monitor). * Attestation key buffer length as input and size of realm attesation key as output. * Type of elliptic curve.
Signed-off-by: Tamas Ban <tamas.ban@arm.com> Signed-off-by: Subhasish Ghosh <subhasish.ghosh@arm.com> Signed-off-by: Soby Mathew <soby.mathew@arm.com> Change-Id: I12d8d98fd221f4638ef225c9383374ddf6e65eac
show more ...
|
| 96a8ed14 | 24-Feb-2022 |
Jiafei Pan <Jiafei.Pan@nxp.com> |
feat(bl2): add support to separate no-loadable sections
Add new options SEPARATE_BL2_NOLOAD_REGION to separate no-loadable sections (.bss, stack, page tables) to a ram region specified by BL2_NOLOAD
feat(bl2): add support to separate no-loadable sections
Add new options SEPARATE_BL2_NOLOAD_REGION to separate no-loadable sections (.bss, stack, page tables) to a ram region specified by BL2_NOLOAD_START and BL2_NOLOAD_LIMIT.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com> Change-Id: I844ee0fc405474af0aff978d292c826fbe0a82fd
show more ...
|
| 9755fd2e | 17-Jan-2021 |
Biwen Li <biwen.li@nxp.com> |
feat(nxp-gic): add some macros definition for gicv3
Add macros as follows, - GICD_ISENABLER_1 - GICD_ISENABLER_3 - GICD_ICENABLER_1 - GICD_ICENABLER_3
Signed-off-by: Biwen Li <biwen
feat(nxp-gic): add some macros definition for gicv3
Add macros as follows, - GICD_ISENABLER_1 - GICD_ISENABLER_3 - GICD_ICENABLER_1 - GICD_ICENABLER_3
Signed-off-by: Biwen Li <biwen.li@nxp.com> Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com> Change-Id: Ia522ab4bc496d9a47613a49829b65db96e2b1279
show more ...
|
| d60364d4 | 18-Feb-2022 |
Jiafei Pan <Jiafei.Pan@nxp.com> |
feat(nxp-crypto): add chassis 3 support
Add Chassis 3 support for CAAM driver.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com> Change-Id: Ied26dd3881489a03017a45966888a61a0813492c |
| df02aeee | 05-Jan-2021 |
Biwen Li <biwen.li@nxp.com> |
feat(nxp-dcfg): add Chassis 3 support
Add support for Chassis 3.
Signed-off-by: Biwen Li <biwen.li@nxp.com> Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com> Change-Id: I85cf68d4f1db81bf344e34dce13799
feat(nxp-dcfg): add Chassis 3 support
Add support for Chassis 3.
Signed-off-by: Biwen Li <biwen.li@nxp.com> Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com> Change-Id: I85cf68d4f1db81bf344e34dce13799ae173aa23a
show more ...
|
| 0f9159b7 | 22-Mar-2022 |
Soby Mathew <soby.mathew@arm.com> |
feat(rme): add dummy platform token to RMMD
Add a dummy platform token to RMMD and return it on request. The platform token is requested with an SMC with the following parameters: * Fid (0xC4000
feat(rme): add dummy platform token to RMMD
Add a dummy platform token to RMMD and return it on request. The platform token is requested with an SMC with the following parameters: * Fid (0xC40001B3). * Platform token PA (the platform token is copied at this address by the monitor). The challenge object needs to be passed by the caller in this buffer. * Platform token len. * Challenge object len.
When calling the SMC, the platform token buffer received by EL3 contains the challenge object. It is not used on the FVP and is only printed to the log.
Signed-off-by: Mate Toth-Pal <mate.toth-pal@arm.com> Signed-off-by: Subhasish Ghosh <subhasish.ghosh@arm.com> Change-Id: I8b2f1d54426c04e76d7a3baa6b0fbc40b0116348
show more ...
|
| d62a210a | 25-Mar-2022 |
Soby Mathew <soby.mathew@arm.com> |
Merge "refactor(rme): reorg existing RMMD EL3 service FIDs" into integration |
| 319fb084 | 22-Mar-2022 |
Soby Mathew <soby.mathew@arm.com> |
refactor(rme): reorg existing RMMD EL3 service FIDs
This patch reworks the GTSI service implementation in RMMD such that it is made internal to RMMD. This rework also lays the ground work for additi
refactor(rme): reorg existing RMMD EL3 service FIDs
This patch reworks the GTSI service implementation in RMMD such that it is made internal to RMMD. This rework also lays the ground work for additional RMMD services which can be invoked from RMM.
The rework renames some of the FID macros to make it more suited for adding more RMMD services. All the RMM-EL31 service SMCs are now routed via rmmd_rmm_el3_handler().
Signed-off-by: Soby Mathew <soby.mathew@arm.com> Change-Id: Ic52ca0f33b79a1fd1deefa8136f9586b088b2e07
show more ...
|
| 3f4d81df | 09-Mar-2022 |
Varun Wadekar <vwadekar@nvidia.com> |
fix(errata): workaround for Cortex A78 AE erratum 2395408
Cortex A78 AE erratum 2395408 is a Cat B erratum that applies to revisions <= r0p1. It is still open.
This erratum states, "A translation t
fix(errata): workaround for Cortex A78 AE erratum 2395408
Cortex A78 AE erratum 2395408 is a Cat B erratum that applies to revisions <= r0p1. It is still open.
This erratum states, "A translation table walk that matches an existing L1 prefetch with a read request outstanding on CHI might fold into the prefetch, which might lead to data corruption for a future instruction fetch"
This erratum is avoided by setting CPUACTLR2_EL1[40] to 1 to disable folding of demand requests into older prefetches with L2 miss requests outstanding.
SDEN is available at https://developer.arm.com/documentation/SDEN-1707912
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Change-Id: Ic17968987ca3c67fa7f64211bcde6dfcb35ed5d6
show more ...
|
| 92e87084 | 09-Mar-2022 |
Varun Wadekar <vwadekar@nvidia.com> |
fix(errata): workaround for Cortex A78 AE erratum 2376748
Cortex A78 AE erratum 2376748 is a Cat B erratum that applies to revisions <= r0p1. It is still open.
The erratum states, "A PE executing a
fix(errata): workaround for Cortex A78 AE erratum 2376748
Cortex A78 AE erratum 2376748 is a Cat B erratum that applies to revisions <= r0p1. It is still open.
The erratum states, "A PE executing a PLDW or PRFM PST instruction that lies on a mispredicted branch path might cause a second PE executing a store exclusive to the same cache line address to fail continuously."
The erratum is avoided by setting CPUACTLR2_EL1[0] to 1 to force PLDW/PFRM ST to behave like PLD/PRFM LD and not cause invalidations to other PE caches. There might be a small performance degradation to this workaround for certain workloads that share data.
SDEN is available at https://developer.arm.com/documentation/SDEN-1707912
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Change-Id: I93bd392a870d4584f3e12c8e4626dbe5a3a40a4d
show more ...
|
| 0a81a421 | 23-Mar-2022 |
Joanna Farley <joanna.farley@arm.com> |
Merge "fix(security): workaround for CVE-2022-23960 for A76AE, A78AE, A78C" into integration |
| 24d3da76 | 16-Oct-2020 |
Yann Gautier <yann.gautier@st.com> |
feat(dt-bindings): add TZC400 bindings for STM32MP13
And new file stm32mp13-tzc400.h is created for STM32MP13.
Change-Id: I18d6aa443d07dc42c0fff56fefb2a47632a2c0e6 Signed-off-by: Yann Gautier <yann
feat(dt-bindings): add TZC400 bindings for STM32MP13
And new file stm32mp13-tzc400.h is created for STM32MP13.
Change-Id: I18d6aa443d07dc42c0fff56fefb2a47632a2c0e6 Signed-off-by: Yann Gautier <yann.gautier@st.com>
show more ...
|
| 5278ec3f | 18-Jan-2022 |
Yann Gautier <yann.gautier@st.com> |
feat(st-pmic): add pmic_voltages_init() function
This new function pmic_voltages_init() is used to set the minimum value for STM32MP13 VDDCPU and VDDCORE regulators. This value is retrieved from dev
feat(st-pmic): add pmic_voltages_init() function
This new function pmic_voltages_init() is used to set the minimum value for STM32MP13 VDDCPU and VDDCORE regulators. This value is retrieved from device tree.
Signed-off-by: Yann Gautier <yann.gautier@st.com> Change-Id: Ibbe237cb5dccc1fddf92e07ffd3955048ff82075
show more ...
|
| 9be88e75 | 11-Mar-2020 |
Gabriel Fernandez <gabriel.fernandez@st.com> |
feat(st-clock): add clock driver for STM32MP13
Add new clock driver for STM32MP13. Split the include file to manage either STM32MP13 or STM32MP15.
Change-Id: Ia568cd12b1d5538809204f0fd2224d51e5d1e9
feat(st-clock): add clock driver for STM32MP13
Add new clock driver for STM32MP13. Split the include file to manage either STM32MP13 or STM32MP15.
Change-Id: Ia568cd12b1d5538809204f0fd2224d51e5d1e985 Signed-off-by: Gabriel Fernandez <gabriel.fernandez@st.com>
show more ...
|
| 1b8898eb | 10-Mar-2022 |
Yann Gautier <yann.gautier@st.com> |
feat(dt-bindings): add bindings for STM32MP13
Add dedicated clock and reset dt-bindings include files. The former files are renamed with stm32mp15, and the stm32mp1 file just determine through STM32
feat(dt-bindings): add bindings for STM32MP13
Add dedicated clock and reset dt-bindings include files. The former files are renamed with stm32mp15, and the stm32mp1 file just determine through STM32MP13 or STM32MP15 flag which file to include.
Signed-off-by: Yann Gautier <yann.gautier@st.com> Change-Id: I0db23996a3ba25f7c3ea920f16230b11cf051208
show more ...
|
| 5f802c88 | 12-Mar-2022 |
Bipin Ravi <bipin.ravi@arm.com> |
fix(security): workaround for CVE-2022-23960 for A76AE, A78AE, A78C
Implements the loop workaround for Cortex-A76AE, Cortex-A78AE and Cortex-A78C.
Signed-off-by: Bipin Ravi <bipin.ravi@arm.com> Sig
fix(security): workaround for CVE-2022-23960 for A76AE, A78AE, A78C
Implements the loop workaround for Cortex-A76AE, Cortex-A78AE and Cortex-A78C.
Signed-off-by: Bipin Ravi <bipin.ravi@arm.com> Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com> Change-Id: I5c838f5b9d595ed3c461a7452bd465bd54acc548
show more ...
|
| 815abebc | 18-Mar-2022 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge changes from topic "spectre_bhb" into integration
* changes: fix(security): apply SMCCC_ARCH_WORKAROUND_3 to A73/A75/A72/A57 fix(security): workaround for CVE-2022-23960 for Cortex-A57, Co
Merge changes from topic "spectre_bhb" into integration
* changes: fix(security): apply SMCCC_ARCH_WORKAROUND_3 to A73/A75/A72/A57 fix(security): workaround for CVE-2022-23960 for Cortex-A57, Cortex-A72 fix(fvp): disable reclaiming init code by default
show more ...
|
| d555233f | 18-Mar-2022 |
Federico Recanati <federico.recanati@arm.com> |
feat(spm): add FFA_RX_ACQUIRE forwarding in SPMD
Add FF-A v1.1 FFA_RX_ACQUIRE ABI forwarding to SPMD. RX acquire interface is used by Hypervisor to acquire ownership of a VM's RX buffer from SPMC wh
feat(spm): add FFA_RX_ACQUIRE forwarding in SPMD
Add FF-A v1.1 FFA_RX_ACQUIRE ABI forwarding to SPMD. RX acquire interface is used by Hypervisor to acquire ownership of a VM's RX buffer from SPMC when it needs to deliver a message to the VM.
Change-Id: I5f57240a9c9e94eb696a5a394ec0644170380026 Signed-off-by: Federico Recanati <federico.recanati@arm.com>
show more ...
|