|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-unstable] [IA64] Fix isr setting vs viosapic interu
# 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
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-unstable] [IA64] Fix isr setting vs viosapic interupt delivery,
Xen patchbot-unstable <=
|
|
|
|
|