All of lore.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.