mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Steven Price <steven.price@arm.com>
To: kvm@vger.kernel.org, kvmarm@lists.linux.dev
Cc: Catalin Marinas <catalin.marinas@arm.com>,
	Marc Zyngier <maz@kernel.org>, Will Deacon <will@kernel.org>,
	Oliver Upton <oliver.upton@linux.dev>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	Zenghui Yu <yuzenghui@huawei.com>,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, Joey Gouly <joey.gouly@arm.com>,
	Fuad Tabba <tabba@google.com>,
	linux-coco@lists.linux.dev,
	Ganapatrao Kulkarni <gankulkarni@os.amperecomputing.com>,
	Gavin Shan <gshan@redhat.com>,
	Shanker Donthineni <sdonthineni@nvidia.com>,
	Alper Gun <alpergun@google.com>,
	"Aneesh Kumar K . V" <aneesh.kumar@kernel.org>,
	Emi Kisanuki <fj0570is@fujitsu.com>,
	Vishal Annapurve <vannapurve@google.com>,
	Steven Price <steven.price@arm.com>
Subject: [RFC PATCH 0/5] Arm CCA planes support
Date: Fri, 26 Sep 2025 12:02:49 +0100	[thread overview]
Message-ID: <20250926110254.55449-1-steven.price@arm.com> (raw)

The Arm CCA (Confidential Compute Architecture) RMM version 1.1
specification[1] adds support for a concept of "planes". This allows a
realm to be divided into multiple execution environments with memory
separation between them (while still sharing the same IPA to PA
translations). There's an overview on the Arm website[2].

The TF-RMM project[3] recently merged support for planes to their "main"
branch and this an early preview of the corresponding Linux changes to
support the feature. Note you need to enable the (experimental) RMM_V1_1
configuration option to enable this feature.

This series is based on the v10 posting of the CCA host support
series[4] and is also available as a git tree:

  https://gitlab.arm.com/linux-arm/linux-cca.git/ cca/planes/rfc-v1

A hacked up version of kvmtool to launch a realm guest with an extra
plan is available here:

  https://gitlab.arm.com/linux-arm/kvmtool-cca.git/ cca/planes/rfc-v1

Note:
   The kvmtool support is a hack - it simply (unconditionally) enables a
   single extra plane (for a total of two planes: P0 and P1). This
   should obviously be a configuration option and should support other
   numbers of planes. But it gives an easy way of testing the support
   for auxiliary RTTs while running a single guest image (i.e. leaving
   P1 empty).

This series was written against the RMM v1.1 alp14 specification. Those
who are following things closely will know we're up to alp16, however
there are no major changes affecting planes between these two versions.
The spec is still alpha, so there may well be changes in the future.

[1] https://developer.arm.com/-/cdn-downloads/permalink/Architectures/Armv9/DEN0137_1.1-alp14.zip
[2] https://developer.arm.com/documentation/den0125/400/Arm-CCA-Extensions#md239-arm-cca-extensions__realm-planes
[3] https://www.trustedfirmware.org/projects/tf-rmm/
[4] https://lore.kernel.org/r/20250820145606.180644-1-steven.price%40arm.com

Steven Price (5):
  arm64: RME: Add SMC definitions introduced in RMM v1.1
  arm64: RME: Handle auxiliary RTT trees
  arm64: RME: Support RMI_EXIT_S2AP_CHANGE
  arm64: rme: Allocate AUX RTT PGDs and VMIDs
  arm64: RME: Support num_aux_places & rtt_tree_pp realm parameters

 arch/arm64/include/asm/kvm_rme.h  |   13 +-
 arch/arm64/include/asm/rmi_cmds.h | 1104 +++++++++++++++++++++++++++--
 arch/arm64/include/asm/rmi_smc.h  |  121 +++-
 arch/arm64/include/uapi/asm/kvm.h |   12 +
 arch/arm64/kvm/mmu.c              |   15 +-
 arch/arm64/kvm/rme-exit.c         |   33 +-
 arch/arm64/kvm/rme.c              |  441 +++++++++++-
 7 files changed, 1618 insertions(+), 121 deletions(-)

-- 
2.43.0


             reply	other threads:[~2025-09-26 11:03 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-26 11:02 Steven Price [this message]
2025-09-26 11:02 ` [RFC PATCH 1/5] arm64: RME: Add SMC definitions introduced in RMM v1.1 Steven Price
2025-09-26 11:02 ` [RFC PATCH 2/5] arm64: RME: Handle auxiliary RTT trees Steven Price
2025-09-26 11:02 ` [RFC PATCH 3/5] arm64: RME: Support RMI_EXIT_S2AP_CHANGE Steven Price
2025-09-26 11:02 ` [RFC PATCH 4/5] arm64: rme: Allocate AUX RTT PGDs and VMIDs Steven Price
2025-09-26 11:02 ` [RFC PATCH 5/5] arm64: RME: Support num_aux_places & rtt_tree_pp realm parameters Steven Price

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250926110254.55449-1-steven.price@arm.com \
    --to=steven.price@arm.com \
    --cc=alpergun@google.com \
    --cc=aneesh.kumar@kernel.org \
    --cc=catalin.marinas@arm.com \
    --cc=fj0570is@fujitsu.com \
    --cc=gankulkarni@os.amperecomputing.com \
    --cc=gshan@redhat.com \
    --cc=joey.gouly@arm.com \
    --cc=kvm@vger.kernel.org \
    --cc=kvmarm@lists.linux.dev \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-coco@lists.linux.dev \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maz@kernel.org \
    --cc=oliver.upton@linux.dev \
    --cc=sdonthineni@nvidia.com \
    --cc=suzuki.poulose@arm.com \
    --cc=tabba@google.com \
    --cc=vannapurve@google.com \
    --cc=will@kernel.org \
    --cc=yuzenghui@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®