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/
Home Products Support Community News


[Xen-changelog] [xen-unstable] [IA64] Fix isr setting vs viosapic interu

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] [IA64] Fix isr setting vs viosapic interupt delivery
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Fri, 23 Mar 2007 05:30:38 -0700
Delivery-date: Fri, 23 Mar 2007 05:30:59 -0700
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 awilliam@xxxxxxxxxxxx
# Date 1174404107 21600
# Node ID e1d626bde5db9be3cc6741eaa3578a44e57622c9
# Parent  e014b94333aa5ff5420c7a533f12ccd028139fa0
[IA64] Fix isr setting vs viosapic interupt delivery

When the HVM guest is used with vcpu=5, the hypervisor may report:
"redir 10 not set for 180 EOI", and the HVM guest is Hung.

When the hypervisor with a vcpu context delivers to another vcpu,
EOI might be sent before ISR is set.

We should modify to call viosapic_delver() after ISR setting.

Signed-off-by: Tsunehisa Doi <Doi.Tsunehisa@xxxxxxxxxxxxxx>
Signed-off-by: Tomonari Horikoshi <t.horikoshi@xxxxxxxxxxxxxx>
 xen/arch/ia64/vmx/viosapic.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff -r e014b94333aa -r e1d626bde5db xen/arch/ia64/vmx/viosapic.c
--- a/xen/arch/ia64/vmx/viosapic.c      Tue Mar 20 09:16:09 2007 -0600
+++ b/xen/arch/ia64/vmx/viosapic.c      Tue Mar 20 09:21:47 2007 -0600
@@ -104,10 +104,10 @@ static void service_iosapic(struct viosa
     while ( (irq = iosapic_get_highest_irq(viosapic)) != -1 )
-        viosapic_deliver(viosapic, irq);
         if ( viosapic->redirtbl[irq].trig_mode == SAPIC_LEVEL )
             viosapic->isr |= (1UL << irq);
+        viosapic_deliver(viosapic, irq);
         viosapic->irr &= ~(1UL << irq);

Xen-changelog mailing list

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] [IA64] Fix isr setting vs viosapic interupt delivery, Xen patchbot-unstable <=