[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] [IA64] Fix isr setting vs viosapic interupt delivery
# 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 Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |