| d6af2344 | 24-Jan-2024 |
Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> |
refactor(cm): couple el2 registers with dependent feature flags
Currently the EL2 part of the context structure (el2_sysregs_t), is mostly feature dependent.
For instance, CTX_HCRX_EL2 is only need
refactor(cm): couple el2 registers with dependent feature flags
Currently the EL2 part of the context structure (el2_sysregs_t), is mostly feature dependent.
For instance, CTX_HCRX_EL2 is only needed when FEAT_HCX (ENABLE_FEAT_HCX=1) is set, but the entry is unconditionally added in the EL2 context structure and thereby consuming memory even in build configurations where FEAT_HCX is disabled.
Henceforth, all such context entries should be coupled/tied with their respective feature enables and be optimized away when unused. This would reduce the context memory allocation for platforms, that dont enable/support all the architectural features at once.
Further, converting the assembly context-offset entries into a c structure relies on garbage collection of the linker removing unreferenced structures from memory, as well as aiding in readability and future maintenance.
Change-Id: I0cf49498ee3033cb6f3ee3810331121b26627783 Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
show more ...
|
| a5a966b1 | 05-Mar-2024 |
Jackson Cooper-Driver <jackson.cooper-driver@arm.com> |
fix(tc): do not use r0 for HW_CONFIG
populate_next_bl_params_config already configures the register values to be passed to BL33 and puts the HW_CONFIG address in r1. Therefore, we do not need to ove
fix(tc): do not use r0 for HW_CONFIG
populate_next_bl_params_config already configures the register values to be passed to BL33 and puts the HW_CONFIG address in r1. Therefore, we do not need to override r0 here and should instead use r1 in BL33.
Change-Id: I00b425301957b5b0510416e1fa1f3599c0359bfc Signed-off-by: Jackson Cooper-Driver <jackson.cooper-driver@arm.com>
show more ...
|
| cc41b56f | 01-Mar-2024 |
Sona Mathew <sonarebecca.mathew@arm.com> |
fix(cpus): workaround for Cortex-X4 erratum 2701112
Cortex-X4 erratum 2701112 is cat B erratum that applies to revision r0p0 and is fixed in r0p1. This erratum affects system configurations that do
fix(cpus): workaround for Cortex-X4 erratum 2701112
Cortex-X4 erratum 2701112 is cat B erratum that applies to revision r0p0 and is fixed in r0p1. This erratum affects system configurations that do not use an Arm interconnect IP.
The workaround for this erratum is not implemented in EL3. The erratum can be enabled/disabled on a platform level. The flag is used when the errata ABI feature is enabled and can assist the Kernel in the process of mitigation of the erratum.
SDEN Documentation: https://developer.arm.com/documentation/SDEN2432808/latest
Change-Id: I8ede1ee75b0ea1658369a0646d8af91d44a8759b Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>
show more ...
|
| 6df8d764 | 30-Jan-2024 |
Tamas Ban <tamas.ban@arm.com> |
feat(tc): group components into certificates
Set the cert_id argument to group the components into certificates. The grouping reflects the likely units of updateability.
Signed-off-by: Tamas Ban <t
feat(tc): group components into certificates
Set the cert_id argument to group the components into certificates. The grouping reflects the likely units of updateability.
Signed-off-by: Tamas Ban <tamas.ban@arm.com> Change-Id: Ie7a1f10c84af727d0cd39e3a78b0cb59cbc2e457
show more ...
|
| 7be391d1 | 04-Jan-2024 |
David Vincze <david.vincze@arm.com> |
feat(tc): add dummy TRNG support to be able to boot pVMs
pVMs on Android 14 has a platform requirement to support SMCCC TRNG discovery. This implementation add a dummy TRNG support to TC2.
Signed-o
feat(tc): add dummy TRNG support to be able to boot pVMs
pVMs on Android 14 has a platform requirement to support SMCCC TRNG discovery. This implementation add a dummy TRNG support to TC2.
Signed-off-by: Tamas Ban <tamas.ban@arm.com> Change-Id: Iae0ca546cadf48a6a404ae578c7ccf5a84d057c4
show more ...
|
| 467bdf26 | 07-Jun-2023 |
Tamas Ban <tamas.ban@arm.com> |
feat(tc): get the parent component provided DPE context_handle
Each client who wants to communicate with the DPE service must own a valid context handle issued by the DPE service. A context handle c
feat(tc): get the parent component provided DPE context_handle
Each client who wants to communicate with the DPE service must own a valid context handle issued by the DPE service. A context handle can be used for a single time then it will be invalidated by the DPE service. In case of calls from the same component, the next valid context handle is returned in the response to a DPE command. When a component finishes their job then the next component in the boot flow inherits its first context handle from its parent. How the inheritance is done can be client or platform-dependent. It can be shared through shared memory or be part of a DTB object passed to the next bootloader stage.
Signed-off-by: Tamas Ban <tamas.ban@arm.com> Signed-off-by: David Vincze <david.vincze@arm.com> Change-Id: Ic82f074f1c5b15953e78f9fa5404ed7f48674cbb
show more ...
|
| 03d388d8 | 12-Jun-2023 |
Tamas Ban <tamas.ban@arm.com> |
feat(tc): share DPE context handle with child component
To be allowed to communicate with DPE service all components must own a valid context handle. The first valid context handle is inherited from
feat(tc): share DPE context handle with child component
To be allowed to communicate with DPE service all components must own a valid context handle. The first valid context handle is inherited from the parent component via a DTB object.
Signed-off-by: Tamas Ban <tamas.ban@arm.com> Change-Id: Id357fab3586398b1933444e1d10d1ab6d8243ab9
show more ...
|
| 1f47a713 | 12-Jun-2023 |
Tamas Ban <tamas.ban@arm.com> |
feat(tc): add DPE context handle node to device tree
Child software components are inheriting their first valid DPE context handle from their parent components (who loaded and measured them). The co
feat(tc): add DPE context handle node to device tree
Child software components are inheriting their first valid DPE context handle from their parent components (who loaded and measured them). The context handle is shared through the device tree object the following way: - BL1 -> BL2 via TB_FW_CONFIG - BL2 -> BL33 via NT_FW_CONFIG
Signed-off-by: Tamas Ban <tamas.ban@arm.com> Change-Id: I9bf7808fb13a310ad7ca1895674a0c7e6725e08b
show more ...
|
| e7f1181f | 07-Jun-2023 |
Tamas Ban <tamas.ban@arm.com> |
feat(tc): add DPE backend to the measured boot framework
The client platform relies on the DICE attestation scheme. RSS provides the DICE Protection Environment (DPE) service. TF-A measured boot fra
feat(tc): add DPE backend to the measured boot framework
The client platform relies on the DICE attestation scheme. RSS provides the DICE Protection Environment (DPE) service. TF-A measured boot framework supports multiple backends. A given platform always enables the corresponding backend which is required by the attestation scheme.
Signed-off-by: Tamas Ban <tamas.ban@arm.com> Change-Id: Idc3360d0d7216e4859e99b5db3d377407e0aeee5
show more ...
|
| 24844d8b | 05-Jun-2023 |
Tamas Ban <tamas.ban@arm.com> |
refactor(tc): align image identifier string macros
Macros were renamed, align with new names.
Signed-off-by: Tamas Ban <tamas.ban@arm.com> Change-Id: Id7a556da34381618577fed4039d9ca957754cd7c |
| 09bb42db | 05-Jun-2023 |
Tamas Ban <tamas.ban@arm.com> |
refactor(fvp): align image identifier string macros
Macros were renamed, align with new names.
Signed-off-by: Tamas Ban <tamas.ban@arm.com> Change-Id: I85d03164f580d9c41b7955482914d20188e559e5 |
| 0cda4ada | 05-Mar-2024 |
Lauren Wehrmeister <lauren.wehrmeister@arm.com> |
Merge changes from topic "sm/framework_optimize" into integration
* changes: chore: rearrange the fvp_cpu_errata.mk file fix(cpus): add erratum 2701951 to Cortex-X3's list refactor(errata-abi)
Merge changes from topic "sm/framework_optimize" into integration
* changes: chore: rearrange the fvp_cpu_errata.mk file fix(cpus): add erratum 2701951 to Cortex-X3's list refactor(errata-abi): workaround platforms non-arm interconnect refactor(errata-abi): optimize errata ABI using errata framework
show more ...
|
| e8eb4418 | 05-Mar-2024 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge "fix(el3-spmc): add datastore linker script markers" into integration |
| 1ba369a5 | 01-Mar-2024 |
Sona Mathew <sonarebecca.mathew@arm.com> |
chore: rearrange the fvp_cpu_errata.mk file
Change-Id: I3959bdf5852c5714f2238f61493a931b3c857a20 Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com> |
| 106c4283 | 21-Feb-2024 |
Sona Mathew <sonarebecca.mathew@arm.com> |
fix(cpus): add erratum 2701951 to Cortex-X3's list
Erratum ID 2701951 is an erratum that could affect platforms that do not use an Arm interconnect IP. This was originally added to the list of Corte
fix(cpus): add erratum 2701951 to Cortex-X3's list
Erratum ID 2701951 is an erratum that could affect platforms that do not use an Arm interconnect IP. This was originally added to the list of Cortex-A715 in the errata ABI files. Fixed this by adding it to the Cortex-X3 list.
SDEN documentation: https://developer.arm.com/documentation/2055130/latest
Change-Id: I6ffaf4360a4a2d0a23c253a2326c178e010c8e45 Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>
show more ...
|
| aceb9c9e | 26-Sep-2023 |
Sona Mathew <sonarebecca.mathew@arm.com> |
refactor(errata-abi): workaround platforms non-arm interconnect
The workarounds for these below mentioned errata are not implemented in EL3, but the flags can be enabled/disabled at a platform level
refactor(errata-abi): workaround platforms non-arm interconnect
The workarounds for these below mentioned errata are not implemented in EL3, but the flags can be enabled/disabled at a platform level based on arm/non-arm interconnect IP flag. The ABI helps assist the Kernel in the process of mitigation for the following errata:
Cortex-A715: erratum 2701951 Neoverse V2: erratum 2719103 Cortex-A710: erratum 2701952 Cortex-X2: erratum 2701952 Neoverse N2: erratum 2728475 Neoverse V1: erratum 2701953 Cortex-A78: erratum 2712571 Cortex-A78AE: erratum 2712574 Cortex-A78C: erratum 2712575
Change-Id: Ie86b7212d731a79e2a0c07649e69234e733cd78d Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>
show more ...
|
| c9f26343 | 26-Sep-2023 |
Sona Mathew <sonarebecca.mathew@arm.com> |
refactor(errata-abi): optimize errata ABI using errata framework
Errata ABI feature introduced per CPU based errata structures in the errata_abi_main.c, these can be removed by re-using the structur
refactor(errata-abi): optimize errata ABI using errata framework
Errata ABI feature introduced per CPU based errata structures in the errata_abi_main.c, these can be removed by re-using the structures created by the errata framework.
Change-Id: I1a60d3e4f116b6254fb45426f43ff1b21771af89 Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>
show more ...
|
| 4d5dcff0 | 04-Mar-2024 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "css_refactor_arm" into integration
* changes: refactor(allwinner): console runtime switch on bl31 exit refactor(arm): console runtime switch on bl31 exit refactor(con
Merge changes from topic "css_refactor_arm" into integration
* changes: refactor(allwinner): console runtime switch on bl31 exit refactor(arm): console runtime switch on bl31 exit refactor(console): flush before console_switch_state
show more ...
|
| 9a79c9e4 | 04-Mar-2024 |
Bipin Ravi <bipin.ravi@arm.com> |
Merge changes from topic "fix-lto-build-all" into integration
* changes: build(fpga): correctly handle gcc as linker for LTO fix(build): enforce single partition for LTO build fix(rockchip): a
Merge changes from topic "fix-lto-build-all" into integration
* changes: build(fpga): correctly handle gcc as linker for LTO fix(build): enforce single partition for LTO build fix(rockchip): add support for building with LTO enabled
show more ...
|
| c864af98 | 19-Feb-2024 |
Salman Nabi <salman.nabi@arm.com> |
refactor(arm): console runtime switch on bl31 exit
Any BL31 setup and Runtime initialization within BL31 is still part of the BOOT process. As such, the console flush and switch must be the last cal
refactor(arm): console runtime switch on bl31 exit
Any BL31 setup and Runtime initialization within BL31 is still part of the BOOT process. As such, the console flush and switch must be the last calls before BL31 exit. Flush the console print buffer before switching to runtime. This is so that there is no lingering chars in the print buffer when we move to the runtime console.
This patch adds console flush before switching to runtime in bl31_plat_runtime_setup() function (before BL31 exits). The plan is to move flush and switch calls to bl31_main before BL31 exits, until then console_flush() in bl31_main.c has been left as is.
This patch affects the Arm platform only.
Change-Id: I4d367b9e9640686ac15246ad24318ae4685c12c5 Signed-off-by: Salman Nabi <salman.nabi@arm.com>
show more ...
|
| 27b0440a | 02-Mar-2024 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "sgi_to_nrd" into integration
* changes: refactor(sgi): replace references to "SGI"/"sgi" for neoverse_rd refactor(sgi): rename "CSS_SGI"" macro prefixes to "NRD" refa
Merge changes from topic "sgi_to_nrd" into integration
* changes: refactor(sgi): replace references to "SGI"/"sgi" for neoverse_rd refactor(sgi): rename "CSS_SGI"" macro prefixes to "NRD" refactor(sgi): move apis and types to "nrd" prefix refactor(sgi): replace build-option prefix to "NRD" refactor(sgi): move neoverse_rd out of css refactor(sgi): move from "sgi" to "neoverse_rd" feat(sgi): remove unused SGI_PLAT build-option fix(sgi): align to misra rule for braces feat(rde1edge): remove support for RD-E1-Edge fix(rdn2): populate TOS_CONFIG only when SPMC_AT_EL3 is enabled fix(board): update spi_id max for sgi multichip platforms
show more ...
|
| b2bca9eb | 01-Mar-2024 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "smmuv3_fix" into integration
* changes: feat(smmu): separate out smmuv3_security_init from smmuv3_init feat(smmu): fix to perform INV_ALL before enabling GPC |
| ba33528a | 20-Dec-2022 |
Shruti Gupta <shruti.gupta@arm.com> |
fix(el3-spmc): add datastore linker script markers
Datastore symbol used by EL3 SPMC is not relocated at boot time when using ENABLE_PIE=1. Use linker script markers instead of symbol.
Signed-off-b
fix(el3-spmc): add datastore linker script markers
Datastore symbol used by EL3 SPMC is not relocated at boot time when using ENABLE_PIE=1. Use linker script markers instead of symbol.
Signed-off-by: Shruti Gupta <shruti.gupta@arm.com> Change-Id: If22d2fc8deacc74c73d7dc51bb70093935d9fa2b
show more ...
|
| 61ee40b1 | 28-Feb-2024 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes I6ac59693,Ib0e4e5cf into integration
* changes: refactor(tc): reorder config variable defines refactor(tc): move DTB to start of DRAM |
| df21d41b | 27-Feb-2024 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes I1415e402,Ia92cc693,I7a42f72e,I6e75659e,I4c6136c5, ... into integration
* changes: refactor(tc): correlate secure world addresses with platform_def feat(tc): add memory node in the
Merge changes I1415e402,Ia92cc693,I7a42f72e,I6e75659e,I4c6136c5, ... into integration
* changes: refactor(tc): correlate secure world addresses with platform_def feat(tc): add memory node in the device tree feat(tc): pass the DTB address to BL33 in R0 feat(tc): add arm_ffa node in dts chore(tc): add dummy entropy to speed up the Linux boot feat(tc): choose the DPU address and irq based on the target feat(tc): add SCMI power domain and IOMMU toggles refactor(tc): move the FVP RoS to a separate file feat(tc): factor in FVP/FPGA differences feat(tc): introduce an FPGA subvariant and TC3 CPUs feat(tc): add TC3 platform definitions refactor(tc): sanitise the device tree feat(tc): add PMU entry feat(tc): allow booting from DRAM chore(tc): remove unused hdlcd feat(tc): add firmware update secure partition feat(tc): add spmc manifest with trusty sp refactor(tc): unify all the spmc manifests feat(arm): add trusty_sp_fw_config build option fix(tc): do not enable MPMM and Aux AMU counters always fix(tc): correct interrupts feat(tc): interrupt numbers for `smmu_700` feat(tc): enable gpu/dpu scmi power domain and also gpu perf domain
show more ...
|