| 48426cff | 03-Apr-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
fix(spm-mm): prevent excessive racing
The current code does the following:
sp_state_wait_switch: lock() if (status == 0) status = 1 unlock()
[critical section]
sp_state_set: lock() status
fix(spm-mm): prevent excessive racing
The current code does the following:
sp_state_wait_switch: lock() if (status == 0) status = 1 unlock()
[critical section]
sp_state_set: lock() status = 0 unlock()
One core will obtain the status for itself and then all other cores will get the lock, see the status is not available, release the lock, and try again. However, when there are many cores this causes a lot of lock contention and the original core is racing to obtain the lock to release the status. This starves the holder of the lock, resulting in an apparent deadlock, although given enough time it will pass.
Hold the lock throughout to prevent this.
Also make the functions static as they are never exported and drop sp_state_try_switch() as its unused and would not work anymore.
Change-Id: I0861d04ed95437e4ca9f203d9e79a6296b1ead56 Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| 8b3a89fa | 31-Mar-2025 |
Sona Mathew <sonarebecca.mathew@arm.com> |
feat(trp): test el3-rmm ide km interface
This patch introduces test functions to the Test Realm Payload (TRP) for performing basic sanity checks on the RMM-EL3 IDE KM support added to EL3.
The prim
feat(trp): test el3-rmm ide km interface
This patch introduces test functions to the Test Realm Payload (TRP) for performing basic sanity checks on the RMM-EL3 IDE KM support added to EL3.
The primary goal of this patch is to only to verify the basic functionality and ensure the implemented functions return the correct return values.
The test uses random values for the ecam address, rootport ID, IDE stream info, keys, and IV values.
Change-Id: Icf47627da9a6a7dd0d6e40e20ac94cc977072177 Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>
show more ...
|
| 2132c707 | 14-Mar-2025 |
Sona Mathew <sonarebecca.mathew@arm.com> |
feat(rmmd): el3-rmm ide key management interface
Patch introduces the EL3-RMM SMC Interface for Root Port Key management as per RFC discussed here: https://github.com/TF-RMM/tf-rmm/wiki/RFC:-EL3-RMM
feat(rmmd): el3-rmm ide key management interface
Patch introduces the EL3-RMM SMC Interface for Root Port Key management as per RFC discussed here: https://github.com/TF-RMM/tf-rmm/wiki/RFC:-EL3-RMM-IDE-KM-Interface
Three IDE Key management smc calls have been added: - RMM_IDE_KEY_PROG() - RMM_IDE_KEY_SET_GO() - RMM_IDE_KEY_SET_STOP() - RMM_IDE_KM_PULL_RESPONSE()
Due to the absence of root port support in FVP, we are currently adding placeholders in this patch for the platform APIs to return success irrespective of the arguments being passed by the caller(Realms). The SMCs are guarded by `RMMD_ENABLE_IDE_KEY_PROG` build flag and is disabled by default. We expect that once the SMCs are stabilized, this build flag will not be required anymore.
Change-Id: I9411eb7787dac2a207bd14710d251503bd9626ce Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>
show more ...
|
| 13300594 | 04-Apr-2025 |
Lauren Wehrmeister <lauren.wehrmeister@arm.com> |
Merge "feat(drtm): update DLME data header with actual Event Log size" into integration |
| 8ed1e20b | 04-Apr-2025 |
Olivier Deprez <olivier.deprez@arm.com> |
Merge "fix(spmd): check pwr mgmt status for SPMC framework response" into integration |
| 9753238f | 14-Mar-2025 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
feat(drtm): update DLME data header with actual Event Log size
The definition of `dlme_tpm_log_size` has been revised to represent the actual Event Log data size instead of the fixed minimum of 64KB
feat(drtm): update DLME data header with actual Event Log size
The definition of `dlme_tpm_log_size` has been revised to represent the actual Event Log data size instead of the fixed minimum of 64KB. This change will be reflected in the upcoming DRTM specification update.
Note: This change requires a corresponding update to the ACS DRTM app in CI.
Change-Id: I967b5a372b283abd46409685d7266ffa60c142b0 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| 10639cc9 | 03-Apr-2025 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "xlnx_fix_gen_uniq_var" into integration
* changes: fix(psci): avoid altering function parameters fix(services): avoid altering function parameters fix(common): ignore
Merge changes from topic "xlnx_fix_gen_uniq_var" into integration
* changes: fix(psci): avoid altering function parameters fix(services): avoid altering function parameters fix(common): ignore the unused function return value fix(psci): modify variable conflicting with external function fix(delay-timer): create unique variable name
show more ...
|
| a4d8012f | 31-Mar-2025 |
Govindraj Raja <govindraj.raja@arm.com> |
Merge "refactor: report features supported to secure world" into integration |
| d0ee0ec1 | 11-Jul-2024 |
Karl Meakin <karl.meakin@arm.com> |
refactor: report features supported to secure world
Report `FFA_MEM_PERM_GET` and `FFA_MEM_PERM_SET` supported to secure world instances.
Signed-off-by: Karl Meakin <karl.meakin@arm.com> Change-Id:
refactor: report features supported to secure world
Report `FFA_MEM_PERM_GET` and `FFA_MEM_PERM_SET` supported to secure world instances.
Signed-off-by: Karl Meakin <karl.meakin@arm.com> Change-Id: I90e6b0ab601ae1142b419cacfa56109c183ab640
show more ...
|
| 86618450 | 27-Mar-2025 |
Soby Mathew <soby.mathew@arm.com> |
Merge "fix(rme): do not trap access to MPAM system registers in Realm mode" into integration |
| d048af0d | 21-Mar-2025 |
Javier Almansa Sobrino <javier.almansasobrino@arm.com> |
fix(rme): do not trap access to MPAM system registers in Realm mode
Change-Id: I77496ee962727687b28f71a1a15b4fe4133c613c Signed-off-by: Javier Almansa Sobrino <javier.almansasobrino@arm.com> |
| 609ada96 | 24-Mar-2025 |
Juan Pablo Conde <juanpablo.conde@arm.com> |
feat(rmmd): verify FEAT_MEC present before calling plat hoook
Some platforms do not support FEAT_MEC. Hence, they do not provide an interface to update the update of the key corresponding to a MECID
feat(rmmd): verify FEAT_MEC present before calling plat hoook
Some platforms do not support FEAT_MEC. Hence, they do not provide an interface to update the update of the key corresponding to a MECID.
This patch adds a condition in order to verify FEAT_MEC is present before calling the corresponding platform hook, thus preventing it from being called when the platform does not support the feature.
Change-Id: Ib1eb9e42f475e27ec31529569e888b93b207148c Signed-off-by: Juan Pablo Conde <juanpablo.conde@arm.com>
show more ...
|
| 8723eaf2 | 08-Feb-2025 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
fix(spmd): check pwr mgmt status for SPMC framework response
The direct message response received by the SPMD upon a CPU_OFF power management operation must be a framework message. If message indica
fix(spmd): check pwr mgmt status for SPMC framework response
The direct message response received by the SPMD upon a CPU_OFF power management operation must be a framework message. If message indicates SPMC denied the CPU_OFF operation, SPMD shall panic.
However, if SPMC does not support receiving power management related framework messages from SPMD, it will return FFA_ERROR. In such case, SPMD takes an implementation defined choice to ignore the the FFA_ERROR and proceed with power management operation.
Change-Id: I18b9ee3fb8fd605bcd4aaa6802c969e9d36ccbe1 Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
show more ...
|
| 48488245 | 20-Mar-2025 |
Soby Mathew <soby.mathew@arm.com> |
Merge changes from topic "mec" into integration
* changes: feat(qemu): add plat_rmmd_mecid_key_update() feat(rmmd): add RMM_MECID_KEY_UPDATE call |
| f801fdc2 | 22-Apr-2024 |
Tushar Khandelwal <tushar.khandelwal@arm.com> |
feat(rmmd): add RMM_MECID_KEY_UPDATE call
With this addition, TF-A now has an SMC call to handle the update of MEC keys associated to MECIDs.
The behavior of this newly added call is empty for now
feat(rmmd): add RMM_MECID_KEY_UPDATE call
With this addition, TF-A now has an SMC call to handle the update of MEC keys associated to MECIDs.
The behavior of this newly added call is empty for now until an implementation for the MPE (Memory Protection Engine) driver is available. Only parameter sanitization has been implemented.
Signed-off-by: Tushar Khandelwal <tushar.khandelwal@arm.com> Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org> Signed-off-by: Juan Pablo Conde <juanpablo.conde@arm.com> Change-Id: I2a969310b47e8c6da1817a79be0cd56158c6efc3
show more ...
|
| a7d15075 | 14-Mar-2025 |
Soby Mathew <soby.mathew@arm.com> |
Merge "chore: organize rmmd smccc by fid sequence" into integration |
| 1975d28b | 11-Mar-2025 |
Sona Mathew <sonarebecca.mathew@arm.com> |
chore: organize rmmd smccc by fid sequence
This patch only arranged the case numbers that were incorrectly ordered.
Change-Id: I0da48c68c5c2f4b5ba19ab770377ea91066bcb6a Signed-off-by: Sona Mathew <
chore: organize rmmd smccc by fid sequence
This patch only arranged the case numbers that were incorrectly ordered.
Change-Id: I0da48c68c5c2f4b5ba19ab770377ea91066bcb6a Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>
show more ...
|
| 1a0f565b | 22-Apr-2024 |
Maheedhar Bollapalli <maheedharsai.bollapalli@amd.com> |
fix(services): avoid altering function parameters
This corrects the MISRA violation C2012-17.8: A function parameter should not be modified. Local variable is declared and used to process the value
fix(services): avoid altering function parameters
This corrects the MISRA violation C2012-17.8: A function parameter should not be modified. Local variable is declared and used to process the value from the argument.
Change-Id: I94e8048c43f767ad08820624b7c7e43b0a3e9190 Signed-off-by: Nithin G <nithing@amd.com> Signed-off-by: Maheedhar Bollapalli <maheedharsai.bollapalli@amd.com>
show more ...
|
| 8666bcfa | 06-Mar-2025 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
feat(drtm): validate launch features in DRTM parameters
Perform sanity checks on the launch features received via DRTM parameters. Return INVALID_PARAMETERS if they are incorrect.
Change-Id: I7e806
feat(drtm): validate launch features in DRTM parameters
Perform sanity checks on the launch features received via DRTM parameters. Return INVALID_PARAMETERS if they are incorrect.
Change-Id: I7e8068154028d1c8f6b6b45449616bb5711ea76e Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| bbff267b | 24-Feb-2025 |
Arvind Ram Prakash <arvind.ramprakash@arm.com> |
fix(errata-abi): add support for handling split workarounds
Certain erratum workarounds like Neoverse N1 1542419, need a part of their mitigation done in EL3 and the rest in lower EL. But currently
fix(errata-abi): add support for handling split workarounds
Certain erratum workarounds like Neoverse N1 1542419, need a part of their mitigation done in EL3 and the rest in lower EL. But currently such workarounds return HIGHER_EL_MITIGATION which indicates that the erratum has already been mitigated by a higher EL(EL3 in this case) which causes the lower EL to not apply it's part of the mitigation.
This patch fixes this issue by adding support for split workarounds so that on certain errata we return AFFECTED even though EL3 has applied it's workaround. This is done by reusing the chosen field of erratum_entry structure into a bitfield that has two bitfields - Bit 0 indicates that the erratum has been enabled in build, Bit 1 indicates that the erratum is a split workaround and should return AFFECTED instead of HIGHER_EL_MITIGATION.
SDEN documentation: https://developer.arm.com/documentation/SDEN885747/latest
Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com> Change-Id: Iec94d665b5f55609507a219a7d1771eb75e7f4a7
show more ...
|
| 6feaad6c | 09-Jan-2025 |
Jens Wiklander <jens.wiklander@linaro.org> |
fix(el3-spmc): fix FF-A v1.2 version check
The two functions spmc_validate_mtd_start() and spmc_ffa_mem_send() check FF-A version used with an end-point to determine the expected minimal size of the
fix(el3-spmc): fix FF-A v1.2 version check
The two functions spmc_validate_mtd_start() and spmc_ffa_mem_send() check FF-A version used with an end-point to determine the expected minimal size of the memory transaction descriptor. However, they haven't been updated for FF-A 1.2. So fix the two functions to take version 1.2 and beyond into account and use the version 1.1 size for the memory transaction.
Change-Id: I86b9092eff7c4df557ee43522c680e3bf92199ba Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 94127ae2 | 25-Feb-2025 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
feat(drtm): retrieve DLME image authentication features
Retrieve DLME image authentication features and report them back to the DCE preamble. Currently, this value is always set to 0, as no platform
feat(drtm): retrieve DLME image authentication features
Retrieve DLME image authentication features and report them back to the DCE preamble. Currently, this value is always set to 0, as no platform supports DLME authentication.
Additionally, the default schema is always used instead of the DLME PCR schema since DLME authentication is not currently supported.
This change primarily upgrades the DRTM parameters version to V2, aligning with DRTM spec v1.1 [1].
[1]: https://developer.arm.com/documentation/den0113/c/?lang=en
Change-Id: Ie2ceb0d2ff49465643597e8725710a93d89e74a2 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| 2ec44880 | 26-Feb-2025 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
feat(drtm): log No-Action Event in Event Log for DRTM measurements
This patch updates `drtm_measurements.c` to ensure that a No-Action event is recorded in the Event Log as part of the DRTM measurem
feat(drtm): log No-Action Event in Event Log for DRTM measurements
This patch updates `drtm_measurements.c` to ensure that a No-Action event is recorded in the Event Log as part of the DRTM measurement process. This helps maintain compliance with the event logging requirements specified in DRTM spec v1.1 [1].
[1]: https://developer.arm.com/documentation/den0113/c/?lang=en
Change-Id: Ifcf25b7ec91393a0c91b05e30f1f6cc4960d5634 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| 8d24a30d | 26-Feb-2025 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
feat(drtm): ensure event types aligns with DRTM specification v1.1
This patch updates event logging to comply with the latest version (v1.1) of the DRTM specification [1]. It ensures that all requir
feat(drtm): ensure event types aligns with DRTM specification v1.1
This patch updates event logging to comply with the latest version (v1.1) of the DRTM specification [1]. It ensures that all required event types, including those related to DLME authentication, are properly defined.
Although these additional events are not currently utilized in the implementation, this change ensures their presence as specified in DRTM v1.1 for completeness.
[1]: https://developer.arm.com/documentation/den0113/c/?lang=en
Change-Id: I6846488c4121b1e2dc948d73c946e06883e16b28 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| a65fa57b | 22-Feb-2025 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
fix(drtm): add missing DLME data regions for min size requirement
Ensure compliance with minimum size requirements by including the missing DLME data regions, such as the DLME data header and ACPI r
fix(drtm): add missing DLME data regions for min size requirement
Ensure compliance with minimum size requirements by including the missing DLME data regions, such as the DLME data header and ACPI region size. This will prevent incorrect allocation of DLME data regions in the DCE preamble.
Change-Id: Ic493262152dfe39eb2d54f8771f19651be042288 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|