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

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



# HG changeset patch
# User Jan Beulich <jbeulich@xxxxxxxx>
# Date 1321968987 0
# Node ID 2ce06e513e0dd8486d358db0e226d8d0bd7da5fe
# Parent  5a00ccfc63915650b8e1a262c2cad8e8d8670612
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 5a00ccfc6391 -r 2ce06e513e0d xen/arch/x86/hvm/vioapic.c
--- a/xen/arch/x86/hvm/vioapic.c        Fri Nov 18 13:38:05 2011 +0000
+++ b/xen/arch/x86/hvm/vioapic.c        Tue Nov 22 13:36:27 2011 +0000
@@ -154,8 +154,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@xxxxxxxxxxxxxxxxxxx
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®.