| d081c611 | 12-Sep-2024 |
Andre Przywara <andre.przywara@arm.com> |
fix(fvp): enable FEAT_MTE2
ENABLE_FEAT_MTE2 controls the trapping of some MTE related system registers. If the memory_tagging_support_level parameter on the FVP command line is set to higher values,
fix(fvp): enable FEAT_MTE2
ENABLE_FEAT_MTE2 controls the trapping of some MTE related system registers. If the memory_tagging_support_level parameter on the FVP command line is set to higher values, non-secure world will see the feature bits in the CPU ID registers and will use those registers, triggering a panic in BL31.
Enable the feature in the optional form for the FVP build, to avoid any panics.
Change-Id: I26ba444d784adf165db81048f93e11361c7f11ac Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| 3b5eca9e | 25-Jul-2024 |
Ryan Everett <ryan.everett@arm.com> |
feat(fvp): scale SP_MIN max size based on SRAM size
The maximum size for SP_MIN in the FVP is currently fixed and does not scale with the SRAM size. This update adjusts the SP_MIN size according to
feat(fvp): scale SP_MIN max size based on SRAM size
The maximum size for SP_MIN in the FVP is currently fixed and does not scale with the SRAM size. This update adjusts the SP_MIN size according to the SRAM size used to build the FVP platform.
Change-Id: I95527e8ae6f8a73c336ed4fe05ace5de86d8991d Signed-off-by: Ryan Everett <ryan.everett@arm.com>
show more ...
|
| 014975ce | 06-Sep-2024 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
fix(arm): add extra hash config to validate ROTPK
The default mbedTLS configuration enables hash algorithms based on the HASH_ALG or MBOOT_EL_HASH_ALG selected. However, the Arm ROTPK is always embe
fix(arm): add extra hash config to validate ROTPK
The default mbedTLS configuration enables hash algorithms based on the HASH_ALG or MBOOT_EL_HASH_ALG selected. However, the Arm ROTPK is always embedded as a SHA256 hash in BL1 and BL2. In the future, we may need to adjust this to use the HASH_ALG algorithm for embedding the ROTPK hash.
As a temporary workaround, a separate mbedTLS configuration has been created for Arm platforms to explicitly set SHA256 defines, rather than relying on the default configuration. This adjustment is reflected in the mbedTLS configuration file for the TC platform as well as in the PSA Crypto configuration file.
Change-Id: Ib3128ce7b0fb5c0858624ecbc998d456968beddf Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| 3e8a82a0 | 02-Sep-2024 |
Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> |
feat(tc): make TCR2 feature asymmetric
Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> Change-Id: I6209dc46ddecaa09cc1220fe9488b3771ea6dc38 |
| 0c755a2c | 04-Sep-2024 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "mbedtls-config-cleanup" into integration
* changes: chore(qemu): remove duplicate define chore(imx): remove duplicate define chore(arm): remove duplicate defines ch
Merge changes from topic "mbedtls-config-cleanup" into integration
* changes: chore(qemu): remove duplicate define chore(imx): remove duplicate define chore(arm): remove duplicate defines chore(mbedtls): remove hash configs
show more ...
|
| f8e31baa | 20-Aug-2024 |
Jimmy Brisson <jimmy.brisson@arm.com> |
chore(arm): remove duplicate defines
Change-Id: I9eea1610660bfa92f7781deab60e29eae11c4ba6 Signed-off-by: Jimmy Brisson <jimmy.brisson@arm.com> |
| 15518343 | 29-Aug-2024 |
gaurav02 <gautham.ravichandran@arm.com> |
feat(rdv3): set CTX_INCLUDE_SVE_REGS build flag for RD-V3 variants
Commit 4242262(feat(simd):add sve state to simd ctxt struct) introduced the CTX_INCLUDE_SVE_REGS build flag that needs to be set if
feat(rdv3): set CTX_INCLUDE_SVE_REGS build flag for RD-V3 variants
Commit 4242262(feat(simd):add sve state to simd ctxt struct) introduced the CTX_INCLUDE_SVE_REGS build flag that needs to be set if SVE is enabled for more than one world, which is the case for RD-V3. This build flag enables SVE registers to be included when saving and restoring the CPU context.
Change-Id: Ic491939061e42e8c87a805ded99e271308f90352 Signed-off-by: Gautham Ravichandran <gautham.ravichandran@arm.com>
show more ...
|
| 8e9bdc5b | 29-Aug-2024 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "us_tc4_rebase_v2" into integration
* changes: feat(tc): bind DPU SMMU on TC4 feat(tc): bind GPU SMMU on TC4 feat(tc): update DT for Drage GPU feat(tc): enable SME a
Merge changes from topic "us_tc4_rebase_v2" into integration
* changes: feat(tc): bind DPU SMMU on TC4 feat(tc): bind GPU SMMU on TC4 feat(tc): update DT for Drage GPU feat(tc): enable SME and SME2 options for TC4 feat(tc): add new TC4 RoS definitions feat(tc): add system generic timer register definition for TC4 feat(tc): allow TARGET_VERSION=4 feat(tc): add MHUv3 register addresses for TC4 feat(tc): add device tree binding for TC4
show more ...
|
| 9face212 | 08-Jan-2024 |
Jackson Cooper-Driver <jackson.cooper-driver@arm.com> |
feat(tc): enable SME and SME2 options for TC4
Set the Make flags for TF-A to be able to enable SME and SME2 features. Note that we enable these architectural features for both the secure and non-sec
feat(tc): enable SME and SME2 options for TC4
Set the Make flags for TF-A to be able to enable SME and SME2 features. Note that we enable these architectural features for both the secure and non-secure worlds, which is required on TC4.
In the case of the non-secure world, we specify a value of 2 for the flag which specifies that TF-A should check the feature register to ensure that the feature is present before enabling it. This allows these flags to be compatible with all platforms and stops TF-A doing anything different if it does not detect that the feature is present.
Change-Id: I51f8c7e3eb1cf06767f4b155c93269e1f129f730 Signed-off-by: Jackson Cooper-Driver <jackson.cooper-driver@arm.com> Signed-off-by: Leo Yan <leo.yan@arm.com>
show more ...
|
| d6b6a8b7 | 22-Apr-2024 |
Jackson Cooper-Driver <jackson.cooper-driver@arm.com> |
feat(tc): add system generic timer register definition for TC4
Add new include (specific to TC4) to the TC platform file which specifies the system generic timer base address and is used by the TF-a
feat(tc): add system generic timer register definition for TC4
Add new include (specific to TC4) to the TC platform file which specifies the system generic timer base address and is used by the TF-a for use as system counters.
Note that this include must come before arm_def.h. This is required as it checks if ARM_SYS_CNTCTL macros are defined before defining its own macros.
Change-Id: I56861e5737271b29f09c75d962533be620766b52 Signed-off-by: Jackson Cooper-Driver <jackson.cooper-driver@arm.com> Signed-off-by: Leo Yan <leo.yan@arm.com>
show more ...
|
| e8e1b608 | 14-Dec-2023 |
Jackson Cooper-Driver <jackson.cooper-driver@arm.com> |
feat(tc): allow TARGET_VERSION=4
Add basic support for TARGET_VERSION=4. It extends the existing 'if' statements in the Makefile and the header to allow them to take the value of 4 and also specifie
feat(tc): allow TARGET_VERSION=4
Add basic support for TARGET_VERSION=4. It extends the existing 'if' statements in the Makefile and the header to allow them to take the value of 4 and also specifies the SCMI platform info to use for TC4.
Change-Id: I8d8257671314277a133e88ef65fae8fada93d00e Signed-off-by: Jackson Cooper-Driver <jackson.cooper-driver@arm.com> Signed-off-by: Leo Yan <leo.yan@arm.com>
show more ...
|
| 36ffe3e1 | 10-May-2024 |
Leo Yan <leo.yan@arm.com> |
feat(tc): add MHUv3 register addresses for TC4
Change-Id: I06351fc048d792943f338291f8f64827339e8e1c Signed-off-by: Leo Yan <leo.yan@arm.com> |
| 241ec3a5 | 29-Aug-2024 |
Olivier Deprez <olivier.deprez@arm.com> |
Merge changes from topic "mb/cot-fixes" into integration
* changes: fix(cot-dt2c): fix various breakages fix(cot-dt2c): use processed Device Tree source file as input |
| 73f7b7dd | 15-Aug-2024 |
Chris Kay <chris.kay@arm.com> |
fix(cot-dt2c): fix various breakages
This change fixes several breakages that were introduced in some build configurations by the introduction of the cot-dt2c tool.
Some Python environments cannot
fix(cot-dt2c): fix various breakages
This change fixes several breakages that were introduced in some build configurations by the introduction of the cot-dt2c tool.
Some Python environments cannot be managed directly via `pip`, and invocations of `make`, including `make distclean`, would cause errors along the lines of:
error: externally-managed-environment
× This environment is externally managed ╰─> To install Python packages system-wide, try apt install python3-xyz, where xyz is the package you are trying to install.
This change has been resolved by ensuring that calls to the cot-dt2c tool from the build system happen exclusively through Poetry, which automatically sets up a virtual environment that *can* be modified.
Some environments saw the following error when building platforms where the cot-dt2c tool was used:
make: *** No rule to make target '<..>/debug/bl2_cot.c', needed by '<..>/debug/bl2/bl2_cot.o'. Stop.
Additionally, environments with a more recent version of Python saw the following error:
File "<...>/lib/python3.12/site-packages/cot_dt2c/cot_parser.py", line 637, in img_to_c if ifdef: ^^^^^ NameError: name 'ifdef' is not defined
Both of these errors have now been resolved by modifications to the build system and the cot-dt2c tool to enable preprocessing of the device tree source file before it is processed by the tool.
As a consequence of this change, the `pydevicetree` library is no longer vendored into the repository tree, and we instead pull it in via a dependency in Poetry.
This change also resolves several MyPy warnings and errors related to missing type hints.
Change-Id: I72b2d01caca3fcb789d3fe2549f318a9c92d77d1 Signed-off-by: Chris Kay <chris.kay@arm.com>
show more ...
|
| 09bf366b | 27-Aug-2024 |
Andre Przywara <andre.przywara@arm.com> |
fix(corstone-1000): fix Makefile error reporting
When trying to build for the Corstone-1000 platform without specifying a valid TARGET_PLATFORM value, the "make" call reports a Makefile error instea
fix(corstone-1000): fix Makefile error reporting
When trying to build for the Corstone-1000 platform without specifying a valid TARGET_PLATFORM value, the "make" call reports a Makefile error instead of the expected error messages pointing to the variable omission: ==================== platform.mk: *** recipe commences before first target. Stop. ==================== This is due to the make's infamous special handling of the tab character.
Fix the error report by replacing the tab with spaces.
Change-Id: I38264b6731793e5d5b929c189bb963e55bd5ce2d Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| a0674ab0 | 07-May-2024 |
Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> |
refactor(cm): remove el1 context when SPMD_SPM_AT_SEL2=1
* Currently, EL1 context is included in cpu_context_t by default for all the build configurations. As part of the cpu context structure,
refactor(cm): remove el1 context when SPMD_SPM_AT_SEL2=1
* Currently, EL1 context is included in cpu_context_t by default for all the build configurations. As part of the cpu context structure, we hold a copy of EL1, EL2 system registers, per world per PE. This context structure is enormous and will continue to grow bigger with the addition of new features incorporating new registers.
* Ideally, EL3 should save and restore the system registers at its next lower exception level, which is EL2 in majority of the configurations.
* This patch aims at optimising the memory allocation in cases, when the members from the context structure are unused. So el1 system register context must be omitted when lower EL is always x-EL2.
* "CTX_INCLUDE_EL2_REGS" is the internal build flag which gets set, when SPD=spmd and SPMD_SPM_AT_SEL2=1 or ENABLE_RME=1. It indicates, the system registers at EL2 are context switched for the respective build configuration. Here, there is no need to save and restore EL1 system registers, while x-EL2 is enabled.
Henceforth, this patch addresses this issue, by taking out the EL1 context at all possible places, while EL2 (CTX_INCLUDE_EL2_REGS) is enabled, there by saving memory.
Change-Id: Ifddc497d3c810e22a15b1c227a731bcc133c2f4a Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
show more ...
|
| a0d9a973 | 30-Jul-2024 |
Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> |
chore(cm): reorganise sctlr_el1 and tcr_el1 ctx code
SCTLR_EL1 and TCR_EL1 regs are included either as part of errata "ERRATA_SPECULATIVE_AT" or under el1_sysregs_t context structure. The code to wr
chore(cm): reorganise sctlr_el1 and tcr_el1 ctx code
SCTLR_EL1 and TCR_EL1 regs are included either as part of errata "ERRATA_SPECULATIVE_AT" or under el1_sysregs_t context structure. The code to write and read into these context entries, looks repetitive and is invoked at most places. This section is refactored to bring them under a static procedure, keeping the code neat and easier to maintain.
Change-Id: Ib0d8c51bee09e1600c5baaa7f9745083dca9fee1 Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
show more ...
|
| 4b6e4e61 | 20-Aug-2024 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "mp/simd_ctxt_mgmt" into integration
* changes: feat(fvp): allow SIMD context to be put in TZC DRAM docs(simd): introduce CTX_INCLUDE_SVE_REGS build flag feat(fvp): ad
Merge changes from topic "mp/simd_ctxt_mgmt" into integration
* changes: feat(fvp): allow SIMD context to be put in TZC DRAM docs(simd): introduce CTX_INCLUDE_SVE_REGS build flag feat(fvp): add Cactus partition manifest for EL3 SPMC chore(simd): remove unused macros and utilities for FP feat(el3-spmc): support simd context management upon world switch feat(trusty): switch to simd_ctx_save/restore apis feat(pncd): switch to simd_ctx_save/restore apis feat(spm-mm): switch to simd_ctx_save/restore APIs feat(simd): add rules to rationalize simd ctxt mgmt feat(simd): introduce simd context helper APIs feat(simd): add routines to save, restore sve state feat(simd): add sve state to simd ctxt struct feat(simd): add data struct for simd ctxt management
show more ...
|
| b4c23adf | 18-Jul-2024 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
feat(fvp): allow SIMD context to be put in TZC DRAM
This patch demonstrates the capability of SEPARATE_SIMD_SECTION build flag through which the memory intensive SIMD context data structures are all
feat(fvp): allow SIMD context to be put in TZC DRAM
This patch demonstrates the capability of SEPARATE_SIMD_SECTION build flag through which the memory intensive SIMD context data structures are allocated in a separate section withtin the TZC DRAM space.
Change-Id: Idf3f232a7960a8f84f279d496c76953a6dad2009 Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
show more ...
|
| 51346236 | 17-Jun-2024 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
feat(fvp): add Cactus partition manifest for EL3 SPMC
This patch adds the SP partition manifest to boot Cactus SP on EL3 SPMC to be used with FVP platform.
Change-Id: I88b36f6ac21ebba7fa93aef75dad7
feat(fvp): add Cactus partition manifest for EL3 SPMC
This patch adds the SP partition manifest to boot Cactus SP on EL3 SPMC to be used with FVP platform.
Change-Id: I88b36f6ac21ebba7fa93aef75dad74bb9ee5c944 Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
show more ...
|
| 3524d074 | 17-Jun-2024 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
feat(simd): add rules to rationalize simd ctxt mgmt
Illegal combinations of build flags associated with SIMD context management are flagged by the build system.
Change-Id: I3192af3889e1e864c7875778
feat(simd): add rules to rationalize simd ctxt mgmt
Illegal combinations of build flags associated with SIMD context management are flagged by the build system.
Change-Id: I3192af3889e1e864c7875778616e167ba6894195 Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
show more ...
|
| 553b70c3 | 19-Aug-2024 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "ar/asymmetricSupport" into integration
* changes: feat(tc): enable trbe errata flags for Cortex-A520 and X4 feat(cm): asymmetric feature support for trbe refactor(err
Merge changes from topic "ar/asymmetricSupport" into integration
* changes: feat(tc): enable trbe errata flags for Cortex-A520 and X4 feat(cm): asymmetric feature support for trbe refactor(errata-abi): move EXTRACT_PARTNUM to arch.h feat(cpus): workaround for Cortex-A520(2938996) and Cortex-X4(2726228) feat(tc): make SPE feature asymmetric feat(cm): handle asymmetry for SPE feature feat(cm): support for asymmetric feature among cores feat(cpufeat): add new feature state for asymmetric features
show more ...
|
| 74dc801d | 12-Aug-2024 |
Manish Pandey <manish.pandey2@arm.com> |
feat(tc): enable trbe errata flags for Cortex-A520 and X4
Enable following erratas as per the TARGET_PLATFORM of TC - ERRATA_A520_2938996 - ERRATA_X4_2726228
Signed-off-by: Manish Pandey <manish.
feat(tc): enable trbe errata flags for Cortex-A520 and X4
Enable following erratas as per the TARGET_PLATFORM of TC - ERRATA_A520_2938996 - ERRATA_X4_2726228
Signed-off-by: Manish Pandey <manish.pandey2@arm.com> Change-Id: Ia552473740c34867dd9fd619faf378adcb784821
show more ...
|
| 7754b770 | 18-Jul-2024 |
Manish Pandey <manish.pandey2@arm.com> |
feat(tc): make SPE feature asymmetric
Signed-off-by: Manish Pandey <manish.pandey2@arm.com> Change-Id: Ibf0fecb2a97cb0f3508e01e0907e61e3c437ac00 |
| 2d4f264b | 17-Aug-2024 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "romlib-fixes" into integration
* changes: fix(romlib): wrap indirectly included functions fix(arm): remove duplicate jumptable entry |