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

[win-pv-devel] [PATCH] Update to latest XENBUS interfaces



Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx>
---
 include/cache_interface.h     |  1 +
 include/debug_interface.h     |  1 +
 include/emulated_interface.h  |  1 +
 include/evtchn_interface.h    | 42 +++++++++++++++++++++++++++++++++++++-----
 include/gnttab_interface.h    |  1 +
 include/range_set_interface.h |  1 +
 include/store_interface.h     |  1 +
 include/suspend_interface.h   |  1 +
 src/xenvif.inf                |  6 +++---
 9 files changed, 47 insertions(+), 8 deletions(-)

diff --git a/include/cache_interface.h b/include/cache_interface.h
index 12599ef..dae3ac6 100644
--- a/include/cache_interface.h
+++ b/include/cache_interface.h
@@ -205,6 +205,7 @@ DEFINE_GUID(GUID_XENBUS_CACHE_INTERFACE,
 
 /*! \struct _XENBUS_CACHE_INTERFACE_V1
     \brief CACHE interface version 1
+    \ingroup interfaces
 */
 struct _XENBUS_CACHE_INTERFACE_V1 {
     INTERFACE               Interface;
diff --git a/include/debug_interface.h b/include/debug_interface.h
index 0b4f763..cc71db0 100644
--- a/include/debug_interface.h
+++ b/include/debug_interface.h
@@ -146,6 +146,7 @@ DEFINE_GUID(GUID_XENBUS_DEBUG_INTERFACE,
 
 /*! \struct _XENBUS_DEBUG_INTERFACE_V1
     \brief DEBUG interface version 1
+    \ingroup interfaces
 */
 struct _XENBUS_DEBUG_INTERFACE_V1 {
     INTERFACE               Interface;
diff --git a/include/emulated_interface.h b/include/emulated_interface.h
index 0019c1b..85ed2b8 100644
--- a/include/emulated_interface.h
+++ b/include/emulated_interface.h
@@ -101,6 +101,7 @@ DEFINE_GUID(GUID_XENFILT_EMULATED_INTERFACE,
 
 /*! \struct _XENFILT_EMULATED_INTERFACE_V1
     \brief EMULATED interface version 1
+    \ingroup interfaces
 */
 struct _XENFILT_EMULATED_INTERFACE_V1 {
     INTERFACE                           Interface;
diff --git a/include/evtchn_interface.h b/include/evtchn_interface.h
index 207f341..4ab2b28 100644
--- a/include/evtchn_interface.h
+++ b/include/evtchn_interface.h
@@ -112,19 +112,33 @@ typedef PXENBUS_EVTCHN_CHANNEL
     ...
     );
 
+/*! \typedef XENBUS_EVTCHN_BIND
+    \brief Bind an event channel to a specific CPU
+
+    \param Interface The interface header
+    \param Channel The channel handle
+    \param Cpu The CPU that should handle events
+*/
+typedef NTSTATUS
+(*XENBUS_EVTCHN_BIND)(
+    IN  PINTERFACE              Interface,
+    IN  PXENBUS_EVTCHN_CHANNEL  Channel,
+    IN  ULONG                   Cpu
+    );
+
 /*! \typedef XENBUS_EVTCHN_UNMASK
     \brief Unmask an event channel
 
     \param Interface The interface header
     \param Channel The channel handle
-    \param Locked Set to TRUE if this method is invoked in context of the 
channel callback
+    \param InCallback Set to TRUE if this method is invoked in context of the 
channel callback
     \return TRUE if there was an event pending at the point of unmask, FALSE 
otherwise
 */
 typedef BOOLEAN
 (*XENBUS_EVTCHN_UNMASK)(
     IN  PINTERFACE              Interface,
     IN  PXENBUS_EVTCHN_CHANNEL  Channel,
-    IN  BOOLEAN                 Locked
+    IN  BOOLEAN                 InCallback
     );
 
 /*! \typedef XENBUS_EVTCHN_SEND
@@ -182,6 +196,7 @@ DEFINE_GUID(GUID_XENBUS_EVTCHN_INTERFACE,
 
 /*! \struct _XENBUS_EVTCHN_INTERFACE_V1
     \brief EVTCHN interface version 1
+    \ingroup interfaces
 */
 struct _XENBUS_EVTCHN_INTERFACE_V1 {
     INTERFACE               Interface;
@@ -190,12 +205,29 @@ struct _XENBUS_EVTCHN_INTERFACE_V1 {
     XENBUS_EVTCHN_OPEN      EvtchnOpen;
     XENBUS_EVTCHN_UNMASK    EvtchnUnmask;
     XENBUS_EVTCHN_SEND      EvtchnSend;
-    XENBUS_EVTCHN_SEND      EvtchnTrigger;
+    XENBUS_EVTCHN_TRIGGER   EvtchnTrigger;
+    XENBUS_EVTCHN_GET_PORT  EvtchnGetPort;
+    XENBUS_EVTCHN_CLOSE     EvtchnClose;
+};
+
+/*! \struct _XENBUS_EVTCHN_INTERFACE_V2
+    \brief EVTCHN interface version 2
+    \ingroup interfaces
+*/
+struct _XENBUS_EVTCHN_INTERFACE_V2 {
+    INTERFACE               Interface;
+    XENBUS_EVTCHN_ACQUIRE   EvtchnAcquire;
+    XENBUS_EVTCHN_RELEASE   EvtchnRelease;
+    XENBUS_EVTCHN_OPEN      EvtchnOpen;
+    XENBUS_EVTCHN_BIND      EvtchnBind;
+    XENBUS_EVTCHN_UNMASK    EvtchnUnmask;
+    XENBUS_EVTCHN_SEND      EvtchnSend;
+    XENBUS_EVTCHN_TRIGGER   EvtchnTrigger;
     XENBUS_EVTCHN_GET_PORT  EvtchnGetPort;
     XENBUS_EVTCHN_CLOSE     EvtchnClose;
 };
 
-typedef struct _XENBUS_EVTCHN_INTERFACE_V1 XENBUS_EVTCHN_INTERFACE, 
*PXENBUS_EVTCHN_INTERFACE;
+typedef struct _XENBUS_EVTCHN_INTERFACE_V2 XENBUS_EVTCHN_INTERFACE, 
*PXENBUS_EVTCHN_INTERFACE;
 
 /*! \def XENBUS_EVTCHN
     \brief Macro at assist in method invocation
@@ -206,7 +238,7 @@ typedef struct _XENBUS_EVTCHN_INTERFACE_V1 
XENBUS_EVTCHN_INTERFACE, *PXENBUS_EVT
 #endif  // _WINDLL
 
 #define XENBUS_EVTCHN_INTERFACE_VERSION_MIN 1
-#define XENBUS_EVTCHN_INTERFACE_VERSION_MAX 1
+#define XENBUS_EVTCHN_INTERFACE_VERSION_MAX 2
 
 #endif  // _XENBUS_EVTCHN_INTERFACE_H
 
diff --git a/include/gnttab_interface.h b/include/gnttab_interface.h
index c9d005f..d29440a 100644
--- a/include/gnttab_interface.h
+++ b/include/gnttab_interface.h
@@ -169,6 +169,7 @@ DEFINE_GUID(GUID_XENBUS_GNTTAB_INTERFACE,
 
 /*! \struct _XENBUS_GNTTAB_INTERFACE_V1
     \brief GNTTAB interface version 1
+    \ingroup interfaces
 */
 struct _XENBUS_GNTTAB_INTERFACE_V1 {
     INTERFACE                           Interface;
diff --git a/include/range_set_interface.h b/include/range_set_interface.h
index b05ab3c..5ab416d 100644
--- a/include/range_set_interface.h
+++ b/include/range_set_interface.h
@@ -149,6 +149,7 @@ DEFINE_GUID(GUID_XENBUS_RANGE_SET_INTERFACE,
 
 /*! \struct _XENBUS_RANGE_SET_INTERFACE_V1
     \brief RANGE_SET interface version 1
+    \ingroup interfaces
 */
 struct _XENBUS_RANGE_SET_INTERFACE_V1 {
     INTERFACE                   Interface;
diff --git a/include/store_interface.h b/include/store_interface.h
index f052b8f..5bcbba3 100644
--- a/include/store_interface.h
+++ b/include/store_interface.h
@@ -269,6 +269,7 @@ struct _XENBUS_STORE_INTERFACE_V1 {
 
 /*! \struct _XENBUS_STORE_INTERFACE_V1
     \brief STORE interface version 1
+    \ingroup interfaces
 */
 typedef struct _XENBUS_STORE_INTERFACE_V1 XENBUS_STORE_INTERFACE, 
*PXENBUS_STORE_INTERFACE;
 
diff --git a/include/suspend_interface.h b/include/suspend_interface.h
index 1a39141..df1b4b0 100644
--- a/include/suspend_interface.h
+++ b/include/suspend_interface.h
@@ -148,6 +148,7 @@ DEFINE_GUID(GUID_XENBUS_SUSPEND_INTERFACE,
 
 /*! \struct _XENBUS_SUSPEND_INTERFACE_V1
     \brief SUSPEND interface version 1
+    \ingroup interfaces
 */
 struct _XENBUS_SUSPEND_INTERFACE_V1 {
     INTERFACE                   Interface;
diff --git a/src/xenvif.inf b/src/xenvif.inf
index beaa8f4..74231ce 100644
--- a/src/xenvif.inf
+++ b/src/xenvif.inf
@@ -58,9 +58,9 @@ 
xenvif_coinst_@MAJOR_VERSION@_@MINOR_VERSION@_@MICRO_VERSION@_@BUILD_NUMBER@.dll
 ; DisplayName          Section         DeviceID
 ; -----------          -------         --------
 
-%XenVifDesc%           =XenVif_Inst,   XENBUS\VEN_XSC000&DEV_VIF&REV_00000001
-%XenVifDesc%           =XenVif_Inst,   XENBUS\VEN_XS0001&DEV_VIF&REV_00000001
-%XenVifDesc%           =XenVif_Inst,   XENBUS\VEN_XS0002&DEV_VIF&REV_00000001
+%XenVifDesc%           =XenVif_Inst,   XENBUS\VEN_XSC000&DEV_VIF&REV_00000004
+%XenVifDesc%           =XenVif_Inst,   XENBUS\VEN_XS0001&DEV_VIF&REV_00000004
+%XenVifDesc%           =XenVif_Inst,   XENBUS\VEN_XS0002&DEV_VIF&REV_00000004
 
 [XenVif_Inst] 
 CopyFiles=XenVif_Copyfiles
-- 
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®.