Arm CCA protected VMs advance in KVM review
Steven Price's 37-patch series brings realm guests to arm64 KVM, targeting RMM v2.0-bet2 under maintainer scrutiny.
KVM is moving closer to hosting Arm Confidential Compute Architecture (CCA) protected VMs, known as realms. Steven Price of Arm has posted the fifteenth revision of a large series that teaches arm64 KVM to create, populate, run, and tear down realm guests against the Realm Management Monitor (RMM) firmware, currently aimed at RMM v2.0-bet2.
CCA keeps guest memory and register state out of reach of the normal-world host. The hypervisor talks to the RMM over a defined interface rather than inspecting or emulating the guest directly. That forces changes across the usual KVM paths: realm enter and exit go through SMC calls to the RMM; MMIO emulation shuttles values via a shared exit structure because VCPU registers are protected; timers are tracked by the RMM while the realm runs and handed back to KVM on exit; and guests can request that address ranges flip between protected RAM and empty, which exits to the VMM so guest_memfd and memslot mappings can be adjusted before the change is committed on the next entry.
The work sits on a smaller base series that factors generic RMM firmware support out for reuse. Population of initial measured images (kernel, initrd, and similar) is exposed so attestation can later prove what was loaded. Realm activation is tied to the first VCPU run.
Arm64 KVM maintainer Marc Zyngier has been pressing for tighter integration with existing KVM machinery instead of parallel enter/exit and stage-2 helpers, questioning duplicated paths and extra arguments in core unmap code. Price has been folding feedback in across revisions and noted a further posting before a planned absence. The series remains under active review; it is not yet merged.