| 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 ...
|
| 06a6f296 | 15-Apr-2025 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
feat(lfa): implement LFA_GET_INVENTORY SMC
This implementation primarily retrieves activation-related flags for a given fw_seq_id, including whether the firmware is activation capable, whether an up
feat(lfa): implement LFA_GET_INVENTORY SMC
This implementation primarily retrieves activation-related flags for a given fw_seq_id, including whether the firmware is activation capable, whether an update is pending activation, whether it resets the CPU during activation, whether CPU rendezvous is required, and the firmware's UUID. To support this, a platform API is called to determine whether an update is available for the specified fw_seq_id, indicating its pending activation status.
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com> Change-Id: I6e702a8b313386f5668027386845ff2dae9328e7
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 ...
|