[PATCH 02/17] KVM: arm64: Advertise the capabilities that protected VMs support
Fuad Tabba
fuad.tabba at linux.dev
Mon Aug 31 09:34:06 PDT 2026
kvm_pkvm_ext_allowed() denies every capability it does not name, so a
protected VM reports 0 for interfaces it implements: KVM_CHECK_EXTENSION
denies KVM_CAP_ONE_REG while KVM_{GET,SET}_ONE_REG stage the guest's
boot state.
Allow the capabilities that work for a protected guest, the vGIC and
the I/O bus being host-managed, subject to the restrictions the rest of
this series adds.
Signed-off-by: Fuad Tabba <fuad.tabba at linux.dev>
---
arch/arm64/include/asm/kvm_pkvm.h | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/arch/arm64/include/asm/kvm_pkvm.h b/arch/arm64/include/asm/kvm_pkvm.h
index beea00e693a0a..c4c834d55e503 100644
--- a/arch/arm64/include/asm/kvm_pkvm.h
+++ b/arch/arm64/include/asm/kvm_pkvm.h
@@ -42,6 +42,15 @@ static inline bool kvm_pkvm_ext_allowed(struct kvm *kvm, long ext)
case KVM_CAP_ARM_VM_IPA_SIZE:
case KVM_CAP_ARM_PTRAUTH_ADDRESS:
case KVM_CAP_ARM_PTRAUTH_GENERIC:
+ case KVM_CAP_ONE_REG:
+ case KVM_CAP_MP_STATE:
+ case KVM_CAP_VCPU_EVENTS:
+ case KVM_CAP_VCPU_ATTRIBUTES:
+ case KVM_CAP_IMMEDIATE_EXIT:
+ case KVM_CAP_IOEVENTFD:
+ case KVM_CAP_IRQFD_RESAMPLE:
+ case KVM_CAP_ARM_IRQ_LINE_LAYOUT_2:
+ case KVM_CAP_ARM_INJECT_SERROR_ESR:
return true;
case KVM_CAP_ARM_MTE:
return false;
--
2.39.5
More information about the linux-arm-kernel
mailing list