[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-4.0-testing] x86/vioapic: clear remote IRR when switching RTE to edge triggered



# HG changeset patch
# User Jan Beulich <jbeulich@xxxxxxxx>
# Date 1331110255 0
# Node ID b5575d7e462ee6ff0abb601b24a18978d4dd63f6
# Parent  17992e40806abbc796f1d11722a63e682200d63e
x86/vioapic: clear remote IRR when switching RTE to edge triggered
mode

Xen itself (as much as Linux) relies on this behavior, so it should
also emulate it properly. Not doing so reportedly gets in the way of
kexec inside a HVM guest.

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
Tested-by: Olaf Hering <olaf@xxxxxxxxx>
xen-unstable changeset:   24168:9c350ab8d3ea
xen-unstable date:        Mon Nov 21 09:29:31 2011 +0100
Committed-by: Keir Fraser <keir@xxxxxxx>
---


diff -r 17992e40806a -r b5575d7e462e xen/arch/x86/hvm/vioapic.c
--- a/xen/arch/x86/hvm/vioapic.c        Wed Mar 07 08:50:32 2012 +0000
+++ b/xen/arch/x86/hvm/vioapic.c        Wed Mar 07 08:50:55 2012 +0000
@@ -153,8 +153,9 @@
     {
         vlapic_adjust_i8259_target(d);
     }
-    else if ( (ent.fields.trig_mode == VIOAPIC_LEVEL_TRIG) &&
-              !ent.fields.mask &&
+    else if ( ent.fields.trig_mode == VIOAPIC_EDGE_TRIG )
+        pent->fields.remote_irr = 0;
+    else if ( !ent.fields.mask &&
               !ent.fields.remote_irr &&
               hvm_irq->gsi_assert_count[idx] )
     {

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.