diff options
Diffstat (limited to 'drivers/kvm/svm.c')
-rw-r--r-- | drivers/kvm/svm.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/kvm/svm.c b/drivers/kvm/svm.c index 794d95416f7b..f268bd51f337 100644 --- a/drivers/kvm/svm.c +++ b/drivers/kvm/svm.c | |||
@@ -960,7 +960,7 @@ static int pf_interception(struct vcpu_svm *svm, struct kvm_run *kvm_run) | |||
960 | return 1; | 960 | return 1; |
961 | } | 961 | } |
962 | er = emulate_instruction(&svm->vcpu, kvm_run, fault_address, | 962 | er = emulate_instruction(&svm->vcpu, kvm_run, fault_address, |
963 | error_code); | 963 | error_code, 0); |
964 | mutex_unlock(&kvm->lock); | 964 | mutex_unlock(&kvm->lock); |
965 | 965 | ||
966 | switch (er) { | 966 | switch (er) { |
@@ -984,7 +984,7 @@ static int ud_interception(struct vcpu_svm *svm, struct kvm_run *kvm_run) | |||
984 | { | 984 | { |
985 | int er; | 985 | int er; |
986 | 986 | ||
987 | er = emulate_instruction(&svm->vcpu, kvm_run, 0, 0); | 987 | er = emulate_instruction(&svm->vcpu, kvm_run, 0, 0, 0); |
988 | if (er != EMULATE_DONE) | 988 | if (er != EMULATE_DONE) |
989 | inject_ud(&svm->vcpu); | 989 | inject_ud(&svm->vcpu); |
990 | 990 | ||
@@ -1027,7 +1027,8 @@ static int io_interception(struct vcpu_svm *svm, struct kvm_run *kvm_run) | |||
1027 | string = (io_info & SVM_IOIO_STR_MASK) != 0; | 1027 | string = (io_info & SVM_IOIO_STR_MASK) != 0; |
1028 | 1028 | ||
1029 | if (string) { | 1029 | if (string) { |
1030 | if (emulate_instruction(&svm->vcpu, kvm_run, 0, 0) == EMULATE_DO_MMIO) | 1030 | if (emulate_instruction(&svm->vcpu, |
1031 | kvm_run, 0, 0, 0) == EMULATE_DO_MMIO) | ||
1031 | return 0; | 1032 | return 0; |
1032 | return 1; | 1033 | return 1; |
1033 | } | 1034 | } |
@@ -1086,7 +1087,7 @@ static int cpuid_interception(struct vcpu_svm *svm, struct kvm_run *kvm_run) | |||
1086 | static int emulate_on_interception(struct vcpu_svm *svm, | 1087 | static int emulate_on_interception(struct vcpu_svm *svm, |
1087 | struct kvm_run *kvm_run) | 1088 | struct kvm_run *kvm_run) |
1088 | { | 1089 | { |
1089 | if (emulate_instruction(&svm->vcpu, NULL, 0, 0) != EMULATE_DONE) | 1090 | if (emulate_instruction(&svm->vcpu, NULL, 0, 0, 0) != EMULATE_DONE) |
1090 | pr_unimpl(&svm->vcpu, "%s: failed\n", __FUNCTION__); | 1091 | pr_unimpl(&svm->vcpu, "%s: failed\n", __FUNCTION__); |
1091 | return 1; | 1092 | return 1; |
1092 | } | 1093 | } |