| ce19ebd2 | 07-Feb-2024 |
Olivier Deprez <olivier.deprez@arm.com> |
Merge changes from topic "ja/spm_rme" into integration
* changes: docs: change FVP argument in RME configuration feat(fvp): added calls to unprotect/protect memory |
| dfa8b3ba | 06-Feb-2024 |
Lauren Wehrmeister <lauren.wehrmeister@arm.com> |
Merge "fix(cpus): workaround for Cortex-A715 erratum 2561034" into integration |
| 3d630fa2 | 06-Feb-2024 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "jc/psci_spe" into integration
* changes: fix(spe): invoke spe_disable during power domain off/suspend feat(psci): add psci_do_manage_extensions API fix(arm_fpga): hal
Merge changes from topic "jc/psci_spe" into integration
* changes: fix(spe): invoke spe_disable during power domain off/suspend feat(psci): add psci_do_manage_extensions API fix(arm_fpga): halve number of PEs per core
show more ...
|
| 6873088c | 04-Oct-2023 |
J-Alves <joao.alves@arm.com> |
feat(fvp): added calls to unprotect/protect memory
Added SiP calls to FVP platform to protect/unprotect a memory range. These leverage rme features to change the PAS of a given memory range from non
feat(fvp): added calls to unprotect/protect memory
Added SiP calls to FVP platform to protect/unprotect a memory range. These leverage rme features to change the PAS of a given memory range from non-secure to secure.
The mentioned call is leveraged by the SPMC in the memory sharing flow, when memory is shared from the normal world onto the secure world.
More details in the SPM related patches.
Signed-off-by: Olivier Deprez <olivier.deprez@arm.com> Signed-off-by: J-Alves <joao.alves@arm.com> Change-Id: Iaf15d8603a549d247ffb1fc14c16bfb94d0e178a
show more ...
|
| 6a6b2823 | 25-Jan-2024 |
Bipin Ravi <bipin.ravi@arm.com> |
fix(cpus): workaround for Cortex-A715 erratum 2561034
Cortex-A715 erratum 2561034 is a Cat B erratum that applies to revision r1p0 and is fixed in r1p1.
The workaround is to set bit[26] in CPUACTLR
fix(cpus): workaround for Cortex-A715 erratum 2561034
Cortex-A715 erratum 2561034 is a Cat B erratum that applies to revision r1p0 and is fixed in r1p1.
The workaround is to set bit[26] in CPUACTLR2_EL1. Setting this bit is not expected to have a significant performance impact.
SDEN documentation: https://developer.arm.com/documentation/SDEN2148827/latest
Change-Id: I377f250a2994b6ced3ac7d93f947af6ceb690d49 Signed-off-by: Bipin Ravi <bipin.ravi@arm.com>
show more ...
|
| f84f21fa | 02-Feb-2024 |
Yann Gautier <yann.gautier@st.com> |
fix(usb): add missing include
When trying to compile USB stack for STM32MP2, the following warning happens: In file included from plat/st/stm32mp2/stm32mp2_usb_dfu.c:7: include/drivers/usb_device.h:
fix(usb): add missing include
When trying to compile USB stack for STM32MP2, the following warning happens: In file included from plat/st/stm32mp2/stm32mp2_usb_dfu.c:7: include/drivers/usb_device.h:193:9: error: unknown type name 'bool' 193 | bool is_in;
Correct it by adding: #include <stdbool.h>
Signed-off-by: Yann Gautier <yann.gautier@st.com> Change-Id: If17e4e269fcdc885e42f5fcad9cfb763829786e4
show more ...
|
| b55bf256 | 03-Feb-2024 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "feat(spmd): initialize SCR_EL3.EEL2 bit at RESET" into integration |
| 160e8434 | 14-Sep-2023 |
Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> |
feat(psci): add psci_do_manage_extensions API
Adding a new API under PSCI library,for managing all the architectural features, required during power off or suspend cases.
Change-Id: I1659560daa43b9
feat(psci): add psci_do_manage_extensions API
Adding a new API under PSCI library,for managing all the architectural features, required during power off or suspend cases.
Change-Id: I1659560daa43b9344dd0cc0d9b311129b4e9a9c7 Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
show more ...
|
| 8815cdaf | 29-Jan-2024 |
Manish Pandey <manish.pandey2@arm.com> |
feat(spmd): initialize SCR_EL3.EEL2 bit at RESET
SCR_EL3.EEL2 bit enabled denotes that the system has S-EL2 present and enabled, Ideally this bit is constant throughout the lifetime and should not b
feat(spmd): initialize SCR_EL3.EEL2 bit at RESET
SCR_EL3.EEL2 bit enabled denotes that the system has S-EL2 present and enabled, Ideally this bit is constant throughout the lifetime and should not be modified. Currently this bit is initialized in the context mgmt code where each world copy of the SCR_EL3 register has this bit set to 1, but for the time duration between the RESET and the first exit to a lower EL this bit is zero.
Modifying SCR_EL3.EEL2 along with EA bit at RESET does also helps in mitigating against ERRATA_V2_3099206.
For details on Neoverse V2 errata 3099206, refer the SDEN document given below. https://developer.arm.com/documentation/SDEN-2332927/latest
Signed-off-by: Manish Pandey <manish.pandey2@arm.com> Change-Id: If8b2bdbb19bc65391a33dd34cc9824a0203ae4b1
show more ...
|
| af1ac2d7 | 18-Jan-2024 |
Pranav Madhu <pranav.madhu@arm.com> |
fix(scmi): induce a delay in monitoring SCMI channel status
Reading the SCMI mailbox status in polling mode causes a burst of bus accesses. On certain platforms, this would not be ideal as the share
fix(scmi): induce a delay in monitoring SCMI channel status
Reading the SCMI mailbox status in polling mode causes a burst of bus accesses. On certain platforms, this would not be ideal as the shared bus on the CPU subsystem might cause contentions across all the CPUs. So allow platforms to specify a delay to be introduced while polling.
Change-Id: Ib90ad7b5954854071cfd543f4a27a178dde3d5c6 Signed-off-by: Pranav Madhu <pranav.madhu@arm.com>
show more ...
|
| b22e6898 | 11-Apr-2023 |
Yi Chou <yich@google.com> |
feat(cros_widevine): add ChromeOS widevine SMC handler
The ChromeOS will use the SMC to pass some secrets from firmware to optee.
Change-Id: Iaf3357d40a7ed22415926acd9d7979df24dd81f1 Signed-off-by:
feat(cros_widevine): add ChromeOS widevine SMC handler
The ChromeOS will use the SMC to pass some secrets from firmware to optee.
Change-Id: Iaf3357d40a7ed22415926acd9d7979df24dd81f1 Signed-off-by: Yi Chou <yich@google.com>
show more ...
|
| 7671008f | 20-Nov-2023 |
Manish Pandey <manish.pandey2@arm.com> |
fix(ehf): restrict secure world FIQ routing model to SPM_MM
Exception handling framework (EHF) changes the semantics of interrupts, sync and async external aborts. As far as interrupts are concerned
fix(ehf): restrict secure world FIQ routing model to SPM_MM
Exception handling framework (EHF) changes the semantics of interrupts, sync and async external aborts. As far as interrupts are concerned it changes the routing model of foreign interrupts (FIQs) by changing SCR_EL3.FIQ to 1 for both non-secure and secure except when SPMD is used along with Hafnium/SPM at S-EL2 [1]. For NS world it means : G1S and G0 interrupts are routed to EL3 For Secure world it means : G1NS and G0 are routed to EL3
There is no upstream use case utilizing EHF and re-routing EL3 interrupts to the Secure world except when SPM_MM is present.
Modify the FIQ routing model during EHF init just for known use cases, Always for NS world and for secure world only if SPM_MM is present.
[1]:https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/16047
Signed-off-by: Manish Pandey <manish.pandey2@arm.com> Change-Id: Ic292bbe8dd02d560aece5802d79569d868d8500f
show more ...
|
| c6db6d03 | 30-Jan-2024 |
Lauren Wehrmeister <lauren.wehrmeister@arm.com> |
Merge "fix(cpus): workaround for Cortex X3 erratum 2641945" into integration |
| 28c79e10 | 30-Jan-2024 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "plat_gpt_setup" into integration
* changes: feat(arm): move GPT setup to common BL source feat(arm): retrieve GPT related data from platform refactor(arm): rename L0/
Merge changes from topic "plat_gpt_setup" into integration
* changes: feat(arm): move GPT setup to common BL source feat(arm): retrieve GPT related data from platform refactor(arm): rename L0/L1 GPT base macros
show more ...
|
| 7516d93d | 29-Jan-2024 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "feat(cpufeat): add feature detection for FEAT_CSV2_3" into integration |
| 0d136806 | 29-Jan-2024 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "st-bsec3" into integration
* changes: feat(stm32mp2): add BSEC and OTP support feat(st-bsec): add driver for the new IP version BSEC3 |
| 30019d86 | 25-Oct-2023 |
Sona Mathew <sonarebecca.mathew@arm.com> |
feat(cpufeat): add feature detection for FEAT_CSV2_3
This feature provides support to context save the SCXTNUM_ELx register. FEAT_CSV2_3 implies the implementation of FEAT_CSV2_2. FEAT_CSV2_3 is sup
feat(cpufeat): add feature detection for FEAT_CSV2_3
This feature provides support to context save the SCXTNUM_ELx register. FEAT_CSV2_3 implies the implementation of FEAT_CSV2_2. FEAT_CSV2_3 is supported in AArch64 state only and is an optional feature in Arm v8.0 implementations.
This patch adds feature detection for v8.9 feature FEAT_CSV2_3, adds macros for ID_AA64PFR0_EL1.CSV2 bits [59:56] for detecting FEAT_CSV2_3 and macro for ENABLE_FEAT_CSV2_3.
Change-Id: Ida9f31e832b5f11bd89eebd6cc9f10ddad755c14 Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>
show more ...
|
| a727d59d | 20-Sep-2023 |
Jacky Bai <ping.bai@nxp.com> |
feat(cpufeat): add cortex-a35 l2 extended control register
Add Cortex-A35 l2 extended control register definition.
Signed-off-by: Jacky Bai <ping.bai@nxp.com> Change-Id: I14c766a88c95fef0f95a6f2e9d
feat(cpufeat): add cortex-a35 l2 extended control register
Add Cortex-A35 l2 extended control register definition.
Signed-off-by: Jacky Bai <ping.bai@nxp.com> Change-Id: I14c766a88c95fef0f95a6f2e9d8ca87dbeac77c2
show more ...
|
| c1aa3fa5 | 25-Jan-2024 |
Bipin Ravi <bipin.ravi@arm.com> |
fix(cpus): workaround for Cortex X3 erratum 2641945
Cortex X3 erratum 2641945 is a Cat B erratum that applies to all revisions <= r1p0 and is fixed in r1p1.
The workaround is to disable the affecte
fix(cpus): workaround for Cortex X3 erratum 2641945
Cortex X3 erratum 2641945 is a Cat B erratum that applies to all revisions <= r1p0 and is fixed in r1p1.
The workaround is to disable the affected L1 data cache prefetcher by setting CPUACTLR6_EL1[41] to 1. Doing so will incur a performance penalty of ~1%. Contact Arm for an alternate workaround that impacts power.
SDEN documentation: https://developer.arm.com/documentation/2055130/latest
Change-Id: Ia6d6ac8a66936c63b8aa8d7698b937f42ba8f044 Signed-off-by: Bipin Ravi <bipin.ravi@arm.com>
show more ...
|
| 341df6af | 21-Jan-2024 |
Rohit Mathew <Rohit.Mathew@arm.com> |
feat(arm): move GPT setup to common BL source
As of now, GPT setup is being handled from BL2 for plat/arm platforms. However, for platforms having a separate entity to load firmware images, it is po
feat(arm): move GPT setup to common BL source
As of now, GPT setup is being handled from BL2 for plat/arm platforms. However, for platforms having a separate entity to load firmware images, it is possible for BL31 to setup the GPT. In order to address this concern, move the GPT setup implementation from arm_bl2_setup.c file to arm_common.c. Additionally, rename the API from arm_bl2_gpt_setup to arm_gpt_setup to make it boot stage agnostic.
Signed-off-by: Rohit Mathew <Rohit.Mathew@arm.com> Change-Id: I35d17a179c8746945c69db37fd23d763a7774ddc
show more ...
|
| 86e4859a | 20-Dec-2023 |
Rohit Mathew <Rohit.Mathew@arm.com> |
feat(arm): retrieve GPT related data from platform
For RME-enabled platforms, initializing L0 and L1 tables and enabling GPC checks is necessary. For systems using BL2 to load firmware images, the G
feat(arm): retrieve GPT related data from platform
For RME-enabled platforms, initializing L0 and L1 tables and enabling GPC checks is necessary. For systems using BL2 to load firmware images, the GPT initialization has to be done in BL2 prior to the image load. The common Arm platform code currently implements this in the "arm_bl2_plat_gpt_setup" function, relying on the FVP platform's specifications (PAS definitions, GPCCR_PPS, and GPCCR_PGS).
Different Arm platforms may have distinct PAS definitions, GPCCR_PPS, GPCCR_PGS, L0/L1 base, and size. To accommodate these variations, introduce the "plat_arm_get_gpt_info" API. Platforms must implement this API to provide the necessary data for GPT setup on RME-enabled platforms. It is essential to note that these additions are relevant to platforms under the plat/arm hierarchy that will reuse the "arm_bl2_plat_gpt_setup" function.
As a result of these new additions, migrate data related to the FVP platform to its source and header files.
Signed-off-by: Rohit Mathew <Rohit.Mathew@arm.com> Change-Id: I4f4c8894c1cda0adc1f83e7439eb372e923f6147
show more ...
|
| 1e7545ac | 18-Jan-2024 |
Rohit Mathew <Rohit.Mathew@arm.com> |
refactor(arm): rename L0/L1 GPT base macros
In accordance with common naming conventions, macros specifying the base address of a region typically use the prefix "BASE" combined with the region name
refactor(arm): rename L0/L1 GPT base macros
In accordance with common naming conventions, macros specifying the base address of a region typically use the prefix "BASE" combined with the region name, rather than "ADDR_BASE."
Currently, the macros defining the base addresses for L0 and L1 GPT tables within `arm_def.h` are named "ARM_L0_GPT_ADDR_BASE" and "ARM_L1_GPT_ADDR_BASE" respectively. To adhere to the established naming convention, rename these macros as "ARM_L1_GPT_BASE" and "ARM_L0_GPT_BASE" respectively.
Signed-off-by: Rohit Mathew <Rohit.Mathew@arm.com> Change-Id: Ibd50a58a1f63ba97d2df141f41a21a89ef97d6fb
show more ...
|
| 61dfdfd4 | 24-Jan-2024 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge "refactor(mte): deprecate CTX_INCLUDE_MTE_REGS" into integration |
| 3f024595 | 23-Jan-2024 |
Lauren Wehrmeister <lauren.wehrmeister@arm.com> |
Merge changes from topic "errata" into integration
* changes: fix(cpus): workaround for Cortex-A78C erratum 2683027 fix(cpus): workaround for Cortex-X3 erratum 2266875 fix(cpus): workaround fo
Merge changes from topic "errata" into integration
* changes: fix(cpus): workaround for Cortex-A78C erratum 2683027 fix(cpus): workaround for Cortex-X3 erratum 2266875 fix(cpus): workaround for Cortex-X3 erratum 2302506
show more ...
|
| 0a33adc0 | 21-Dec-2023 |
Govindraj Raja <govindraj.raja@arm.com> |
refactor(mte): deprecate CTX_INCLUDE_MTE_REGS
Currently CTX_INCLUDE_MTE_REGS is used for dual purpose, to enable allocation tags register and to context save and restore them and also to check if mt
refactor(mte): deprecate CTX_INCLUDE_MTE_REGS
Currently CTX_INCLUDE_MTE_REGS is used for dual purpose, to enable allocation tags register and to context save and restore them and also to check if mte feature is available.
To make it more meaningful, remove CTX_INCLUDE_MTE_REGS and introduce FEAT_MTE. This would enable allocation tags register when FEAT_MTE is enabled and also supported from platform.
Also arch features can be conditionally enabled disabled based on arch version from `make_helpers/arch_features.mk`
Change-Id: Ibdd2d43874634ad7ddff93c7edad6044ae1631ed Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|