]> xenbits.xensource.com Git - pvdrivers/win/xenvif.git/commitdiff
Update cache_interface header
authorOwen Smith <owen.smith@citrix.com>
Wed, 17 Jul 2019 12:18:33 +0000 (13:18 +0100)
committerPaul Durrant <paul.durrant@citrix.com>
Wed, 17 Jul 2019 12:25:36 +0000 (13:25 +0100)
Requires bumping the INF revision and revision table

Signed-off-by: Owen Smith <owen.smith@citrix.com>
include/cache_interface.h
include/revision.h
src/xenvif.inf
src/xenvif/receiver.c
src/xenvif/transmitter.c

index dae3ac6d556cc1fb286a3b2229bd3fb4562a15fe..ce50f4e463767b985831768ff9ed4d63a5372ba7 100644 (file)
@@ -123,6 +123,20 @@ typedef VOID
     IN  PVOID   Argument
     );
 
+typedef NTSTATUS
+(*XENBUS_CACHE_CREATE_V1)(
+    IN  PINTERFACE                  Interface,
+    IN  const CHAR                  *Name,
+    IN  ULONG                       Size,
+    IN  ULONG                       Reservation,
+    IN  XENBUS_CACHE_CTOR           Ctor,
+    IN  XENBUS_CACHE_DTOR           Dtor,
+    IN  XENBUS_CACHE_ACQUIRE_LOCK   AcquireLock,
+    IN  XENBUS_CACHE_RELEASE_LOCK   ReleaseLock,
+    IN  PVOID                       Argument OPTIONAL,
+    OUT PXENBUS_CACHE               *Cache
+    );
+
 /*! \typedef XENBUS_CACHE_CREATE
     \brief Create a cache of objects of the given \a Size
 
@@ -130,6 +144,7 @@ typedef VOID
     \param Name A name for the cache which will be used in debug output
     \param Size The size of each object in bytes
     \param Reservation The target minimum population of the cache
+    \param Cap The maximum population of the cache
     \param Ctor A callback which is invoked when a new object created
     \param Dtor A callback which is invoked when an object is destroyed
     \param AcquireLock A callback invoked to acquire a spinlock
@@ -146,6 +161,7 @@ typedef NTSTATUS
     IN  const CHAR                  *Name,
     IN  ULONG                       Size,
     IN  ULONG                       Reservation,
+    IN  ULONG                       Cap,
     IN  XENBUS_CACHE_CTOR           Ctor,
     IN  XENBUS_CACHE_DTOR           Dtor,
     IN  XENBUS_CACHE_ACQUIRE_LOCK   AcquireLock,
@@ -208,6 +224,20 @@ DEFINE_GUID(GUID_XENBUS_CACHE_INTERFACE,
     \ingroup interfaces
 */
 struct _XENBUS_CACHE_INTERFACE_V1 {
+    INTERFACE               Interface;
+    XENBUS_CACHE_ACQUIRE    CacheAcquire;
+    XENBUS_CACHE_RELEASE    CacheRelease;
+    XENBUS_CACHE_CREATE_V1  CacheCreateVersion1;
+    XENBUS_CACHE_GET        CacheGet;
+    XENBUS_CACHE_PUT        CachePut;
+    XENBUS_CACHE_DESTROY    CacheDestroy;
+};
+
+/*! \struct _XENBUS_CACHE_INTERFACE_V2
+    \brief CACHE interface version 1
+    \ingroup interfaces
+*/
+struct _XENBUS_CACHE_INTERFACE_V2 {
     INTERFACE               Interface;
     XENBUS_CACHE_ACQUIRE    CacheAcquire;
     XENBUS_CACHE_RELEASE    CacheRelease;
@@ -217,7 +247,7 @@ struct _XENBUS_CACHE_INTERFACE_V1 {
     XENBUS_CACHE_DESTROY    CacheDestroy;
 };
 
-typedef struct _XENBUS_CACHE_INTERFACE_V1 XENBUS_CACHE_INTERFACE, *PXENBUS_CACHE_INTERFACE;
+typedef struct _XENBUS_CACHE_INTERFACE_V2 XENBUS_CACHE_INTERFACE, *PXENBUS_CACHE_INTERFACE;
 
 /*! \def XENBUS_CACHE
     \brief Macro at assist in method invocation
@@ -228,6 +258,6 @@ typedef struct _XENBUS_CACHE_INTERFACE_V1 XENBUS_CACHE_INTERFACE, *PXENBUS_CACHE
 #endif  // _WINDLL
 
 #define XENBUS_CACHE_INTERFACE_VERSION_MIN  1
-#define XENBUS_CACHE_INTERFACE_VERSION_MAX  1
+#define XENBUS_CACHE_INTERFACE_VERSION_MAX  2
 
 #endif  // _XENBUS_CACHE_INTERFACE_H
index 9382e43a46f9a2a4fba8c26c4dc60b0b4f06c5ac..39476b2e8b0808e7f69424d8722d0eb0e0e20844 100644 (file)
@@ -43,6 +43,7 @@
     DEFINE_REVISION(0x0800000B,  1,  6,  2,  1),    \
     DEFINE_REVISION(0x0800000C,  1,  7,  2,  1),    \
     DEFINE_REVISION(0x0800000D,  1,  8,  2,  1),    \
-    DEFINE_REVISION(0x09000000,  1,  8,  2,  1)
+    DEFINE_REVISION(0x09000000,  1,  8,  2,  1),    \
+    DEFINE_REVISION(0x09000001,  2,  8,  2,  1)
 
 #endif  // _REVISION_H
index 7ac3afe841bc37baeb4205f724439476d3f8f54c..b091cfd36d04b7c58375175d581673c66c47f298 100644 (file)
@@ -59,9 +59,9 @@ xenvif_coinst_@MAJOR_VERSION@_@MINOR_VERSION@_@MICRO_VERSION@_@BUILD_NUMBER@.dll
 ; DisplayName          Section         DeviceID
 ; -----------          -------         --------
 
-%XenVifName%           =XenVif_Inst,   XENBUS\VEN_@VENDOR_PREFIX@@VENDOR_DEVICE_ID@&DEV_VIF&REV_09000004
-%XenVifName%           =XenVif_Inst,   XENBUS\VEN_@VENDOR_PREFIX@0001&DEV_VIF&REV_09000004
-%XenVifName%           =XenVif_Inst,   XENBUS\VEN_@VENDOR_PREFIX@0002&DEV_VIF&REV_09000004
+%XenVifName%           =XenVif_Inst,   XENBUS\VEN_@VENDOR_PREFIX@@VENDOR_DEVICE_ID@&DEV_VIF&REV_09000005
+%XenVifName%           =XenVif_Inst,   XENBUS\VEN_@VENDOR_PREFIX@0001&DEV_VIF&REV_09000005
+%XenVifName%           =XenVif_Inst,   XENBUS\VEN_@VENDOR_PREFIX@0002&DEV_VIF&REV_09000005
 
 [XenVif_Inst] 
 CopyFiles=XenVif_Copyfiles
index 32bc424355ef11651a492e919a5ee73582f99a38..7125743f7443153161e4306e8603adbf9cc94a27 100644 (file)
@@ -2454,6 +2454,7 @@ __ReceiverRingInitialize(
                           Name,
                           sizeof (XENVIF_RECEIVER_PACKET),
                           0,
+                          0,
                           ReceiverPacketCtor,
                           ReceiverPacketDtor,
                           ReceiverRingAcquireLock,
@@ -2479,6 +2480,7 @@ __ReceiverRingInitialize(
                           Name,
                           sizeof (XENVIF_RECEIVER_FRAGMENT),
                           0,
+                          0,
                           ReceiverFragmentCtor,
                           ReceiverFragmentDtor,
                           ReceiverRingAcquireLock,
index a5e2e72c3ff419606c762a89fc1c108fe4ea000a..6a4db1f0d9224ba552b1107f55dc28d83eafa3a7 100644 (file)
@@ -3445,6 +3445,7 @@ __TransmitterRingInitialize(
                           Name,
                           sizeof (XENVIF_TRANSMITTER_BUFFER),
                           0,
+                          0,
                           TransmitterBufferCtor,
                           TransmitterBufferDtor,
                           TransmitterRingAcquireLock,
@@ -3470,6 +3471,7 @@ __TransmitterRingInitialize(
                           Name,
                           sizeof (XENVIF_TRANSMITTER_MULTICAST_CONTROL),
                           0,
+                          0,
                           TransmitterMulticastControlCtor,
                           TransmitterMulticastControlDtor,
                           TransmitterRingAcquireLock,
@@ -3521,6 +3523,7 @@ __TransmitterRingInitialize(
                           Name,
                           sizeof (XENVIF_TRANSMITTER_FRAGMENT),
                           0,
+                          0,
                           TransmitterFragmentCtor,
                           TransmitterFragmentDtor,
                           TransmitterRingAcquireLock,
@@ -3546,6 +3549,7 @@ __TransmitterRingInitialize(
                           Name,
                           sizeof (XENVIF_TRANSMITTER_REQUEST),
                           0,
+                          0,
                           TransmitterRequestCtor,
                           TransmitterRequestDtor,
                           TransmitterRingAcquireLock,
@@ -4536,6 +4540,7 @@ TransmitterInitialize(
                           Name,
                           sizeof (XENVIF_TRANSMITTER_PACKET),
                           XENVIF_PACKET_CACHE_RESERVATION,
+                          0,
                           TransmitterPacketCtor,
                           TransmitterPacketDtor,
                           TransmitterPacketAcquireLock,