Kernel KVM virtualization development
 help / color / mirror / Atom feed
From: Mathieu Poirier <mathieu.poirier@linaro.org>
To: Kohei Enju <enju.kohei@fujitsu.com>
Cc: berrange@redhat.com, kchamart@redhat.com,
	pierrick.bouvier@oss.qualcomm.com, peter.maydell@linaro.org,
	mst@redhat.com, cohuck@redhat.com, pbonzini@redhat.com,
	eblake@redhat.com, armbru@redhat.com,
	lorenzo.pieralisi@linaro.org, gshan@redhat.com,
	qemu-devel@nongnu.org, qemu-arm@nongnu.org, kvm@vger.kernel.org
Subject: Re: [RFC v2 00/24] Add Realm support to QEMU-VMM
Date: Tue, 25 Aug 2026 15:09:14 -0600	[thread overview]
Message-ID: <ao4Eetq7oAAsipo4@p14s> (raw)
In-Reply-To: <amrYWWyWlhnN2Fll@FCCLS0092175.localdomain>

Hi Kohei - apologies for the delayed reply.

On Thu, Jul 30, 2026 at 02:11:57PM +0900, Kohei Enju wrote:
> On 07/28 13:26, Mathieu Poirier wrote:
> > This patchset provides minimal functionality to start a Realm VM
> > from an Arm RME capable host using the following command line:
> > 
> > qemu-system-aarch64 \
> >  -M confidential-guest-support=rme0 -object rme-guest,id=rme0 \
> >  -cpu host -M virt -enable-kvm -M gic-version=3,its=on -nodefaults ..
> > 
> > It is a refactoring of Jean-Philippe Brucker's initial work dating from a while
> > back.  It is compatible with Steven Price's v14 revision [1] of his work adding
> > CCA support to KVM.
> > 
> > * We are currently working on rebasing the work to v15.
> > 
> > It was tested on the QEMU SBSA machine.  For convenience, a repository is hosted
> > here [2], along with the TF-A [3], RMM [4] and Linux kernel [5] for the SBSA
> > machine (compatible with Steven's v14 patchset).
> > 
> > Instructions to compile and run the entire stack can be found here [6].
> > 
> > Device Assignment is not included.
> > 
> > Thanks,
> > Mathieu
> 
> Hi Mathieu, thank you for your work on upstreaming CCA support. I've
> tested this series in QEMU-TCG(x-rme=on) environments and confirmed
> that the basic functionality works well.
> 
> I have a question about a QMP command for querying CCA capabilities.
> 
> Jean's tree contains the following commit adding such a QMP command. Was
> this functionality intentionally omitted from this series?
> https://git.codelinaro.org/linaro/dcap/qemu/-/commit/41f7852cc8590a38c47299a35a7238da09ff9a12
>

git.codelinaro.org is no longer accessible to me.  Please see if you can point
me to the same patch in this repository:

https://gitlab.com/Linaro/cca-public/qemu/-/commits/cca/2025-09-12?ref_type=heads

 
> We are interested in adding this functionality because we are also
> planning to upstream CCA support for libvirt, which will need a QMP
> interface to query the CCA capabilities exposed by QEMU.
> 
> Since the Linux kernel dropped some configuration parameters such as the
> hash algorithm, I need to rework the implementation of that QMP command
> a bit. If it's okay with you, I'd be happy to send out the reworked
> patch based on this series.
> 
> Thanks,
> Kohei
> 
> > 
> > [1]. https://lore.kernel.org/kvm/20260513131757.116630-1-steven.price@arm.com/T/#m06dd14216aaf76acab65b0a76fb84653141ea64f
> > [2]. https://gitlab.com/Linaro/cca-public/qemu/-/tree/upstream-v2?ref_type=heads
> > [3]. https://gitlab.com/Linaro/cca-public/tf-a/trusted-firmware-a/-/tree/cca/v13?ref_type=heads
> > [4]. https://gitlab.com/Linaro/cca-public/rmm/-/tree/cca/v14?ref_type=heads
> > [5]. https://gitlab.com/Linaro/cca-public/linux/-/tree/upstream-v2?ref_type=heads 
> > [6]. https://gitlab.com/Linaro/cca-public/build-instructions
> > 
> > RFC v1:
> > https://lists.gnu.org/archive/html/qemu-devel/2026-07/msg02307.html
> > 
> > Changes for V2:
> > - Fixed linux headers to include correct bit shift for Realm VM (Gavin).
> > - Removed obsolete rme-guest options (Markus).
> > - Set ConfidentialGuestSupportClass::kvm_init() to kvm_arm_rme_init() (Gavin).
> > - Got rid of kvm_arm_rme_vm_type() (Gavin).
> > - Used kvm_vm_check_extension() instead of kvm_check_extension() to avoid
> >   error message when starting a Realm (Gavin).
> > - Removed obsolete kvm_arm_rme_init_guest_ram() (Gavin).
> > - Collected A-B and R-B.

  parent reply	other threads:[~2026-08-25 21:09 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-28 19:26 [RFC v2 00/24] Add Realm support to QEMU-VMM Mathieu Poirier
2026-07-28 19:26 ` [RFC v2 01/24] linux-headers: Add RME related definitions Mathieu Poirier
2026-07-30  5:41   ` Kohei Enju
2026-07-30  6:08     ` Gavin Shan
2026-07-30  6:13       ` Kohei Enju
2026-07-28 19:26 ` [RFC v2 02/24] target/arm/kvm: Return immediately on error in kvm_arch_init() Mathieu Poirier
2026-07-28 19:26 ` [RFC v2 03/24] target/arm: Add confidential guest support Mathieu Poirier
2026-07-28 19:26 ` [RFC v2 04/24] target/arm/kvm-rme: Add mechanic to initialize realms Mathieu Poirier
2026-07-28 19:26 ` [RFC v2 05/24] target/arm/kvm: Split kvm_arch_get/put_registers Mathieu Poirier
2026-07-28 19:26 ` [RFC v2 06/24] target/arm/kvm-rme: Initialize vCPU Mathieu Poirier
2026-07-28 19:26 ` [RFC v2 07/24] target/arm/kvm: Create scratch Realm VM when requested Mathieu Poirier
2026-07-28 19:26 ` [RFC v2 08/24] target/arm/kvm: Use kvm_vm_check_extension() where necessary Mathieu Poirier
2026-07-28 19:26 ` [RFC v2 09/24] hw/core/loader: Add a ROM loader notifier Mathieu Poirier
2026-07-28 19:26 ` [RFC v2 10/24] target/arm/kvm-rme: Keep track of images loaded in Realm memory Mathieu Poirier
2026-07-28 19:26 ` [RFC v2 11/24] target/arm/kvm-rme: Populate Realm with runtime images Mathieu Poirier
2026-07-28 19:26 ` [RFC v2 12/24] target/arm/cpu: Set number of breakpoints and watchpoints in KVM Mathieu Poirier
2026-07-28 19:26 ` [RFC v2 13/24] target/arm/cpu: Set number of PMU counters " Mathieu Poirier
2026-07-28 19:26 ` [RFC v2 14/24] target/arm/cpu: Don't read Realm registers Mathieu Poirier
2026-07-28 19:26 ` [RFC v2 15/24] hw/arm/virt: Set proper conduit method for Realms Mathieu Poirier
2026-07-28 19:26 ` [RFC v2 16/24] hw/arm/virt: Embed Realm VM type with IPA address space Mathieu Poirier
2026-07-28 19:26 ` [RFC v2 17/24] hw/arm/virt: Reserve one bit of guest physical address for RME Mathieu Poirier
2026-07-28 19:26 ` [RFC v2 18/24] hw/arm/virt: Disable DTB randomness for confidential VMs Mathieu Poirier
2026-08-27 12:55   ` Daniel P. Berrangé
2026-07-28 19:26 ` [RFC v2 19/24] hw/arm/virt: Move virt_flash_create() to machvirt_init() Mathieu Poirier
2026-07-28 19:26 ` [RFC v2 20/24] hw/arm/virt: Use RAM instead of flash for confidential guest firmware Mathieu Poirier
2026-07-28 19:26 ` [RFC v2 21/24] target/arm/kvm-rme: Add DMA remapping for the shared memory region Mathieu Poirier
2026-07-28 19:26 ` [RFC v2 22/24] docs/interop/firmware.json: Add arm-rme firmware feature Mathieu Poirier
2026-07-28 19:26 ` [RFC v2 23/24] hw/arm/boot: Load DTB as is for confidential VMs Mathieu Poirier
2026-07-28 19:26 ` [RFC v2 24/24] hw/arm/boot: Skip bootloader for confidential guests Mathieu Poirier
2026-07-30  5:11 ` [RFC v2 00/24] Add Realm support to QEMU-VMM Kohei Enju
2026-08-09 13:06   ` Mathieu Poirier
2026-08-25 21:09   ` Mathieu Poirier [this message]
2026-08-27 12:38     ` Kohei Enju

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=ao4Eetq7oAAsipo4@p14s \
    --to=mathieu.poirier@linaro.org \
    --cc=armbru@redhat.com \
    --cc=berrange@redhat.com \
    --cc=cohuck@redhat.com \
    --cc=eblake@redhat.com \
    --cc=enju.kohei@fujitsu.com \
    --cc=gshan@redhat.com \
    --cc=kchamart@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=lorenzo.pieralisi@linaro.org \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=pierrick.bouvier@oss.qualcomm.com \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    /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