[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen stable-4.3] Nested VMX: Check whether interrupt is blocked by TPR
commit 3e22a868bafcdea79c61741a08703ab2b0e7315b Author: Yang Zhang <yang.z.zhang@xxxxxxxxx> AuthorDate: Tue Aug 27 15:26:56 2013 +0200 Commit: Jan Beulich <jbeulich@xxxxxxxx> CommitDate: Tue Aug 27 15:26:56 2013 +0200 Nested VMX: Check whether interrupt is blocked by TPR If interrupt is blocked by L1's TPR, L2 should not see it and keep running. Adding the check before L2 to retrive interrupt. Signed-off-by: Yang Zhang <yang.z.zhang@xxxxxxxxx> Acked-by: "Dong, Eddie" <eddie.dong@xxxxxxxxx> master commit: 7fb5c6b9ef22915e3fcac95cd44857f4457ba783 master date: 2013-08-22 10:49:24 +0200 --- xen/arch/x86/hvm/vmx/intr.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/xen/arch/x86/hvm/vmx/intr.c b/xen/arch/x86/hvm/vmx/intr.c index e376f3c..cab9109 100644 --- a/xen/arch/x86/hvm/vmx/intr.c +++ b/xen/arch/x86/hvm/vmx/intr.c @@ -165,6 +165,11 @@ static int nvmx_intr_intercept(struct vcpu *v, struct hvm_intack intack) { u32 ctrl; + /* If blocked by L1's tpr, then nothing to do. */ + if ( nestedhvm_vcpu_in_guestmode(v) && + hvm_interrupt_blocked(v, intack) == hvm_intblk_tpr ) + return 1; + if ( nvmx_intr_blocked(v) != hvm_intblk_none ) { enable_intr_window(v, intack); -- generated by git-patchbot for /home/xen/git/xen.git#stable-4.3 _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |