| 01c48218 | 02-Mar-2026 |
Shruti Gupta <shruti.gupta@arm.com> |
feat(rmmd): expand RMM SMC return registers
This change expands the number of return registers that RMM can use when returning from SMC calls, increasing from 5 registers (x0-x4) to 8 registers (x0-
feat(rmmd): expand RMM SMC return registers
This change expands the number of return registers that RMM can use when returning from SMC calls, increasing from 5 registers (x0-x4) to 8 registers (x0-x7). The RMM-EL3 Interface version is bumped to 2.0 as this is an incompatible change.
This maintains SMCCC v1.2 compliance where x4-x7 are preserved unless used as return values. The responsibility for preserving these registers when not used lies with RMM.
Changed TRP to handle additional return values x0-x7.
Change-Id: Ifd88a3bd68f53beb230e830f0d6e4365cedfd728 Signed-off-by: Shruti Gupta <shruti.gupta@arm.com>
show more ...
|
| 5ba2ad35 | 21-Oct-2025 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
fix(rmmd): correct activation condition check
Update the activation condition in rmmd_primary_activate to ensure the function behaves correctly when the return code is zero. This change prevents pot
fix(rmmd): correct activation condition check
Update the activation condition in rmmd_primary_activate to ensure the function behaves correctly when the return code is zero. This change prevents potential issues during the activation process.
Change-Id: I94d76c1e491f114b7fb32dd85dbfcfe2f5f1d3da Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| f024c573 | 15-Apr-2025 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
feat(lfa): enable LFA of RMM
Extend the LFA framework to handle the activation of RMM image. This allows RMM to be updated and re-initialized as part of LFA without requiring a system reset.
Signed
feat(lfa): enable LFA of RMM
Extend the LFA framework to handle the activation of RMM image. This allows RMM to be updated and re-initialized as part of LFA without requiring a system reset.
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com> Change-Id: I6ca3e21f6fe07ac3ab0bec1656d295129b62b8f5
show more ...
|
| 3151d9fc | 24-Sep-2025 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
chore(lfa): use standard int return type for prime/activate callbacks
Replace `int32_t` with `int` for `component_prime_fn` and `component_activate_fn` typedefs, along with their implementations in
chore(lfa): use standard int return type for prime/activate callbacks
Replace `int32_t` with `int` for `component_prime_fn` and `component_activate_fn` typedefs, along with their implementations in BL31 and RMM LFA services. This aligns with common convention for function return types and avoids unnecessary use of fixed-width types where a native int is sufficient
Change-Id: Id22e93a554260b22e36b59baeac2cbb1b4646727 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| 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 ...
|