[RFC PATCH 16/55] KVM: x86: allow KVM_SET_GUEST_DEBUG on plane vCPU fds
From: David Woodhouse
Date: Sat Oct 17 2026 - 08:26:20 EST
From: David Woodhouse <dwmw@xxxxxxxxxxxx>
Debugging a non-zero plane needs single-step and breakpoint control on
the plane vCPU. The debug exits surface through the plane-0 KVM_RUN
loop like any other plane exit.
Signed-off-by: David Woodhouse <dwmw@xxxxxxxxxxxx>
Assisted-by: LLM
---
Documentation/virt/kvm/api.rst | 6 +++---
arch/x86/kvm/x86.c | 1 +
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/Documentation/virt/kvm/api.rst b/Documentation/virt/kvm/api.rst
index 570db83844c7..8232356b1bb0 100644
--- a/Documentation/virt/kvm/api.rst
+++ b/Documentation/virt/kvm/api.rst
@@ -1536,7 +1536,7 @@ for vm-wide capabilities.
:Capability: KVM_CAP_MP_STATE
:Architectures: x86, s390, arm64, riscv, loongarch
-:Type: vcpu ioctl
+:Type: vcpu ioctl (all planes)
:Parameters: struct kvm_mp_state (out)
:Returns: 0 on success; -1 on error
@@ -1617,7 +1617,7 @@ whether the vcpu is runnable.
:Capability: KVM_CAP_MP_STATE
:Architectures: x86, s390, arm64, riscv, loongarch
-:Type: vcpu ioctl
+:Type: vcpu ioctl (all planes)
:Parameters: struct kvm_mp_state (in)
:Returns: 0 on success; -1 on error
@@ -3746,7 +3746,7 @@ handled.
:Capability: KVM_CAP_SET_GUEST_DEBUG
:Architectures: x86, s390, ppc, arm64
-:Type: vcpu ioctl
+:Type: vcpu ioctl (all planes)
:Parameters: struct kvm_guest_debug (in)
:Returns: 0 on success; -1 on error
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 0828889db149..eb5d4932641e 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -6287,6 +6287,7 @@ bool kvm_arch_is_vcpu_plane_ioctl(unsigned ioctl)
{
switch (ioctl) {
case KVM_ENABLE_CAP:
+ case KVM_SET_GUEST_DEBUG:
case KVM_GET_DEBUGREGS:
case KVM_SET_DEBUGREGS:
case KVM_GET_LAPIC:
--
2.50.1