public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] SVM: do not generate "external interrupt exit" if other exit is pending
@ 2010-09-19 16:41 Gleb Natapov
  2010-09-19 17:29 ` Joerg Roedel
  0 siblings, 1 reply; 5+ messages in thread
From: Gleb Natapov @ 2010-09-19 16:41 UTC (permalink / raw)
  To: kvm, avi, mtosatti; +Cc: joerg.roedel, agraf

Nested SVM checks for external interrupt after injecting nested exception.
In case there is external interrupt pending the code generates "external
interrupt exit" and overwrites previous exit info. If previously injected
exception already generated exit it will be lost.

Signed-off-by: Gleb Natapov <gleb@redhat.com>
diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
index 43f5558..1a1f86b 100644
--- a/arch/x86/kvm/svm.c
+++ b/arch/x86/kvm/svm.c
@@ -1707,6 +1707,9 @@ static inline bool nested_svm_intr(struct vcpu_svm *svm)
 	if (!(svm->vcpu.arch.hflags & HF_HIF_MASK))
 		return false;
 
+	if (svm->nested.exit_required)
+		return false;
+
 	svm->vmcb->control.exit_code   = SVM_EXIT_INTR;
 	svm->vmcb->control.exit_info_1 = 0;
 	svm->vmcb->control.exit_info_2 = 0;
--
			Gleb.

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2010-09-20  7:40 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-09-19 16:41 [PATCH] SVM: do not generate "external interrupt exit" if other exit is pending Gleb Natapov
2010-09-19 17:29 ` Joerg Roedel
2010-09-19 17:50   ` Gleb Natapov
2010-09-19 18:19     ` Joerg Roedel
2010-09-20  7:40       ` Gleb Natapov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox