diff options
author | Joerg Roedel <joerg.roedel@amd.com> | 2011-02-09 18:29:39 +0100 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2011-02-22 16:01:44 +0200 |
commit | 2c46d2aec054e61a33feac8c3992218eabdcc22a (patch) | |
tree | 3e8fbc0d589b5c2d2cdfe9d96749f1268418c61f /arch/x86 | |
parent | a0dc00b430b7f515904aa6dd62296b577e94c7aa (diff) | |
download | blackbird-op-linux-2c46d2aec054e61a33feac8c3992218eabdcc22a.tar.gz blackbird-op-linux-2c46d2aec054e61a33feac8c3992218eabdcc22a.zip |
KVM: SVM: Advance instruction pointer in dr_intercept
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>
Diffstat (limited to 'arch/x86')
-rw-r--r-- | arch/x86/kvm/svm.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c index 54ce246a383e..63fec1531e89 100644 --- a/arch/x86/kvm/svm.c +++ b/arch/x86/kvm/svm.c @@ -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; } |