From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by smtp.subspace.kernel.org (Postfix) with ESMTP id EC75D446BEF; Fri, 25 Sep 2026 12:17:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.140.110.172 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790338660; cv=none; b=nRHL+M+FqNKbNtM6gTIX37yDkc9SQ2EPpiBHjohwXlJiArAMLPVi/rKLW2cKlZP+Z66xQXcN55Rb3ox+YBJPwlJMfi9IoCvBFB9DJ1Hc/nPQ0HdiP5ZInTg5hpdCTj0rOCvrD6pdM/PUywl5Ki4lnkXi2vOt8ba2BlWSly41Mlc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790338660; c=relaxed/simple; bh=gVBLm+VP8ROLJ0gR1xOSUhXwVrsMbmupCmmXzTJRqks=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=DWvX8Mh38f8qWEMmQ0oJOUTu/CNJsYcwx4B9UKWr0nKOrnSd8aMw0Qk6Mfj3QalO1FdlbdIj3XrLiSJsNJ+eYuyU0hKIH059mwL2pKVBysYXX1TeEDrL4H2AM7n6pPzMKqiNrwmOFRabzn/4fQMAPcDy/had786/NKCx2rrbDew= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com; spf=pass smtp.mailfrom=arm.com; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b=lQA5EJRE; arc=none smtp.client-ip=217.140.110.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b="lQA5EJRE" Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id D206E169C; Fri, 25 Sep 2026 05:17:34 -0700 (PDT) Received: from arm.com (usa-sjc-mx-foss1.foss.arm.com [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 03D733F86C; Fri, 25 Sep 2026 05:17:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=arm.com; s=foss; t=1790338658; bh=gVBLm+VP8ROLJ0gR1xOSUhXwVrsMbmupCmmXzTJRqks=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=lQA5EJREBfekr73a3Y7Tyo36mm8gHlHbPrgP6zTS1tdofwAOLh6QSATc2nWz04hBw Fl6KFtOge5c3tL+1563ecWu9eTlRTpev11oUFN/x47kKgQHfxdfCbzuX3edtQtvKql WepaXKC5dHpWOTCvmdbp5E8fbPV/jfpDLzuqTq0A= Date: Fri, 25 Sep 2026 13:17:32 +0100 From: Catalin Marinas To: Suzuki K Poulose Cc: kvm@vger.kernel.org, kvmarm@lists.linux.dev, maz@kernel.org, will@kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, steven.price@arm.com, aneesh.kumar@kernel.org, oupton@kernel.org, gshan@redhat.com, joey.gouly@arm.com, tabba@google.com, yuzenghui@huawei.com, linux-coco@lists.linux.dev, gankulkarni@os.amperecomputing.com, sdonthineni@nvidia.com, alpergun@google.com, fj0570is@fujitsu.com, WeiLin.Chang@arm.com, lpieralisi@kernel.org, enju.kohei@fujitsu.com, sudeep.holla@arm.com, jonathan.cameron@oss.qualcomm.com Subject: Re: [PATCH v19 5/7] firmware: arm_rmm: Activate the RMM Message-ID: References: <20260924135201.850038-1-suzuki.poulose@arm.com> <20260924135201.850038-6-suzuki.poulose@arm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20260924135201.850038-6-suzuki.poulose@arm.com> On Thu, Sep 24, 2026 at 02:51:59PM +0100, Suzuki K Poulose wrote: > From: Steven Price > > Activate the RMM after the basic configuration. This is a memory > transferring stateful operation. > > Reviewed-by: Gavin Shan > Reviewed-by: Jonathan Cameron > Signed-off-by: Steven Price > Signed-off-by: Suzuki K Poulose > --- > 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