| d2867397 | 26-Sep-2024 |
Chris Kay <chris.kay@arm.com> |
build: make Poetry optional
The Yocto team has requested that we do not use Poetry from within the Makefile, as Yocto does not have network access during the build process.
We want to maintain the
build: make Poetry optional
The Yocto team has requested that we do not use Poetry from within the Makefile, as Yocto does not have network access during the build process.
We want to maintain the current behaviour, so this change makes our use of Poetry contigent on it being available in the environment.
Additionally, explicitly passing an empty toolchain parameter now allows a tool to be *disabled* (e.g. passing `POETRY=` will prevent the build system from trying to use Poetry).
Change-Id: Ibf552a3fee1eaadee767a1b948b559700083b401 Signed-off-by: Chris Kay <chris.kay@arm.com>
show more ...
|
| 1547e5e6 | 25-Sep-2024 |
Rakshit Goyal <rakshit.goyal@arm.com> |
feat(arm): setup GPT in BL31 in RESET_TO_BL31 boot flow
In the normal boot flow, BL2 sets up the Granule Protection Tables (GPT). As BL2 is not a part of RESET_TO_BL31, BL31 needs to set up GPT for
feat(arm): setup GPT in BL31 in RESET_TO_BL31 boot flow
In the normal boot flow, BL2 sets up the Granule Protection Tables (GPT). As BL2 is not a part of RESET_TO_BL31, BL31 needs to set up GPT for CPUs supporting FEAT_RME.
Signed-off-by: Rakshit Goyal <rakshit.goyal@arm.com> Change-Id: I9ad16bd93ea9fbad422dd56e2ba1d600a30eea30
show more ...
|
| 2329e22b | 28-Aug-2024 |
Harrison Mutai <harrison.mutai@arm.com> |
feat(handoff): make tl generation flexible
Make the process of compiling a TL from DT source flexible. Provide a top level recipe to make it easier for developers to build a transfer list. Clean up
feat(handoff): make tl generation flexible
Make the process of compiling a TL from DT source flexible. Provide a top level recipe to make it easier for developers to build a transfer list. Clean up integration of TLC into the build system.
Change-Id: I4466e27a457dfd5bf709dc3a360a2b63bf6030ce Signed-off-by: Harrison Mutai <harrison.mutai@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 ...
|
| 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> |
| 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 ...
|
| 479c833a | 10-Jul-2024 |
Xialin Liu <Xialin.Liu@ARM.com> |
feat(arm): generate tbbr c file CoT dt2c
Integrate the cot-dt2c tool into build process for TBBR configuration
Change-Id: I42ccbc96c5c8fd21266200e427306a80236a78aa Signed-off-by: Xialin Liu <Xialin
feat(arm): generate tbbr c file CoT dt2c
Integrate the cot-dt2c tool into build process for TBBR configuration
Change-Id: I42ccbc96c5c8fd21266200e427306a80236a78aa Signed-off-by: Xialin Liu <Xialin.Liu@ARM.com>
show more ...
|
| 0e0fab0c | 28-Jun-2024 |
Xialin Liu <Xialin.Liu@ARM.com> |
feat(arm): makefile invoke CoT dt2c
Change the makefile to call the cot-dt2c tool during the build for Arm platform
Change-Id: Idb7c02cca6b9ddd87f575a42c88e7b2660b896e0 Signed-off-by: Xialin Liu <X
feat(arm): makefile invoke CoT dt2c
Change the makefile to call the cot-dt2c tool during the build for Arm platform
Change-Id: Idb7c02cca6b9ddd87f575a42c88e7b2660b896e0 Signed-off-by: Xialin Liu <Xialin.Liu@ARM.com>
show more ...
|
| 3146a70a | 27-Jun-2024 |
Xialin Liu <Xialin.Liu@ARM.com> |
refactor(auth): separate bl1 and bl2 CoT
Separate the bl1 and bl2 CoT into individual C files for the upcoming tool, i.e. the CoT device tree-to-source file generator.
Change-Id: I0d24791991b3539c7
refactor(auth): separate bl1 and bl2 CoT
Separate the bl1 and bl2 CoT into individual C files for the upcoming tool, i.e. the CoT device tree-to-source file generator.
Change-Id: I0d24791991b3539c7aef9a562920dc62fecdc69a Signed-off-by: Xialin Liu <Xialin.Liu@ARM.com>
show more ...
|
| 89c58a50 | 02-Feb-2024 |
Jagdish Gediya <jagdish.gediya@arm.com> |
feat(tc): setup ni-tower non-secure access for TC3
NI-Tower's component's registers are need to be accessed from kernel NI-PMU driver so enable NS access to it.
Change-Id: I83a8b3a1d2778baf767ff932
feat(tc): setup ni-tower non-secure access for TC3
NI-Tower's component's registers are need to be accessed from kernel NI-PMU driver so enable NS access to it.
Change-Id: I83a8b3a1d2778baf767ff93263e246d127ef8114 Signed-off-by: Jagdish Gediya <jagdish.gediya@arm.com> Signed-off-by: Leo Yan <leo.yan@arm.com>
show more ...
|
| fe94a21a | 12-Jul-2024 |
Harrison Mutai <harrison.mutai@arm.com> |
fix(arm): move HW_CONFIG relocation into BL31
Refactor DT relocation logic from BL2 to BL31 for non-secure DRAM. Previously, BL2 was responsible for copying the DT into SRAM and DRAM, resulting in d
fix(arm): move HW_CONFIG relocation into BL31
Refactor DT relocation logic from BL2 to BL31 for non-secure DRAM. Previously, BL2 was responsible for copying the DT into SRAM and DRAM, resulting in duplicate code in BL31 to cater for the `RESET_TO_BL31` case. By moving the re-location logic to BL31, we simplify handling of the non-secure DT and TL.
Change-Id: Id239f9410669afe4b223fa8d8bb093084a0e5e1b Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
show more ...
|
| 1a0ebff7 | 02-May-2024 |
Harrison Mutai <harrison.mutai@arm.com> |
feat(arm): add fw handoff support for RESET_TO_BL31
Change-Id: I78f3c5606f0221bb5fc613a973a7d3fe187db35b Signed-off-by: Harrison Mutai <harrison.mutai@arm.com> |
| 491832fe | 04-Jun-2024 |
Jimmy Brisson <jimmy.brisson@arm.com> |
fix(arm): check the presence of the policy check function
Change-Id: I7bb0dad232eac6c8084873713af22562853a4c21 Signed-off-by: Jimmy Brisson <jimmy.brisson@arm.com> |
| cca1b72b | 03-Jul-2024 |
Harrison Mutai <harrison.mutai@arm.com> |
fix(arm): remove critical handoff code from assert
Fix BL31 crashes caused by incorrect placement of firmware handoff code within an assert. The function call has been removed from the assert to ens
fix(arm): remove critical handoff code from assert
Fix BL31 crashes caused by incorrect placement of firmware handoff code within an assert. The function call has been removed from the assert to ensure it’s executed even when assertions are disabled.
Change-Id: I668f5c08af33327e8ff0e22887c3da109bd6be31 Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
show more ...
|
| 4f321794 | 19-Jun-2024 |
Salman Nabi <salman.nabi@arm.com> |
fix(arm): string split into two lines causing error
Fix the code related error message when user provides RESET_TO_BL31=1 to the make command but fails to provide "ARM_PRELOADED_DTB_BASE" macro at t
fix(arm): string split into two lines causing error
Fix the code related error message when user provides RESET_TO_BL31=1 to the make command but fails to provide "ARM_PRELOADED_DTB_BASE" macro at the same command line. Remove the line break from the error string causing the code error.
Additionally, make doesn't parse quote marks in strings, thus remove quote marks within error strings in this file.
Change-Id: Ic131b6febebfb420ed588fe4fb0853cbdae0afb8 Signed-off-by: Salman Nabi <salman.nabi@arm.com>
show more ...
|
| 731ac5ea | 14-May-2024 |
laurenw-arm <lauren.wehrmeister@arm.com> |
feat(arm): add COT_DESC_IN_DTB option for Dualroot
Add support for BL2 to get the Dualroot chain of trust description through the Firmware Configuration Framework (FCONF). This makes it possible to
feat(arm): add COT_DESC_IN_DTB option for Dualroot
Add support for BL2 to get the Dualroot chain of trust description through the Firmware Configuration Framework (FCONF). This makes it possible to export the part of the Dualroot chain of trust enforced by BL2 in BL2's configuration file (TB_FW_CONFIG DTB file). BL2 will parse it when setting up the platform.
The feature can be enabled through the COT_DESC_IN_DTB=1 option. The default behavior (COT_DESC_IN_DTB=0) remains to hard-code the Dualroot CoT into BL2 images.
Change-Id: I3497b1daf14be09b5ce3a74d39df7551819255c2 Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com>
show more ...
|
| 7efaad9e | 14-May-2024 |
Daniel Boulby <daniel.boulby@arm.com> |
fix(juno): remove incorrect assert in sp min boot
There may be some valid configurations where a bootloader runs before sp_min. In this case the bootloader may pass arguments through the general pur
fix(juno): remove incorrect assert in sp min boot
There may be some valid configurations where a bootloader runs before sp_min. In this case the bootloader may pass arguments through the general purpose registers when passing control to sp_min causing the assert to fail. Although sp_min may not use the content of the registers requiring them to be zero seems unnecessary.
Signed-off-by: Daniel Boulby <daniel.boulby@arm.com> Change-Id: I96fdc79626968830985bdd540f89e73b213de7d8
show more ...
|
| 5593ec1a | 09-May-2024 |
Manish Pandey <manish.pandey2@arm.com> |
refactor(arm): remove console switch from platform
With commit af3e8e63b switching from Boot console to runtime console is consolidated and been moved to just before exiting bl31 and removed from pl
refactor(arm): remove console switch from platform
With commit af3e8e63b switching from Boot console to runtime console is consolidated and been moved to just before exiting bl31 and removed from platform runtime setup hooks.
For Arm platform's runtime hook has not removed switching of console causing runtime console to be used for Runtime instrumentation logs which is just before bl31 exit. Causing a CI sript fail as it expects the logs on boot console.
Signed-off-by: Manish Pandey <manish.pandey2@arm.com> Change-Id: Ia3728d17635f993911099f9d6a6938e55f45de42
show more ...
|
| 0a9c244b | 29-Jan-2024 |
Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> |
fix(psci): mask the Last in Level nibble in StateId
In the ARM recommended StateID Encoding, the index for the power level where the calling core is last to go idle use the last niblle of the StateI
fix(psci): mask the Last in Level nibble in StateId
In the ARM recommended StateID Encoding, the index for the power level where the calling core is last to go idle use the last niblle of the StateId.
Even if this nibble is necessary for OS-initiated mode, it can be used by caller even when this OSI mode is not used.
In arm_validate_power_state() function, the StateId is compared with content of arm_pm_idle_states[] build with the arm_make_pwrstate_lvl2 macro, without Last in Level information. So it is safe to mask this nibble for ARM platform in all the cases, and that avoids issues with caller with use the same StateId encoding with OSI mode activated or not (in tftf tests for example, the input(power state) parameter = (0x40001022) and the associated power state is 0x40000022).
Change-Id: I45e8e2b8f526fb61b94cf134d7d4aa3bac4c215d Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
show more ...
|
| 2a0ca84f | 07-May-2024 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "sm/feat_detect" into integration
* changes: refactor(cpufeat): restore functions in detect_arch_features refactor(cpufeat): add macro to simplify is_feat_xx_present c
Merge changes from topic "sm/feat_detect" into integration
* changes: refactor(cpufeat): restore functions in detect_arch_features refactor(cpufeat): add macro to simplify is_feat_xx_present chore: simplify the macro names in ENABLE_FEAT mechanism
show more ...
|
| f7679d43 | 15-Apr-2024 |
Govindraj Raja <govindraj.raja@arm.com> |
refactor(smccc): move pmf to vendor el3 calls
Move pmf support to vendor-specific EL3 Monitor Service Calls. Remove pmf call count as it's not supported in vendor-specific el3 as per SMCCC Documenta
refactor(smccc): move pmf to vendor el3 calls
Move pmf support to vendor-specific EL3 Monitor Service Calls. Remove pmf call count as it's not supported in vendor-specific el3 as per SMCCC Documentation 1.5: https://developer.arm.com/documentation/den0028/latest
Add a deprecation notice to inform PMF is moved from arm-sip range to vendor-specific EL3 range. PMF support from arm-sip range will be removed and will not available after TF-A 2.12 release.
Change-Id: Ie1e14aa601d4fc3db352cd5621d842017a18e9ec Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| 273b8983 | 07-Mar-2024 |
Govindraj Raja <govindraj.raja@arm.com> |
refactor(smccc): move debugfs to vendor el3 calls
Move debugfs to Vendor-Specific EL3 Monitor Service Calls. Function Identifier for Vendor-Specific EL3 Monitor Service is '7' and allocated subrange
refactor(smccc): move debugfs to vendor el3 calls
Move debugfs to Vendor-Specific EL3 Monitor Service Calls. Function Identifier for Vendor-Specific EL3 Monitor Service is '7' and allocated subranges of Function identifiers to different services are:
0x87000000-0x8700FFFF-SMC32: Vendor-Specific EL3 Monitor Service Calls 0xC7000000-0xC700FFFF-SMC64: Vendor-Specific EL3 Monitor Service Calls
Amend Debugfs FID's to use this range and id.
Add a deprecation notice to inform debugfs moved from arm-sip range to Vendor-Specific EL3 range. Debugfs support from arm-sip range will be removed and will not be available after TF-A 2.12 release.
Reference to debugfs component level documentation: https://trustedfirmware-a.readthedocs.io/en/latest/components/debugfs-design.html#overview
Change-Id: I97a50170178f361f70c95ed0049bc4e278de59d7 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| aaaf2cc3 | 13-Mar-2024 |
Sona Mathew <sonarebecca.mathew@arm.com> |
refactor(cpufeat): add macro to simplify is_feat_xx_present
In this patch, we are trying to introduce the wrapper macro CREATE_FEATURE_PRESENT to get the following capability and align it for all th
refactor(cpufeat): add macro to simplify is_feat_xx_present
In this patch, we are trying to introduce the wrapper macro CREATE_FEATURE_PRESENT to get the following capability and align it for all the features:
-> is_feat_xx_present(): Does Hardware implement the feature. -> uniformity in naming the function across multiple features. -> improved readability
The is_feat_xx_present() is implemented to check if the hardware implements the feature and does not take into account the ENABLE_FEAT_XXX flag enabled/disabled in software.
- CREATE_FEATURE_PRESENT(name, idreg, shift, mask, idval) The wrapper macro reduces the function to a single line and creates the is_feat_xx_present function that checks the id register based on the shift and mask values and compares this against a determined idvalue.
Change-Id: I7b91d2c9c6fbe55f94c693aa1b2c50be54fb9ecc Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>
show more ...
|
| f019c801 | 23-Apr-2024 |
Harrison Mutai <harrison.mutai@arm.com> |
feat(handoff): add support for RESET_TO_BL2
When BL2 is enabled as the entrypoint in the reset vector, none of the TL initialisation ordinarily performed in BL1 will have been done. This change ensu
feat(handoff): add support for RESET_TO_BL2
When BL2 is enabled as the entrypoint in the reset vector, none of the TL initialisation ordinarily performed in BL1 will have been done. This change ensures that BL2 has a secure TL to pass information onto BL31 through.
Change-Id: I553b0b7aac9390cd6a2d63471b81ddc72cc40a60 Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
show more ...
|