WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [xen-unstable] x86 hvm: hvm_maybe_deassert_evtchn_irq()

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] x86 hvm: hvm_maybe_deassert_evtchn_irq() needs to be called early in
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Sat, 12 Jan 2008 06:30:10 -0800
Delivery-date: Sat, 12 Jan 2008 06:30:11 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1200048824 0
# Node ID e4fd457a3dd5eebf059b49340bb7f3aea1239d8f
# Parent  56b42d68518e662b8a20103486ca87026271245f
x86 hvm: hvm_maybe_deassert_evtchn_irq() needs to be called early in
vmexit handling, before IO-APIC can be EOIed or unmasked and resample
the fake INTx line.
Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx>
---
 xen/arch/x86/hvm/svm/intr.c |    1 -
 xen/arch/x86/hvm/svm/svm.c  |    2 ++
 xen/arch/x86/hvm/vmx/intr.c |    1 -
 xen/arch/x86/hvm/vmx/vmx.c  |    2 ++
 4 files changed, 4 insertions(+), 2 deletions(-)

diff -r 56b42d68518e -r e4fd457a3dd5 xen/arch/x86/hvm/svm/intr.c
--- a/xen/arch/x86/hvm/svm/intr.c       Thu Jan 10 22:53:43 2008 +0000
+++ b/xen/arch/x86/hvm/svm/intr.c       Fri Jan 11 10:53:44 2008 +0000
@@ -102,7 +102,6 @@ asmlinkage void svm_intr_assist(void)
 
     /* Crank the handle on interrupt state. */
     pt_update_irq(v);
-    hvm_maybe_deassert_evtchn_irq();
 
     do {
         intack = hvm_vcpu_has_pending_irq(v);
diff -r 56b42d68518e -r e4fd457a3dd5 xen/arch/x86/hvm/svm/svm.c
--- a/xen/arch/x86/hvm/svm/svm.c        Thu Jan 10 22:53:43 2008 +0000
+++ b/xen/arch/x86/hvm/svm/svm.c        Fri Jan 11 10:53:44 2008 +0000
@@ -2023,6 +2023,8 @@ asmlinkage void svm_vmexit_handler(struc
 
     perfc_incra(svmexits, exit_reason);
 
+    hvm_maybe_deassert_evtchn_irq();
+
     /* Event delivery caused this intercept? Queue for redelivery. */
     eventinj = vmcb->exitintinfo;
     if ( unlikely(eventinj.fields.v) &&
diff -r 56b42d68518e -r e4fd457a3dd5 xen/arch/x86/hvm/vmx/intr.c
--- a/xen/arch/x86/hvm/vmx/intr.c       Thu Jan 10 22:53:43 2008 +0000
+++ b/xen/arch/x86/hvm/vmx/intr.c       Fri Jan 11 10:53:44 2008 +0000
@@ -157,7 +157,6 @@ asmlinkage void vmx_intr_assist(void)
     /* Crank the handle on interrupt state. */
     pt_update_irq(v);
     vmx_dirq_assist(v);
-    hvm_maybe_deassert_evtchn_irq();
 
     do {
         intack = hvm_vcpu_has_pending_irq(v);
diff -r 56b42d68518e -r e4fd457a3dd5 xen/arch/x86/hvm/vmx/vmx.c
--- a/xen/arch/x86/hvm/vmx/vmx.c        Thu Jan 10 22:53:43 2008 +0000
+++ b/xen/arch/x86/hvm/vmx/vmx.c        Fri Jan 11 10:53:44 2008 +0000
@@ -2741,6 +2741,8 @@ asmlinkage void vmx_vmexit_handler(struc
     if ( unlikely(exit_reason & VMX_EXIT_REASONS_FAILED_VMENTRY) )
         return vmx_failed_vmentry(exit_reason, regs);
 
+    hvm_maybe_deassert_evtchn_irq();
+
     /* Event delivery caused this intercept? Queue for redelivery. */
     idtv_info = __vmread(IDT_VECTORING_INFO);
     if ( unlikely(idtv_info & INTR_INFO_VALID_MASK) &&

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] x86 hvm: hvm_maybe_deassert_evtchn_irq() needs to be called early in, Xen patchbot-unstable <=