diff options
-rw-r--r-- | arch/x86/include/asm/kvm_host.h | 1 | ||||
-rw-r--r-- | arch/x86/kvm/svm.c | 6 | ||||
-rw-r--r-- | arch/x86/kvm/vmx.c | 6 | ||||
-rw-r--r-- | arch/x86/kvm/x86.c | 2 |
4 files changed, 0 insertions, 15 deletions
diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h index 5edae351b5dc..ea3741edbec3 100644 --- a/arch/x86/include/asm/kvm_host.h +++ b/arch/x86/include/asm/kvm_host.h | |||
@@ -516,7 +516,6 @@ struct kvm_x86_ops { | |||
516 | void (*set_irq)(struct kvm_vcpu *vcpu, int vec); | 516 | void (*set_irq)(struct kvm_vcpu *vcpu, int vec); |
517 | void (*queue_exception)(struct kvm_vcpu *vcpu, unsigned nr, | 517 | void (*queue_exception)(struct kvm_vcpu *vcpu, unsigned nr, |
518 | bool has_error_code, u32 error_code); | 518 | bool has_error_code, u32 error_code); |
519 | bool (*exception_injected)(struct kvm_vcpu *vcpu); | ||
520 | void (*inject_pending_irq)(struct kvm_vcpu *vcpu, struct kvm_run *run); | 519 | void (*inject_pending_irq)(struct kvm_vcpu *vcpu, struct kvm_run *run); |
521 | void (*inject_pending_vectors)(struct kvm_vcpu *vcpu, | 520 | void (*inject_pending_vectors)(struct kvm_vcpu *vcpu, |
522 | struct kvm_run *run); | 521 | struct kvm_run *run); |
diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c index a80ffaa16a94..8fa5a0ead680 100644 --- a/arch/x86/kvm/svm.c +++ b/arch/x86/kvm/svm.c | |||
@@ -196,11 +196,6 @@ static void svm_queue_exception(struct kvm_vcpu *vcpu, unsigned nr, | |||
196 | svm->vmcb->control.event_inj_err = error_code; | 196 | svm->vmcb->control.event_inj_err = error_code; |
197 | } | 197 | } |
198 | 198 | ||
199 | static bool svm_exception_injected(struct kvm_vcpu *vcpu) | ||
200 | { | ||
201 | return false; | ||
202 | } | ||
203 | |||
204 | static int is_external_interrupt(u32 info) | 199 | static int is_external_interrupt(u32 info) |
205 | { | 200 | { |
206 | info &= SVM_EVTINJ_TYPE_MASK | SVM_EVTINJ_VALID; | 201 | info &= SVM_EVTINJ_TYPE_MASK | SVM_EVTINJ_VALID; |
@@ -2659,7 +2654,6 @@ static struct kvm_x86_ops svm_x86_ops = { | |||
2659 | .get_irq = svm_get_irq, | 2654 | .get_irq = svm_get_irq, |
2660 | .set_irq = svm_set_irq, | 2655 | .set_irq = svm_set_irq, |
2661 | .queue_exception = svm_queue_exception, | 2656 | .queue_exception = svm_queue_exception, |
2662 | .exception_injected = svm_exception_injected, | ||
2663 | .inject_pending_irq = svm_intr_assist, | 2657 | .inject_pending_irq = svm_intr_assist, |
2664 | .inject_pending_vectors = svm_intr_assist, | 2658 | .inject_pending_vectors = svm_intr_assist, |
2665 | .interrupt_allowed = svm_interrupt_allowed, | 2659 | .interrupt_allowed = svm_interrupt_allowed, |
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c index 9eb518fb907b..3186fcfcffb5 100644 --- a/arch/x86/kvm/vmx.c +++ b/arch/x86/kvm/vmx.c | |||
@@ -789,11 +789,6 @@ static void vmx_queue_exception(struct kvm_vcpu *vcpu, unsigned nr, | |||
789 | vmcs_write32(VM_ENTRY_INTR_INFO_FIELD, intr_info); | 789 | vmcs_write32(VM_ENTRY_INTR_INFO_FIELD, intr_info); |
790 | } | 790 | } |
791 | 791 | ||
792 | static bool vmx_exception_injected(struct kvm_vcpu *vcpu) | ||
793 | { | ||
794 | return false; | ||
795 | } | ||
796 | |||
797 | /* | 792 | /* |
798 | * Swap MSR entry in host/guest MSR entry array. | 793 | * Swap MSR entry in host/guest MSR entry array. |
799 | */ | 794 | */ |
@@ -3697,7 +3692,6 @@ static struct kvm_x86_ops vmx_x86_ops = { | |||
3697 | .get_irq = vmx_get_irq, | 3692 | .get_irq = vmx_get_irq, |
3698 | .set_irq = vmx_inject_irq, | 3693 | .set_irq = vmx_inject_irq, |
3699 | .queue_exception = vmx_queue_exception, | 3694 | .queue_exception = vmx_queue_exception, |
3700 | .exception_injected = vmx_exception_injected, | ||
3701 | .inject_pending_irq = vmx_intr_assist, | 3695 | .inject_pending_irq = vmx_intr_assist, |
3702 | .inject_pending_vectors = vmx_intr_assist, | 3696 | .inject_pending_vectors = vmx_intr_assist, |
3703 | .interrupt_allowed = vmx_interrupt_allowed, | 3697 | .interrupt_allowed = vmx_interrupt_allowed, |
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index ae6250b19726..b81970b053b9 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c | |||
@@ -3237,8 +3237,6 @@ static int vcpu_enter_guest(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run) | |||
3237 | profile_hit(KVM_PROFILING, (void *)rip); | 3237 | profile_hit(KVM_PROFILING, (void *)rip); |
3238 | } | 3238 | } |
3239 | 3239 | ||
3240 | if (vcpu->arch.exception.pending && kvm_x86_ops->exception_injected(vcpu)) | ||
3241 | vcpu->arch.exception.pending = false; | ||
3242 | 3240 | ||
3243 | kvm_lapic_sync_from_vapic(vcpu); | 3241 | kvm_lapic_sync_from_vapic(vcpu); |
3244 | 3242 | ||