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

[win-pv-devel] [PATCH] Windows Server 2008 compatibility fix



Use of the CONNECT_FULLY_SPECIFIED_GROUP flag to IoConnectInterruptEx() is
not supported prior to Windows 7, so when Group == 0 (which will always be
true for any OS prior to Windows 7) just use CONNECT_FULLY_SPECIFIED
in which case it is documented that Windows will assume Group == 0.

Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx>
---
 src/xenbus/fdo.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/xenbus/fdo.c b/src/xenbus/fdo.c
index 8d8b125..3c3e9a0 100644
--- a/src/xenbus/fdo.c
+++ b/src/xenbus/fdo.c
@@ -1857,7 +1857,6 @@ FdoConnectInterrupt(
         (*Interrupt)->Line = Raw->u.Interrupt.Vector;
 
     RtlZeroMemory(&Connect, sizeof (IO_CONNECT_INTERRUPT_PARAMETERS));
-    Connect.Version = CONNECT_FULLY_SPECIFIED_GROUP;
     Connect.FullySpecified.PhysicalDeviceObject = 
__FdoGetPhysicalDeviceObject(Fdo);
     Connect.FullySpecified.ShareVector = 
(BOOLEAN)(Translated->ShareDisposition == CmResourceShareShared);
     Connect.FullySpecified.InterruptMode = (*Interrupt)->InterruptMode;
@@ -1879,6 +1878,10 @@ FdoConnectInterrupt(
         Connect.FullySpecified.ProcessorEnableMask = 
Translated->u.Interrupt.Affinity;
     }
 
+    Connect.Version = (Connect.FullySpecified.Group != 0) ?
+                      CONNECT_FULLY_SPECIFIED_GROUP :
+                      CONNECT_FULLY_SPECIFIED;
+
     status = IoConnectInterruptEx(&Connect);
     if (!NT_SUCCESS(status))
         goto fail2;
-- 
2.1.1


_______________________________________________
win-pv-devel mailing list
win-pv-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel


 


Rackspace

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