KVM: x86: Fix guest debug across vcpu INIT reset
authorJan Kiszka <jan.kiszka@siemens.com>
Fri, 21 Sep 2012 03:42:55 +0000 (05:42 +0200)
committerAvi Kivity <avi@redhat.com>
Sun, 23 Sep 2012 13:00:07 +0000 (15:00 +0200)
commitc863901075a42d50678616d8ee4b96ef13080498
tree947ffa1bd109f15b9cb483c8257fb028d0ed7df3
parent7a84428af7ca6a847f058c9ff244a18a2664fd1b
KVM: x86: Fix guest debug across vcpu INIT reset

If we reset a vcpu on INIT, we so far overwrote dr7 as provided by
KVM_SET_GUEST_DEBUG, and we also cleared switch_db_regs unconditionally.

Fix this by saving the dr7 used for guest debugging and calculating the
effective register value as well as switch_db_regs on any potential
change. This will change to focus of the set_guest_debug vendor op to
update_dp_bp_intercept.

Found while trying to stop on start_secondary.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
arch/x86/include/asm/kvm_host.h
arch/x86/kvm/svm.c
arch/x86/kvm/vmx.c
arch/x86/kvm/x86.c