[PATCH v19 5/7] firmware: arm_rmm: Activate the RMM
Catalin Marinas
catalin.marinas at arm.com
Fri Sep 25 05:17:32 PDT 2026
On Thu, Sep 24, 2026 at 02:51:59PM +0100, Suzuki K Poulose wrote:
> From: Steven Price <steven.price at arm.com>
>
> Activate the RMM after the basic configuration. This is a memory
> transferring stateful operation.
>
> Reviewed-by: Gavin Shan <gshan at redhat.com>
> Reviewed-by: Jonathan Cameron <jonathan.cameron at oss.qualcomm.com>
> Signed-off-by: Steven Price <steven.price at arm.com>
> Signed-off-by: Suzuki K Poulose <suzuki.poulose at arm.com>
> ---
> Changes since v17:
> * Inline RMM_ACTIVATE command and remove the definitions from arm-rmi-cmds.h
> * Use scope-based cleanup to free sro object
> Changes since v16:
> * Split into a new patch
> ---
> drivers/firmware/arm_rmm/rmi.c | 13 ++++++++++++-
> 1 file changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/firmware/arm_rmm/rmi.c b/drivers/firmware/arm_rmm/rmi.c
> index 035f21d3f26b6..0859f256e192b 100644
> --- a/drivers/firmware/arm_rmm/rmi.c
> +++ b/drivers/firmware/arm_rmm/rmi.c
> @@ -834,7 +834,18 @@ static int __init arm64_init_rmi(void)
> if (ret)
> return ret;
>
> - return 0;
> + /* Activate the RMM */
> + struct rmi_sro_state *sro __free(kfree) = kmalloc_obj(*sro);
> + if (!sro)
> + return -ENOMEM;
> +
> + ret = rmi_sro_memxfer_cmd(sro, GFP_KERNEL, SMC_RMI_RMM_ACTIVATE);
> + if (ret) {
> + pr_err("RMM activate failed (%d)\n", ret);
> + ret = ret < 0 ? ret : -ENXIO;
> + }
> +
> + return ret;
It was raised earlier this year [1] but I'm not sure it concluded. How
do we handle kexec and kdump? I think RMI_RMM_DEACTIVATE only succeeds
if nothing is delegated, so it would need all realms torn down first. If
that's not feasible, we could at least block (non-crash) kexec like pKVM
does.
Kdump gets even more interesting if it starts accessing delegated pages
and getting GPF.
[1] https://lore.kernel.org/r/CABpDEukEO4Y_fg8fv5Nr1_Pw_qOK=2UmioXk=WyPEzoEprPcGA@mail.gmail.com
--
Catalin
More information about the linux-arm-kernel
mailing list