]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
KVM: s390x: implement KVM_CAP_SET_GUEST_DEBUG2
authorMaxim Levitsky <mlevitsk@redhat.com>
Thu, 1 Apr 2021 13:54:47 +0000 (16:54 +0300)
committerPaolo Bonzini <pbonzini@redhat.com>
Sat, 17 Apr 2021 12:31:03 +0000 (08:31 -0400)
Define KVM_GUESTDBG_VALID_MASK and use it to implement this capabiity.
Compile tested only.

Signed-off-by: Maxim Levitsky <mlevitsk@redhat.com>
Message-Id: <20210401135451.1004564-6-mlevitsk@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/s390/include/asm/kvm_host.h
arch/s390/kvm/kvm-s390.c

index 0af3e032a49d338cd6b50213ef102e88df48c307..8925f3969478f7ad2a7977e585438c3a95bb5217 100644 (file)
@@ -701,6 +701,10 @@ struct kvm_hw_bp_info_arch {
 #define guestdbg_exit_pending(vcpu) (guestdbg_enabled(vcpu) && \
                (vcpu->guest_debug & KVM_GUESTDBG_EXIT_PENDING))
 
+#define KVM_GUESTDBG_VALID_MASK \
+               (KVM_GUESTDBG_ENABLE | KVM_GUESTDBG_SINGLESTEP |\
+               KVM_GUESTDBG_USE_HW_BP | KVM_GUESTDBG_EXIT_PENDING)
+
 struct kvm_guestdbg_info_arch {
        unsigned long cr0;
        unsigned long cr9;
index 95ef9193f12e71873e600e7953fec5afdbbdc3e8..1296fc10f80c83bd46c3ebccbda860f45ec4e74f 100644 (file)
@@ -550,6 +550,9 @@ int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext)
        case KVM_CAP_S390_DIAG318:
                r = 1;
                break;
+       case KVM_CAP_SET_GUEST_DEBUG2:
+               r = KVM_GUESTDBG_VALID_MASK;
+               break;
        case KVM_CAP_S390_HPAGE_1M:
                r = 0;
                if (hpage && !kvm_is_ucontrol(kvm))