* [PATCHv2] SVM: do not generate "external interrupt exit" if other exit is pending
@ 2010-09-20 8:15 Gleb Natapov
2010-09-20 8:51 ` Roedel, Joerg
2010-09-20 19:06 ` Marcelo Tosatti
0 siblings, 2 replies; 3+ messages in thread
From: Gleb Natapov @ 2010-09-20 8:15 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>
---
v1->v2
- Added comment
diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
index 43f5558..ca778d5 100644
--- a/arch/x86/kvm/svm.c
+++ b/arch/x86/kvm/svm.c
@@ -1707,6 +1707,14 @@ static inline bool nested_svm_intr(struct vcpu_svm *svm)
if (!(svm->vcpu.arch.hflags & HF_HIF_MASK))
return false;
+ /*
+ * if vmexit was already requested (by intercepted exception
+ * for instance) do not overwrite it with "external interrupt"
+ * vmexit.
+ */
+ 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] 3+ messages in thread
* Re: [PATCHv2] SVM: do not generate "external interrupt exit" if other exit is pending
2010-09-20 8:15 [PATCHv2] SVM: do not generate "external interrupt exit" if other exit is pending Gleb Natapov
@ 2010-09-20 8:51 ` Roedel, Joerg
2010-09-20 19:06 ` Marcelo Tosatti
1 sibling, 0 replies; 3+ messages in thread
From: Roedel, Joerg @ 2010-09-20 8:51 UTC (permalink / raw)
To: Gleb Natapov
Cc: kvm@vger.kernel.org, avi@redhat.com, mtosatti@redhat.com,
agraf@suse.de
On Mon, Sep 20, 2010 at 04:15:32AM -0400, Gleb Natapov wrote:
> 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>
Acked-by: Joerg Roedel <joerg.roedel@amd.com>
> ---
> v1->v2
> - Added comment
>
> diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
> index 43f5558..ca778d5 100644
> --- a/arch/x86/kvm/svm.c
> +++ b/arch/x86/kvm/svm.c
> @@ -1707,6 +1707,14 @@ static inline bool nested_svm_intr(struct vcpu_svm *svm)
> if (!(svm->vcpu.arch.hflags & HF_HIF_MASK))
> return false;
>
> + /*
> + * if vmexit was already requested (by intercepted exception
> + * for instance) do not overwrite it with "external interrupt"
> + * vmexit.
> + */
> + 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.
>
--
AMD Operating System Research Center
Advanced Micro Devices GmbH Einsteinring 24 85609 Dornach
General Managers: Alberto Bozzo, Andrew Bowd
Registration: Dornach, Landkr. Muenchen; Registerger. Muenchen, HRB Nr. 43632
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCHv2] SVM: do not generate "external interrupt exit" if other exit is pending
2010-09-20 8:15 [PATCHv2] SVM: do not generate "external interrupt exit" if other exit is pending Gleb Natapov
2010-09-20 8:51 ` Roedel, Joerg
@ 2010-09-20 19:06 ` Marcelo Tosatti
1 sibling, 0 replies; 3+ messages in thread
From: Marcelo Tosatti @ 2010-09-20 19:06 UTC (permalink / raw)
To: Gleb Natapov; +Cc: kvm, avi, joerg.roedel, agraf
On Mon, Sep 20, 2010 at 10:15:32AM +0200, Gleb Natapov wrote:
> 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>
> ---
> v1->v2
> - Added comment
Applied, thanks.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2010-09-20 19:11 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-09-20 8:15 [PATCHv2] SVM: do not generate "external interrupt exit" if other exit is pending Gleb Natapov
2010-09-20 8:51 ` Roedel, Joerg
2010-09-20 19:06 ` Marcelo Tosatti
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox