This new version of the patches improves the AMD bugfix where KVM_EXIT_DEBUG clobbers the guest DR6 and includes stale causes. The improved fix makes it possible to drop kvm_set_dr6 and kvm_update_dr6 altogether. v1->v2: - merge v1 patch 6 with get_dr6 part of v1 patch 7, cover nested SVM - new patch "KVM: nSVM: trap #DB and #BP to userspace if guest debugging is on" - rewritten patch 8 to get rid of set_dr6 completely Paolo Bonzini (5): KVM: x86: fix DR6 delivery for various cases of #DB injection KVM: nSVM: trap #DB and #BP to userspace if guest debugging is on KVM: SVM: keep DR6 synchronized with vcpu->arch.dr6 KVM: x86, SVM: isolate vcpu->arch.dr6 from vmcb->save.dr6 KVM: VMX: pass correct DR6 for GD userspace exit Peter Xu (4): KVM: X86: Declare KVM_CAP_SET_GUEST_DEBUG properly KVM: X86: Set RTM for DB_VECTOR too for KVM_EXIT_DEBUG KVM: X86: Fix single-step with KVM_SET_GUEST_DEBUG KVM: selftests: Add KVM_SET_GUEST_DEBUG test arch/powerpc/kvm/powerpc.c | 1 + arch/s390/kvm/kvm-s390.c | 1 + arch/x86/include/asm/kvm_host.h | 3 +- arch/x86/kvm/svm/nested.c | 39 +++- arch/x86/kvm/svm/svm.c | 36 ++-- arch/x86/kvm/vmx/vmx.c | 23 +- arch/x86/kvm/x86.c | 27 +-- tools/testing/selftests/kvm/Makefile | 1 + .../testing/selftests/kvm/include/kvm_util.h | 2 + tools/testing/selftests/kvm/lib/kvm_util.c | 9 + .../testing/selftests/kvm/x86_64/debug_regs.c | 202 ++++++++++++++++++ 11 files changed, 281 insertions(+), 63 deletions(-) create mode 100644 tools/testing/selftests/kvm/x86_64/debug_regs.c -- 2.18.2