On 05/05/20 17:47, Peter Xu wrote: > KVM_CAP_SET_GUEST_DEBUG should be supported for x86 however it's not declared > as supported. My wild guess is that userspaces like QEMU are using "#ifdef > KVM_CAP_SET_GUEST_DEBUG" to check for the capability instead, but that could be > wrong because the compilation host may not be the runtime host. > > The userspace might still want to keep the old "#ifdef" though to not break the > guest debug on old kernels. > > Signed-off-by: Peter Xu <peterx@xxxxxxxxxx> > --- > > I also think both ppc and s390 may need similar thing, but I didn't touch them > yet because of not confident enough to cover all cases. Indeed, I'll squash this: diff --git a/arch/powerpc/kvm/powerpc.c b/arch/powerpc/kvm/powerpc.c index e15166b0a16d..ad2f172c26a6 100644 --- a/arch/powerpc/kvm/powerpc.c +++ b/arch/powerpc/kvm/powerpc.c @@ -521,6 +521,7 @@ int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext) case KVM_CAP_IOEVENTFD: case KVM_CAP_DEVICE_CTRL: case KVM_CAP_IMMEDIATE_EXIT: + case KVM_CAP_SET_GUEST_DEBUG: r = 1; break; case KVM_CAP_PPC_GUEST_DEBUG_SSTEP: diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c index 5dcf9ff12828..d05bb040fd42 100644 --- a/arch/s390/kvm/kvm-s390.c +++ b/arch/s390/kvm/kvm-s390.c @@ -545,6 +545,7 @@ int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext) case KVM_CAP_S390_AIS: case KVM_CAP_S390_AIS_MIGRATION: case KVM_CAP_S390_VCPU_RESETS: + case KVM_CAP_SET_GUEST_DEBUG: r = 1; break; case KVM_CAP_S390_HPAGE_1M: