OSDN Git Service

KVM: SVM: Advance instruction pointer in dr_intercept
authorJoerg Roedel <joerg.roedel@amd.com>
Wed, 9 Feb 2011 17:29:39 +0000 (18:29 +0100)
committerAvi Kivity <avi@redhat.com>
Tue, 22 Feb 2011 14:01:44 +0000 (16:01 +0200)
In the dr_intercept function a new cpu-feature called
decode-assists is implemented and used when available. This
code-path does not advance the guest-rip causing the guest
to dead-loop over mov-dr instructions. This is fixed by this
patch.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
arch/x86/kvm/svm.c

index 54ce246..63fec15 100644 (file)
@@ -2777,6 +2777,8 @@ static int dr_interception(struct vcpu_svm *svm)
                        kvm_register_write(&svm->vcpu, reg, val);
        }
 
+       skip_emulated_instruction(&svm->vcpu);
+
        return 1;
 }