| #
b3a9737c |
| 14-Apr-2024 |
Leo Yan <leo.yan@arm.com> |
refactor(tc): add platform specific DT files
Currently, the DT binding uses the file 'tc.dts' as a central place for all TC platforms. And the variables (for different platforms, or FVP vs FPGA, etc
refactor(tc): add platform specific DT files
Currently, the DT binding uses the file 'tc.dts' as a central place for all TC platforms. And the variables (for different platforms, or FVP vs FPGA, etc.) are maintained in 'tc_vers.dtsi'.
This patch renames 'tc.dts' to 'tc-base.dtsi' and creates an individual .dts file for every platform. The purpose is to use 'tc-base.dtsi' for maintaining common DT binding and every platform's specific definitions will be moved into its own .dts file. This is a preparation for sequential refactoring.
It changes to include the header files in platform DTS files but not in the 'tc-base.dtsi'. This can allow 'tc-base.dtsi' is general enough and platform DTS files covers platform specific defintions.
Change-Id: I034fb3f8836bcea36e8ad8ae01de41127693b0c6 Signed-off-by: Leo Yan <leo.yan@arm.com>
show more ...
|
| #
154eb0a2 |
| 29-Apr-2024 |
Leo Yan <leo.yan@arm.com> |
fix(tc): enable FEAT_MTE2
Commit c282384db ("refactor(mte): remove mte, mte_perm") removes the option FEAT_MTE and introduces FEAT_MTE2 option. Afterwards, the FEAT_MTE2 option is missed on the TC p
fix(tc): enable FEAT_MTE2
Commit c282384db ("refactor(mte): remove mte, mte_perm") removes the option FEAT_MTE and introduces FEAT_MTE2 option. Afterwards, the FEAT_MTE2 option is missed on the TC platform and the feature is disabled. As a result, it causes the panic in secure world.
This patch enables the FEAT_MTE2 option for TC platform to allow the secure world can access the MTE registers properly.
Change-Id: If697236aa59bf4fb374e0ff43b53455ac2154e9c Fixes: c282384db ("refactor(mte): remove mte, mte_perm") Signed-off-by: Leo Yan <leo.yan@arm.com>
show more ...
|
| #
a1901c7d |
| 26-Apr-2024 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "rss_rse_rename" into integration
* changes: refactor(changelog): change all occurrences of RSS to RSE refactor(qemu): change all occurrences of RSS to RSE refactor(fv
Merge changes from topic "rss_rse_rename" into integration
* changes: refactor(changelog): change all occurrences of RSS to RSE refactor(qemu): change all occurrences of RSS to RSE refactor(fvp): change all occurrences of RSS to RSE refactor(fiptool): change all occurrences of RSS to RSE refactor(psa): change all occurrences of RSS to RSE refactor(fvp): remove leftovers from rss measured boot support refactor(tc): change all occurrences of RSS to RSE docs: change all occurrences of RSS to RSE refactor(measured-boot): change all occurrences of RSS to RSE refactor(rse): change all occurrences of RSS to RSE refactor(psa): rename all 'rss' files to 'rse' refactor(tc): rename all 'rss' files to 'rse' docs: rename all 'rss' files to 'rse' refactor(measured-boot): rename all 'rss' files to 'rse' refactor(rss): rename all 'rss' files to 'rse'
show more ...
|
| #
7f8589cd |
| 22-Feb-2024 |
Tamas Ban <tamas.ban@arm.com> |
refactor(tc): change all occurrences of RSS to RSE
Changes all occurrences of "RSS" and "rss" in the code and build files to "RSE" and "rse".
Signed-off-by: Tamas Ban <tamas.ban@arm.com> Change-Id:
refactor(tc): change all occurrences of RSS to RSE
Changes all occurrences of "RSS" and "rss" in the code and build files to "RSE" and "rse".
Signed-off-by: Tamas Ban <tamas.ban@arm.com> Change-Id: Idec0bf7a90ae381f5bc968e1bb167daace24a11f
show more ...
|
| #
eee0ec48 |
| 26-Mar-2024 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge changes from topic "mte_fixes" into integration
* changes: build(changelog): move mte to mte2 refactor(mte): remove mte, mte_perm
|
| #
c282384d |
| 07-Mar-2024 |
Govindraj Raja <govindraj.raja@arm.com> |
refactor(mte): remove mte, mte_perm
Currently both FEAT_MTE and FEAT_MTE_PERM aren't used for enabling of any feature bits in EL3. So remove both FEAT handling.
All mte regs that are currently cont
refactor(mte): remove mte, mte_perm
Currently both FEAT_MTE and FEAT_MTE_PERM aren't used for enabling of any feature bits in EL3. So remove both FEAT handling.
All mte regs that are currently context saved/restored are needed only when FEAT_MTE2 is enabled, so move to usage of FEAT_MTE2 and remove FEAT_MTE usage.
BREAKING CHANGE: Any platform or downstream code trying to use SCR_EL3.ATA bit(26) will see failures as this is now moved to be used only with FEAT_MTE2 with commit@ef0d0e5478a3f19cbe70a378b9b184036db38fe2
Change-Id: Id01e154156571f7792135639e17dc5c8d0e17cf8 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| #
e7d14fa8 |
| 07-Mar-2024 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "DPE" into integration
* changes: feat(tc): group components into certificates feat(dice): add cert_id argument to dpe_derive_context() refactor(sds): modify log level
Merge changes from topic "DPE" into integration
* changes: feat(tc): group components into certificates feat(dice): add cert_id argument to dpe_derive_context() refactor(sds): modify log level for region validity feat(tc): add dummy TRNG support to be able to boot pVMs feat(tc): get the parent component provided DPE context_handle feat(tc): share DPE context handle with child component feat(tc): add DPE context handle node to device tree feat(tc): add DPE backend to the measured boot framework feat(auth): add explicit entries for key OIDs feat(dice): add DPE driver to measured boot feat(dice): add client API for DICE Protection Environment feat(dice): add QCBOR library as a dependency of DPE feat(dice): add typedefs from the Open DICE repo docs(changelog): add 'dice' scope refactor(tc): align image identifier string macros refactor(fvp): align image identifier string macros refactor(imx8m): align image identifier string macros refactor(qemu): align image identifier string macros fix(measured-boot): add missing image identifier string refactor(measured-boot): move metadata size macros to a common header refactor(measured-boot): move image identifier strings to a common header
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 ...
|
| #
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 ...
|
| #
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 ...
|
| #
96a5f876 |
| 27-Dec-2023 |
Boyan Karatotev <boyan.karatotev@arm.com> |
refactor(tc): reorder config variable defines
They are very scattered, hard to read, and especially hard to track down. As a result some are duplicate and some are overridden in the downstream as it
refactor(tc): reorder config variable defines
They are very scattered, hard to read, and especially hard to track down. As a result some are duplicate and some are overridden in the downstream as it's simpler.
Put all variables at the top of the platform makefile. Also drop setting variables that don't change from their default values (CTX_INCLUDE_EL2_REGS, ARCH, ENABLE_FEAT_RAS, SDEI_SUPPORT, EL3_EXCEPTION_HANDLING, HANDLE_EA_EL3_FIRST_NS, ENABLE_SPE_FOR_NS).
While we're at it, add some variables that are necessary. SPMD requires MTE registers to be saved, BRANCH_PROTECTION, as well as running at SEL2. All of our CPUs are Armv8.7 compliant so we can have ARM_ARCH_MINOR=7 (and drop ENABLE_TRF_FOR_NS which it includes).
Finally, drop the override directives as there's no reason to prohibit experimentation (even if incorrect).
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com> Change-Id: I6ac596934952aab8abf5d4db5220e13a4941a10c
show more ...
|
| #
a658b46d |
| 22-Nov-2023 |
Kshitij Sisodia <kshitij.sisodia@arm.com> |
feat(tc): add SCMI power domain and IOMMU toggles
Compile-time controls have been added for the following:
* SCMI power domain use for DPU and GPU. * SMMU-700: planned rework required to use IOMMU
feat(tc): add SCMI power domain and IOMMU toggles
Compile-time controls have been added for the following:
* SCMI power domain use for DPU and GPU. * SMMU-700: planned rework required to use IOMMU correctly for DPU and GPU.
These will allow easier experimentation in the future without ad-hoc changes needed in the dts file for any sort of analysis that requires testing different paths.
For TC3 however, the DPU is in an always on power domain so SCMI power domains are not supported.
Co-developed-by: Tintu Thomas <tintu.thomas@arm.com> Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com> Change-Id: If6179a3e4784c1b69f0338a8d52b552452c0eac1
show more ...
|
| #
1b8ed099 |
| 15-Nov-2023 |
Boyan Karatotev <boyan.karatotev@arm.com> |
feat(tc): factor in FVP/FPGA differences
Even though the FVP and FPGA are meant to be identical their RoS's (rest of system) are different. Factor these in so the device tree works for both. The dif
feat(tc): factor in FVP/FPGA differences
Even though the FVP and FPGA are meant to be identical their RoS's (rest of system) are different. Factor these in so the device tree works for both. The differences are: * addresses of GIC and UART * displays (FPGA uses 4k) * ethernet devices and SD card (it's non removable on the FPGA)
Their frequencies are also different. The FVP simulates certain frequencies but isn't very sensitive when we disregard them. To keep code similar, update them with the FPGA values. This keeps working on FVP even if slightly incorrect.
Also add an option for the DPU to either use fixed clocks or SCMI set clocks, hidden behind a flag. This is useful during bringup and because SCMI may not necessarily work on FPGA.
Co-developed-by: Kshitij Sisodia <kshitij.sisodia@arm.com> Co-developed-by: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com> Co-developed-by: Usama Arif <usama.arif@arm.com> Co-developed-by: Angel Rodriguez Garcia <angel.rodriguezgarcia@arm.com> Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com> Change-Id: Ic7a4bfc302673a3a6571757e23a9e6184fba2a13
show more ...
|
| #
a02bb36c |
| 12-Dec-2023 |
Boyan Karatotev <boyan.karatotev@arm.com> |
feat(tc): introduce an FPGA subvariant and TC3 CPUs
TC is getting an FPGA port alongside the FVP. It is meant to be identical, but the core configurations on TC2 differ (there are 14 in an odd arran
feat(tc): introduce an FPGA subvariant and TC3 CPUs
TC is getting an FPGA port alongside the FVP. It is meant to be identical, but the core configurations on TC2 differ (there are 14 in an odd arrangement).
Introduce these differences and gate them behind a new TARGET_FLAVOUR flag which defaults to FVP for compatibility.
While updating CPUs, it's a good time to do TC3 too. It has different cores in a different configuration again, so it needs different capacity values. Those have been derived using GeekBench 6.0 ST on the FPGA.
Finally GPU and DPU power domains are 1 above the CPUs so make that relative.
In the end, the big/mid/little configurations are: * TC2 FVP: 1/3/4 * TC2 FPGA: 2/3/5/4 (the 3 is a big "min" core) * TC3 both: 2/4/2 (with new capacities)
Co-developed-by: Tintu Thomas <tintu.thomas@arm.com> Co-developed-by: Kshitij Sisodia <kshitij.sisodia@arm.com> Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com> Change-Id: I3c3a10d6727f5010fd9026a404df27e9262dff6b
show more ...
|
| #
62320dc4 |
| 07-Jul-2023 |
Boyan Karatotev <boyan.karatotev@arm.com> |
feat(tc): add TC3 platform definitions
TC3 is a little different from TC2:
* new address for its second DRAM bank * new CPUs * a few interrupts have changed * new SCP MHU base address. * utili
feat(tc): add TC3 platform definitions
TC3 is a little different from TC2:
* new address for its second DRAM bank * new CPUs * a few interrupts have changed * new SCP MHU base address. * utility space address (needed for MPAM) is different * no CMN (and therefore cmn-pmu) * the uart clock is different
This requires the dts to be different between revisions for the first time. Introduce a tc_vers.dtsi that includes only definitions for things that are different.
Signed-off-by: Tintu Thomas <tintu.thomas@arm.com> Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com> Change-Id: I2940d87a69ea93502b7f5a22a539e4b70a63e827
show more ...
|
| #
3ac3b6b0 |
| 20-Dec-2023 |
Boyan Karatotev <boyan.karatotev@arm.com> |
refactor(tc): unify all the spmc manifests
The manifests describe the same hardware layout with only the secure partitions being different. Factor it out so it can be shared and only add the VM info
refactor(tc): unify all the spmc manifests
The manifests describe the same hardware layout with only the secure partitions being different. Factor it out so it can be shared and only add the VM information separately.
This has some deliberate side effects: the test configuration gets the full secure memory address space and drops the 0x7000000 region as that was accidentally copied over from the FVP platform and doesn't apply to TC.
Also optee unconditionally gets the smaller mem_size as it's been working fine and simplifies the manifest.
Small touch up is that mem_size-s are now in hex but otherwise the same number.
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com> Change-Id: Iea23f9769235eea32afa374952b9a0e4f6d3e9a1
show more ...
|
| #
fc42f845 |
| 03-Jul-2023 |
Davidson K <davidson.kumaresan@arm.com> |
fix(tc): do not enable MPMM and Aux AMU counters always
There are requirements in which the MPMM and Auxiliary AMU counters have to be disabled. Hence removing the "override" here which helps in dis
fix(tc): do not enable MPMM and Aux AMU counters always
There are requirements in which the MPMM and Auxiliary AMU counters have to be disabled. Hence removing the "override" here which helps in disabling them during the build.
Change-Id: I2c0a808d5d9968082a508a9206e34f7a57f2e33a Signed-off-by: Davidson K <davidson.kumaresan@arm.com>
show more ...
|
| #
61647ed4 |
| 21-Nov-2023 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "refactor(tc): deprecate Arm TC1 FVP platform" into integration
|
| #
6a2b11c2 |
| 20-Nov-2023 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
refactor(tc): deprecate Arm TC1 FVP platform
Arm has made the strategic decision to deprecate the TC1 platform. Consequently, software development and the creation of fast models for the TC1 platfor
refactor(tc): deprecate Arm TC1 FVP platform
Arm has made the strategic decision to deprecate the TC1 platform. Consequently, software development and the creation of fast models for the TC1 platform have been officially discontinued. The TC1 platform, now considered obsolete, has been succeeded by the TC2 platform. It's noteworthy that the TC2 platform is already integrated and supported in both TF-A and CI repositories.
Change-Id: Ia196a5fc975b4dbf3c913333daf595199968d95d Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| #
6f802c44 |
| 02-Nov-2023 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "mp/exceptions" into integration
* changes: docs(ras): update RAS documentation docs(el3-runtime): update BL31 exception vector handling fix(el3-runtime): restrict low
Merge changes from topic "mp/exceptions" into integration
* changes: docs(ras): update RAS documentation docs(el3-runtime): update BL31 exception vector handling fix(el3-runtime): restrict lower el EA handlers in FFH mode fix(ras): remove RAS_FFH_SUPPORT and introduce FFH_SUPPORT fix(ras): restrict ENABLE_FEAT_RAS to have only two states feat(ras): use FEAT_IESB for error synchronization feat(el3-runtime): modify vector entry paths
show more ...
|
| #
f87e54f7 |
| 10-Oct-2023 |
Manish Pandey <manish.pandey2@arm.com> |
fix(ras): remove RAS_FFH_SUPPORT and introduce FFH_SUPPORT
This patch removes RAS_FFH_SUPPORT macro which is the combination of ENABLE_FEAT_RAS and HANDLE_EA_EL3_FIRST_NS. Instead introduce an inter
fix(ras): remove RAS_FFH_SUPPORT and introduce FFH_SUPPORT
This patch removes RAS_FFH_SUPPORT macro which is the combination of ENABLE_FEAT_RAS and HANDLE_EA_EL3_FIRST_NS. Instead introduce an internal macro FFH_SUPPORT which gets enabled when platforms wants to enable lower EL EA handling at EL3. The internal macro FFH_SUPPORT will be automatically enabled if HANDLE_EA_EL3_FIRST_NS is enabled. FFH_SUPPORT along with ENABLE_FEAT_RAS will be used in source files to provide equivalent check which was provided by RAS_FFH_SUPPORT earlier. In generic code we needed a macro which could abstract both HANDLE_EA_EL3_FIRST_NS and RAS_FFH_SUPPORT macros that had limitations. Former was tied up with NS world only while the latter was tied to RAS feature.
This is to allow Secure/Realm world to have their own FFH macros in future.
Signed-off-by: Manish Pandey <manish.pandey2@arm.com> Change-Id: Ie5692ccbf462f5dcc3f005a5beea5aa35124ac73
show more ...
|
| #
799f42b5 |
| 19-Jul-2023 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Merge "refactor(tc): move all plat tests in test makefile" into integration
|