| #
118017c3 |
| 13-Dec-2025 |
Soby Mathew <soby.mathew@arm.com> |
Merge "feat(rmmd): extend RMI function ID range validation" into integration
|
| #
bd5ee0bc |
| 12-Dec-2025 |
Soby Mathew <soby.mathew@arm.com> |
feat(rmmd): extend RMI function ID range validation
Add support for the extended RMI function number range (RMI_FNUM1)in the is_rmi_fid() macro. The macro now validates FIDs in both: - Original rang
feat(rmmd): extend RMI function ID range validation
Add support for the extended RMI function number range (RMI_FNUM1)in the is_rmi_fid() macro. The macro now validates FIDs in both: - Original range: 0x150 - 0x18F (RMI_FNUM_MIN_VALUE to RMI_FNUM_MAX_VALUE) - Extended range: 0x1D0 - 0x2CF (RMI_FNUM1_MIN_VALUE to RMI_FNUM1_MAX_VALUE)
This change ensures proper identification and handling of RMI calls across the full function ID space as defined by the RMM specification.
Change-Id: Ie65999ffeacc94057389e056761e57586f804b63 Signed-off-by: Soby Mathew <soby.mathew@arm.com>
show more ...
|
| #
92c0f3ba |
| 10-Oct-2025 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "rmm-lfa" into integration
* changes: feat(arm): handle RMM ep_info during LFA feat(lfa): add helper to check LFA prime completion status feat(lfa): enable LFA of RMM
Merge changes from topic "rmm-lfa" into integration
* changes: feat(arm): handle RMM ep_info during LFA feat(lfa): add helper to check LFA prime completion status feat(lfa): enable LFA of RMM chore(lfa): use standard int return type for prime/activate callbacks feat(rmmd): add warm reset helpers for primary and secondary CPUs
show more ...
|
| #
22bbb59f |
| 15-Apr-2025 |
Andre Przywara <andre.przywara@arm.com> |
feat(rmmd): add warm reset helpers for primary and secondary CPUs
Introduce two helpers to support RMM warm reset, primarily for use during Live Firmware Activation:
- rmmd_primary_warm_reset(): r
feat(rmmd): add warm reset helpers for primary and secondary CPUs
Introduce two helpers to support RMM warm reset, primarily for use during Live Firmware Activation:
- rmmd_primary_warm_reset(): re-runs rmmd_setup() and rmm_init() for the primary CPU. - rmmd_secondary_warm_reset(): reinitializes secondary CPUs using rmmd_cpu_on_finish_handler(), with a spinlock to serialize access.
Change-Id: I885536aa85e395ed69069802112dcdb5063a9c19 Signed-off-by: Andre Przywara <andre.przywara@arm.com> Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| #
24804eeb |
| 15-Sep-2025 |
Soby Mathew <soby.mathew@arm.com> |
Merge changes I32c5be5d,I15a652a0 into integration
* changes: fix(qemu): add reason parameter to MEC update refactor(rmmd): modify MEC update call to meet FIRME
|
| #
00e62ff9 |
| 03-Sep-2025 |
Juan Pablo Conde <juanpablo.conde@arm.com> |
refactor(rmmd): modify MEC update call to meet FIRME
Previous version of MEC refresh call was not compliant with FIRME [1]. This patch modifies the call so it is compliant with the specification.
[
refactor(rmmd): modify MEC update call to meet FIRME
Previous version of MEC refresh call was not compliant with FIRME [1]. This patch modifies the call so it is compliant with the specification.
[1] https://developer.arm.com/documentation/den0149/1-0alp0/
Change-Id: I15a652a021561edca16e79d127e6f08975cf1361 Signed-off-by: Juan Pablo Conde <juanpablo.conde@arm.com>
show more ...
|
| #
aed7dc81 |
| 08-Sep-2025 |
Soby Mathew <soby.mathew@arm.com> |
Merge changes from topic "rmm-lfa" into integration
* changes: feat(rmmd): add RMM_RESERVE_MEMORY SMC handler feat(rmmd): add per-CPU activation token
|
| #
745c129a |
| 09-Jul-2024 |
Andre Przywara <andre.przywara@arm.com> |
feat(rmmd): add RMM_RESERVE_MEMORY SMC handler
At the moment any memory required by an R-EL2 manager (RMM) needs to be known at compile time: that sets the size of the .data and .bss segments. Some
feat(rmmd): add RMM_RESERVE_MEMORY SMC handler
At the moment any memory required by an R-EL2 manager (RMM) needs to be known at compile time: that sets the size of the .data and .bss segments. Some resources depend on the particular machine this will be running on, the prime example is TF-RMM's granule array, which needs to know the maximum memory supported beforehand. Other data structures might depend on the number of CPU cores.
To provide more flexibility, but keep the memory footprint as small as possible, let's introduce some memory reservation SMC. Any RMM implementation can ask EL3 for some memory, and would get the physical address of a usable chunk of memory back. This must happen at RMM boot time, so before the RMM concluded the boot phase with the RMM_BOOT_COMPLETE SMC call. Also there is no provision to free memory again, this would not be needed for the use case of sizing platform resources, and avoids the complexity of a full-fledged memory allocator.
Add the new RMM_RESERVE_MEMORY command to the implementation defined RMM-EL3 SMC interface, both in code and documentation. The actual memory reservation is made a platform implementation, but a simple implementation is provided, which is used for the FVP platform already: it will just pick the next matching chunk of memory from the top end of the RMM carveout. This way the memory reservation will grow down from the end of the carveout, in a stack-like fashion, until it reaches the end of the RMM payload, located at the beginning of the carveout. Since secondary cores might also reserve memory at boot time, there is a spinlock to protect the simple allocation algorithm. Other platforms can choose to provide a more sophisticated reservation algorithm, for instance one taking NUMA locality into account.
This patch just provides the call, at this point there is no obligation to use the feature, although future TF-RMM versions would rely on it.
Change-Id: I096ac8870ee38f44e18850779fcae829a43a8fd1 Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| #
ec56d595 |
| 15-Apr-2025 |
Soby Mathew <soby.mathew@arm.com> |
Merge changes from topic "sm/rpkm" into integration
* changes: docs(rmmd): document the EL3-RMM IDE KM Interface feat(trp): test el3-rmm ide km interface feat(rmmd): el3-rmm ide key management
Merge changes from topic "sm/rpkm" into integration
* changes: docs(rmmd): document the EL3-RMM IDE KM Interface feat(trp): test el3-rmm ide km interface feat(rmmd): el3-rmm ide key management interface
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 ...
|
| #
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 ...
|
| #
63912657 |
| 16-Oct-2024 |
Olivier Deprez <olivier.deprez@arm.com> |
Merge "feat(rmmd): el3 token sign during attestation" into integration
|
| #
6a88ec8b |
| 04-Jun-2024 |
Raghu Krishnamurthy <raghupathyk@nvidia.com> |
feat(rmmd): el3 token sign during attestation
Add required SMCs by RMM to push attestation signing requests to EL3 and get responses. EL3 may then choose to push these requests to a HES as suitable
feat(rmmd): el3 token sign during attestation
Add required SMCs by RMM to push attestation signing requests to EL3 and get responses. EL3 may then choose to push these requests to a HES as suitable for a platform. This patch also supports the new RMM_EL3_FEATURES interface, that RMM can use to query for support for HES based signing. The new interface exposes a feature register with different bits defining different discoverable features. This new interface is available starting the 0.4 version of the RMM-EL3 interface, causing the version to bump up. This patch also adds a platform port for FVP that implements the platform hooks required to enable the new SMCs, but it does not push to a HES and instead copies a zeroed buffer in EL3.
Change-Id: I69c110252835122a9533e71bdcce10b5f2a686b2 Signed-off-by: Raghu Krishnamurthy <raghupathyk@nvidia.com>
show more ...
|
| #
1f6cf1e4 |
| 01-Oct-2024 |
Olivier Deprez <olivier.deprez@arm.com> |
Merge "refactor: digest sizes" into integration
|
| #
e9529e46 |
| 24-Sep-2024 |
Raghu Krishnamurthy <raghupathyk@nvidia.com> |
refactor: digest sizes
The digest size in bytes for sha1/256/384/512 were defined in multiple places. Refactor the macros into a common header file.
Change-Id: I84ef3561486ff70345ae8c871d5d6e156457
refactor: digest sizes
The digest size in bytes for sha1/256/384/512 were defined in multiple places. Refactor the macros into a common header file.
Change-Id: I84ef3561486ff70345ae8c871d5d6e1564574ec2 Signed-off-by: Raghu Krishnamurthy <raghupathyk@nvidia.com>
show more ...
|
| #
051c7ad8 |
| 13-Sep-2024 |
Soby Mathew <soby.mathew@arm.com> |
Merge "refactor(rmmd): plat token requests in pieces" into integration
|
| #
42cf6026 |
| 10-Jul-2024 |
Juan Pablo Conde <juanpablo.conde@arm.com> |
refactor(rmmd): plat token requests in pieces
Until now, the attestation token size was limited by the size of the shared buffer between RMM and TF-A. With this change, RMM can now request the token
refactor(rmmd): plat token requests in pieces
Until now, the attestation token size was limited by the size of the shared buffer between RMM and TF-A. With this change, RMM can now request the token in pieces, so they fit in the shared buffer. A new output parameter was added to the SMC call, which will return (along with the size of bytes copied into the buffer) the number of bytes of the token that remain to be retrieved.
TF-A will keep an offset variable that will indicate the position in the token where the next call will retrieve bytes from. This offset will be increased on every call by adding the number number of bytes copied. If the received hash size is not 0, TF-A will reset the offset to 0 and copy from that position on.
The SMC call will now return at most the size of the shared buffer in bytes on every call. Therefore, from now on, multiple SMC calls may be needed to be issued if the token size exceeds the shared buffer size.
Change-Id: I591f7013d06f64e98afaf9535dbea6f815799723 Signed-off-by: Juan Pablo Conde <juanpablo.conde@arm.com>
show more ...
|
| #
7bf18514 |
| 31-Oct-2023 |
Soby Mathew <soby.mathew@arm.com> |
Merge "feat(rmm): update RMI VERSION command as per EAC5" into integration
|
| #
ade6000f |
| 26-Oct-2023 |
Shruti Gupta <shruti.gupta@arm.com> |
feat(rmm): update RMI VERSION command as per EAC5
This patch adds necessary support for RMI_VERSION command. This patch sets RMI version numbers to 1.0 as per RMM Specification 1.0-eac5.
Change-Id:
feat(rmm): update RMI VERSION command as per EAC5
This patch adds necessary support for RMI_VERSION command. This patch sets RMI version numbers to 1.0 as per RMM Specification 1.0-eac5.
Change-Id: If7f88d5b5efa58716752488108fa110fc71ae836 Signed-off-by: Shruti Gupta <shruti.gupta@arm.com>
show more ...
|
| #
b709f12d |
| 24-May-2023 |
Soby Mathew <soby.mathew@arm.com> |
Merge "feat(rme): save PAuth context when RME is enabled" into integration
|
| #
13cc1aa7 |
| 15-May-2023 |
Shruti Gupta <shruti.gupta@arm.com> |
feat(rme): save PAuth context when RME is enabled
This patch enables CTX_INCLUDE_PAUTH_REGS for RME builds. The RMM-EL3 specification is also updated to reflect the changes and also version of the s
feat(rme): save PAuth context when RME is enabled
This patch enables CTX_INCLUDE_PAUTH_REGS for RME builds. The RMM-EL3 specification is also updated to reflect the changes and also version of the same is bumped from 0.1 to 0.2.
Signed-off-by: Shruti Gupta <shruti.gupta@arm.com> Change-Id: I2e96a592d2b75abaee24294240c1727c5ceba420
show more ...
|
| #
3f9d5c24 |
| 22-Jul-2022 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "fix(doc): document missing RMM-EL3 runtime services" into integration
|
| #
e50fedbc |
| 04-Jul-2022 |
Javier Almansa Sobrino <javier.almansasobrino@arm.com> |
fix(doc): document missing RMM-EL3 runtime services
This patch adds documentation for the missing RMM-EL3 runtime services:
* RMM_RMI_REQ_COMPLETE * RMM_GTSI_DELEGATE * RMM_GTSI_UNDELEGATE
This pa
fix(doc): document missing RMM-EL3 runtime services
This patch adds documentation for the missing RMM-EL3 runtime services:
* RMM_RMI_REQ_COMPLETE * RMM_GTSI_DELEGATE * RMM_GTSI_UNDELEGATE
This patch also fixes a couple of minor bugs on return codes for delegate/undelegate internal APIs.
Signed-off-by: Javier Almansa Sobrino <javier.almansasobrino@arm.com> Change-Id: Ic721005e7851e838eebaee7865ba78fadc3309e4
show more ...
|
| #
717daadc |
| 05-Jul-2022 |
Soby Mathew <soby.mathew@arm.com> |
Merge changes from topic "jas/rmm-el3-ifc" into integration
* changes: docs(rmmd): document EL3-RMM Interfaces feat(rmmd): add support to create a boot manifest fix(rme): use RMM shared buffer
Merge changes from topic "jas/rmm-el3-ifc" into integration
* changes: docs(rmmd): document EL3-RMM Interfaces feat(rmmd): add support to create a boot manifest fix(rme): use RMM shared buffer for attest SMCs feat(rmmd): add support for RMM Boot interface
show more ...
|