Re: [PATCH v2 00/12] KVM: arm64: CCA: Prepare Realm memory management

From: Kohei Enju

Date: Thu Nov 12 2026 - 04:25:27 EST


Hi Steve,

On 11/11 14:57, Steven Price wrote:
> This series adds the memory management plumbing for CCA, building on the
> basic RMM support [1]. Thank you to those who reviewed v1 - I'm
> attempted to address all the comments.
>
> The patches introduce internal Realm VM state and RMI feature checks,
> prepare Realm stage-2 setup and teardown, and provide RTT mapping and
> invalidation helpers. Realm memslots are restricted to the lower half
> of the IPA space because the protected and shared halves alias each
> other. The final patch connects the helpers to KVM's stage-2 MMU
> operations.
>
> This is the memory management portion of the larger Realm host series.
> Realm descriptor creation, REC entry and exit, activation, and the new
> uAPI follow in the integration stack. This series alone does not enable
> Realm creation.
>
> As before there's an integration branch[2] that includes the realm
> creation, REC entry/exit etc building on top of this series. I've also
> pushed a git branch[3] of just this series.
>
> Changes since v1:
> - Add a guest_memfd prerequisite patch that checks whether the backing
> file supports mmap when preparing an arm64 memslot.
> - Combine the RMI availability and feature checks into one patch, and
> move Realm vCPU feature restrictions to the integration stack.
> - Correct Realm IPA sizing and RTT teardown, including teardown before
> activation, RTT accounting, and handling of missing or folded RTTs.
> - Rework RTT mapping to respect IPA and physical alignment, handle
> partial RMI progress, and retry interrupted operations.
> - Preserve private mappings when a Realm guest_memfd memslot deletion is
> rejected, and tighten Realm fault handling and stage-2 destruction.
>
> [1] https://lore.kernel.org/all/20261007073537.2454351-1-suzuki.poulose@xxxxxxx/
> [2] https://gitlab.arm.com/linux-arm/linux-cca
> branch: cca-host-mm/v2/integration
> [3] https://gitlab.arm.com/linux-arm/linux-cca
> branch: cca-host-mm/v2/mm
>
> Steven Price (7):
> KVM: arm64: CCA: Reserve the RMM mode
> KVM: arm64: guest_memfd: Check mmap support when preparing memslot
> KVM: arm64: CCA: Check RMI support and features at init
> KVM: arm64: CCA: Add basic infrastructure for creating a realm
> KVM: arm64: CCA: Tear down RTTs
> KVM: arm64: CCA: Add Realm RTT mapping and invalidation helpers
> KVM: arm64: CCA: Support runtime faulting of memory
>
> Suzuki K Poulose (5):
> KVM: arm64: CCA: Introduce Realms
> KVM: arm64: Handle attributes in stage2_unmap_range
> KVM: Allow architectures to reject memslot changes before invalidation
> KVM: arm64: CCA: Prevent memslot modifications after Realm creation
> KVM: arm64: CCA: Add Realm stage-2 MMU operations

I've tested the integration branch [2] including this series on our
hardware using the QEMU-VMM proposed in:
https://lore.kernel.org/qemu-devel/20261002202026.1204110-1-mathieu.poirier@xxxxxxxxxx/

The Realm guest VM (32 vCPUs, 16 GiB RAM) booted successfully. To
exercise the guest with a more realistic workload, I also performed a
full Linux kernel build, which completed successfully.

A Tested-by tag might not be carried over to the next revision, if any,
but anyway, for this series:

Tested-by: Kohei Enju <enju.kohei@xxxxxxxxxxx>

Thanks,
Kohei