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

[XENBUS PATCH v3 1/9] Deprecate PDO revisions 0x09000007 and earlier



0x09000008 has been available since 2021.

Deprecate the old PDO revisions to make space for new revisions.

The following interface versions are removed as a result:
* SHARED_INFO v2
* EVTCHN v5-v8
* CACHE v1
* GNTTAB v2-v3
* EMULATED v1

Signed-off-by: Tu Dinh <ngoc-tu.dinh@xxxxxxxxxx>
---
 include/cache_interface.h       |  32 +-----
 include/emulated_interface.h    |  21 +---
 include/evtchn_interface.h      |  96 +-----------------
 include/gnttab_interface.h      |  48 +--------
 include/revision.h              |   8 --
 include/shared_info_interface.h |  23 +----
 src/xenbus/cache.c              |  54 -----------
 src/xenbus/evtchn.c             | 166 --------------------------------
 src/xenbus/gnttab.c             |  82 ----------------
 src/xenbus/shared_info.c        |  41 --------
 src/xenfilt/emulated.c          |  45 ---------
 11 files changed, 6 insertions(+), 610 deletions(-)

diff --git a/include/cache_interface.h b/include/cache_interface.h
index e5f4ce9..eb233d3 100644
--- a/include/cache_interface.h
+++ b/include/cache_interface.h
@@ -124,20 +124,6 @@ typedef VOID
     _In_ PVOID  Argument
     );
 
-typedef NTSTATUS
-(*XENBUS_CACHE_CREATE_V1)(
-    _In_ PINTERFACE                 Interface,
-    _In_ PCSTR                      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_opt_ PVOID                  Argument,
-    _Outptr_ PXENBUS_CACHE          *Cache
-    );
-
 /*! \typedef XENBUS_CACHE_CREATE
     \brief Create a cache of objects of the given \a Size
 
@@ -220,22 +206,8 @@ typedef VOID
 DEFINE_GUID(GUID_XENBUS_CACHE_INTERFACE,
 0xa98dfd78, 0x416a, 0x4949, 0x92, 0xa5, 0xe0, 0x84, 0xf2, 0xf4, 0xb4, 0x4e);
 
-/*! \struct _XENBUS_CACHE_INTERFACE_V1
-    \brief CACHE interface version 1
-    \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
+    \brief CACHE interface version 2
     \ingroup interfaces
 */
 struct _XENBUS_CACHE_INTERFACE_V2 {
@@ -258,7 +230,7 @@ typedef struct _XENBUS_CACHE_INTERFACE_V2 
XENBUS_CACHE_INTERFACE, *PXENBUS_CACHE
 
 #endif  // _WINDLL
 
-#define XENBUS_CACHE_INTERFACE_VERSION_MIN  1
+#define XENBUS_CACHE_INTERFACE_VERSION_MIN  2
 #define XENBUS_CACHE_INTERFACE_VERSION_MAX  2
 
 #endif  // _XENBUS_CACHE_INTERFACE_H
diff --git a/include/emulated_interface.h b/include/emulated_interface.h
index ead9c14..a6c79f9 100644
--- a/include/emulated_interface.h
+++ b/include/emulated_interface.h
@@ -79,13 +79,6 @@ typedef BOOLEAN
     _In_opt_ PSTR   InstanceID
     );
 
-typedef BOOLEAN
-(*XENFILT_EMULATED_IS_DISK_PRESENT_V1)(
-    _In_ PVOID  Context,
-    _In_ ULONG  Controller,
-    _In_ ULONG  Target,
-    _In_ ULONG  Lun
-    );
 /*! \typedef XENFILT_EMULATED_IS_DISK_PRESENT
     \brief Determine whether a given emulated disk is present in the VM
 
@@ -105,18 +98,6 @@ typedef BOOLEAN
 DEFINE_GUID(GUID_XENFILT_EMULATED_INTERFACE,
 0x959027a1, 0xfcce, 0x4e78, 0xbc, 0xf4, 0x63, 0x73, 0x84, 0xf4, 0x99, 0xc5);
 
-/*! \struct _XENFILT_EMULATED_INTERFACE_V1
-    \brief EMULATED interface version 1
-    \ingroup interfaces
-*/
-struct _XENFILT_EMULATED_INTERFACE_V1 {
-    INTERFACE                           Interface;
-    XENFILT_EMULATED_ACQUIRE            EmulatedAcquire;
-    XENFILT_EMULATED_RELEASE            EmulatedRelease;
-    XENFILT_EMULATED_IS_DEVICE_PRESENT  EmulatedIsDevicePresent;
-    XENFILT_EMULATED_IS_DISK_PRESENT_V1 EmulatedIsDiskPresentVersion1;
-};
-
 /*! \struct _XENFILT_EMULATED_INTERFACE_V2
     \brief EMULATED interface version 2
     \ingroup interfaces
@@ -139,7 +120,7 @@ typedef struct _XENFILT_EMULATED_INTERFACE_V2 
XENFILT_EMULATED_INTERFACE, *PXENF
 
 #endif  // _WINDLL
 
-#define XENFILT_EMULATED_INTERFACE_VERSION_MIN  1
+#define XENFILT_EMULATED_INTERFACE_VERSION_MIN  2
 #define XENFILT_EMULATED_INTERFACE_VERSION_MAX  2
 
 #endif  // _XENFILT_EMULATED_INTERFACE_H
diff --git a/include/evtchn_interface.h b/include/evtchn_interface.h
index 5c46f97..250b9d4 100644
--- a/include/evtchn_interface.h
+++ b/include/evtchn_interface.h
@@ -131,13 +131,6 @@ typedef NTSTATUS
     _In_ UCHAR                  Number
     );
 
-typedef VOID
-(*XENBUS_EVTCHN_UNMASK_V4)(
-    _In_ PINTERFACE             Interface,
-    _In_ PXENBUS_EVTCHN_CHANNEL Channel,
-    _In_ BOOLEAN                InCallback
-    );
-
 /*! \typedef XENBUS_EVTCHN_UNMASK
     \brief Unmask an event channel
 
@@ -154,12 +147,6 @@ typedef BOOLEAN
     _In_ BOOLEAN                Force
     );
 
-typedef VOID
-(*XENBUS_EVTCHN_SEND_V1)(
-    _In_ PINTERFACE             Interface,
-    _In_ PXENBUS_EVTCHN_CHANNEL Channel
-    );
-
 /*! \typedef XENBUS_EVTCHN_SEND
     \brief Send an event to the remote end of the channel
 
@@ -200,13 +187,6 @@ typedef ULONG
     _In_ PXENBUS_EVTCHN_CHANNEL Channel
     );
 
-typedef NTSTATUS
-(*XENBUS_EVTCHN_WAIT_V5)(
-    _In_ PINTERFACE             Interface,
-    _In_ PXENBUS_EVTCHN_CHANNEL Channel,
-    _In_opt_ PLARGE_INTEGER     Timeout
-    );
-
 /*! \typedef XENBUS_EVTCHN_WAIT
     \brief Wait for events to the local end of the channel
 
@@ -252,80 +232,6 @@ typedef VOID
 DEFINE_GUID(GUID_XENBUS_EVTCHN_INTERFACE,
 0xbe2440ac, 0x1098, 0x4150, 0xaf, 0x4d, 0x45, 0x2f, 0xad, 0xce, 0xf9, 0x23);
 
-/*! \struct _XENBUS_EVTCHN_INTERFACE_V5
-    \brief EVTCHN interface version 5
-    \ingroup interfaces
-*/
-struct _XENBUS_EVTCHN_INTERFACE_V5 {
-    INTERFACE               Interface;
-    XENBUS_EVTCHN_ACQUIRE   EvtchnAcquire;
-    XENBUS_EVTCHN_RELEASE   EvtchnRelease;
-    XENBUS_EVTCHN_OPEN      EvtchnOpen;
-    XENBUS_EVTCHN_BIND      EvtchnBind;
-    XENBUS_EVTCHN_UNMASK_V4 EvtchnUnmaskVersion4;
-    XENBUS_EVTCHN_SEND_V1   EvtchnSendVersion1;
-    XENBUS_EVTCHN_TRIGGER   EvtchnTrigger;
-    XENBUS_EVTCHN_WAIT_V5   EvtchnWaitVersion5;
-    XENBUS_EVTCHN_GET_PORT  EvtchnGetPort;
-    XENBUS_EVTCHN_CLOSE     EvtchnClose;
-};
-
-/*! \struct _XENBUS_EVTCHN_INTERFACE_V6
-    \brief EVTCHN interface version 6
-    \ingroup interfaces
-*/
-struct _XENBUS_EVTCHN_INTERFACE_V6 {
-    INTERFACE               Interface;
-    XENBUS_EVTCHN_ACQUIRE   EvtchnAcquire;
-    XENBUS_EVTCHN_RELEASE   EvtchnRelease;
-    XENBUS_EVTCHN_OPEN      EvtchnOpen;
-    XENBUS_EVTCHN_BIND      EvtchnBind;
-    XENBUS_EVTCHN_UNMASK_V4 EvtchnUnmaskVersion4;
-    XENBUS_EVTCHN_SEND      EvtchnSend;
-    XENBUS_EVTCHN_TRIGGER   EvtchnTrigger;
-    XENBUS_EVTCHN_WAIT_V5   EvtchnWaitVersion5;
-    XENBUS_EVTCHN_GET_PORT  EvtchnGetPort;
-    XENBUS_EVTCHN_CLOSE     EvtchnClose;
-};
-
-/*! \struct _XENBUS_EVTCHN_INTERFACE_V7
-    \brief EVTCHN interface version 7
-    \ingroup interfaces
-*/
-struct _XENBUS_EVTCHN_INTERFACE_V7 {
-    INTERFACE               Interface;
-    XENBUS_EVTCHN_ACQUIRE   EvtchnAcquire;
-    XENBUS_EVTCHN_RELEASE   EvtchnRelease;
-    XENBUS_EVTCHN_OPEN      EvtchnOpen;
-    XENBUS_EVTCHN_BIND      EvtchnBind;
-    XENBUS_EVTCHN_UNMASK_V4 EvtchnUnmaskVersion4;
-    XENBUS_EVTCHN_SEND      EvtchnSend;
-    XENBUS_EVTCHN_TRIGGER   EvtchnTrigger;
-    XENBUS_EVTCHN_GET_COUNT EvtchnGetCount;
-    XENBUS_EVTCHN_WAIT      EvtchnWait;
-    XENBUS_EVTCHN_GET_PORT  EvtchnGetPort;
-    XENBUS_EVTCHN_CLOSE     EvtchnClose;
-};
-
-/*! \struct _XENBUS_EVTCHN_INTERFACE_V8
-    \brief EVTCHN interface version 8
-    \ingroup interfaces
-*/
-struct _XENBUS_EVTCHN_INTERFACE_V8 {
-    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_COUNT EvtchnGetCount;
-    XENBUS_EVTCHN_WAIT      EvtchnWait;
-    XENBUS_EVTCHN_GET_PORT  EvtchnGetPort;
-    XENBUS_EVTCHN_CLOSE     EvtchnClose;
-};
-
 /*! \struct _XENBUS_EVTCHN_INTERFACE_V9
     \brief EVTCHN interface version 9
     \ingroup interfaces
@@ -355,7 +261,7 @@ typedef struct _XENBUS_EVTCHN_INTERFACE_V9 
XENBUS_EVTCHN_INTERFACE, *PXENBUS_EVT
 
 #endif  // _WINDLL
 
-#define XENBUS_EVTCHN_INTERFACE_VERSION_MIN 5
+#define XENBUS_EVTCHN_INTERFACE_VERSION_MIN 9
 #define XENBUS_EVTCHN_INTERFACE_VERSION_MAX 9
 
 #endif  // _XENBUS_EVTCHN_INTERFACE_H
diff --git a/include/gnttab_interface.h b/include/gnttab_interface.h
index 92a95a7..9d8357b 100644
--- a/include/gnttab_interface.h
+++ b/include/gnttab_interface.h
@@ -73,17 +73,6 @@ typedef VOID
     _In_ PINTERFACE Interface
     );
 
-typedef NTSTATUS
-(*XENBUS_GNTTAB_CREATE_CACHE_V1)(
-    _In_ PINTERFACE                 Interface,
-    _In_ PCSTR                      Name,
-    _In_ ULONG                      Reservation,
-    _In_ XENBUS_CACHE_ACQUIRE_LOCK  AcquireLock,
-    _In_ XENBUS_CACHE_RELEASE_LOCK  ReleaseLock,
-    _In_opt_ PVOID                  Argument,
-    _Outptr_ PXENBUS_GNTTAB_CACHE   *Cache
-    );
-
 /*! \typedef XENBUS_GNTTAB_CREATE_CACHE
     \brief Create a cache of grant table entries
 
@@ -234,41 +223,6 @@ typedef NTSTATUS
 DEFINE_GUID(GUID_XENBUS_GNTTAB_INTERFACE,
 0x763679c5, 0xe5c2, 0x4a6d, 0x8b, 0x88, 0x6b, 0xb0, 0x2e, 0xc4, 0x2d, 0x8e);
 
-/*! \struct _XENBUS_GNTTAB_INTERFACE_V2
-    \brief GNTTAB interface version 2
-    \ingroup interfaces
-*/
-struct _XENBUS_GNTTAB_INTERFACE_V2 {
-    INTERFACE                           Interface;
-    XENBUS_GNTTAB_ACQUIRE               GnttabAcquire;
-    XENBUS_GNTTAB_RELEASE               GnttabRelease;
-    XENBUS_GNTTAB_CREATE_CACHE_V1       GnttabCreateCacheVersion1;
-    XENBUS_GNTTAB_PERMIT_FOREIGN_ACCESS GnttabPermitForeignAccess;
-    XENBUS_GNTTAB_REVOKE_FOREIGN_ACCESS GnttabRevokeForeignAccess;
-    XENBUS_GNTTAB_GET_REFERENCE         GnttabGetReference;
-    XENBUS_GNTTAB_DESTROY_CACHE         GnttabDestroyCache;
-    XENBUS_GNTTAB_MAP_FOREIGN_PAGES     GnttabMapForeignPages;
-    XENBUS_GNTTAB_UNMAP_FOREIGN_PAGES   GnttabUnmapForeignPages;
-};
-
-/*! \struct _XENBUS_GNTTAB_INTERFACE_V3
-    \brief GNTTAB interface version 3
-    \ingroup interfaces
-*/
-struct _XENBUS_GNTTAB_INTERFACE_V3 {
-    INTERFACE                           Interface;
-    XENBUS_GNTTAB_ACQUIRE               GnttabAcquire;
-    XENBUS_GNTTAB_RELEASE               GnttabRelease;
-    XENBUS_GNTTAB_CREATE_CACHE_V1       GnttabCreateCacheVersion1;
-    XENBUS_GNTTAB_PERMIT_FOREIGN_ACCESS GnttabPermitForeignAccess;
-    XENBUS_GNTTAB_REVOKE_FOREIGN_ACCESS GnttabRevokeForeignAccess;
-    XENBUS_GNTTAB_GET_REFERENCE         GnttabGetReference;
-    XENBUS_GNTTAB_QUERY_REFERENCE       GnttabQueryReference;
-    XENBUS_GNTTAB_DESTROY_CACHE         GnttabDestroyCache;
-    XENBUS_GNTTAB_MAP_FOREIGN_PAGES     GnttabMapForeignPages;
-    XENBUS_GNTTAB_UNMAP_FOREIGN_PAGES   GnttabUnmapForeignPages;
-};
-
 /*! \struct _XENBUS_GNTTAB_INTERFACE_V4
     \brief GNTTAB interface version 4
     \ingroup interfaces
@@ -297,7 +251,7 @@ typedef struct _XENBUS_GNTTAB_INTERFACE_V4 
XENBUS_GNTTAB_INTERFACE, *PXENBUS_GNT
 
 #endif  // _WINDLL
 
-#define XENBUS_GNTTAB_INTERFACE_VERSION_MIN 2
+#define XENBUS_GNTTAB_INTERFACE_VERSION_MIN 4
 #define XENBUS_GNTTAB_INTERFACE_VERSION_MAX 4
 
 #endif  // _XENBUS_GNTTAB_INTERFACE_H
diff --git a/include/revision.h b/include/revision.h
index 4c5607a..e9e62e6 100644
--- a/include/revision.h
+++ b/include/revision.h
@@ -48,14 +48,6 @@
 
 //                    REVISION   S  SI   E   D  ST   R   C   G   U  CO  EM
 #define DEFINE_REVISION_TABLE                                                \
-    DEFINE_REVISION(0x09000000,  1,  2,  5,  1,  2,  1,  1,  2,  1,  0,  1), \
-    DEFINE_REVISION(0x09000001,  1,  2,  6,  1,  2,  1,  1,  2,  1,  1,  1), \
-    DEFINE_REVISION(0x09000002,  1,  2,  7,  1,  2,  1,  1,  2,  1,  1,  1), \
-    DEFINE_REVISION(0x09000003,  1,  2,  8,  1,  2,  1,  1,  2,  1,  1,  1), \
-    DEFINE_REVISION(0x09000004,  1,  2,  8,  1,  2,  1,  1,  3,  1,  1,  1), \
-    DEFINE_REVISION(0x09000005,  1,  2,  8,  1,  2,  1,  2,  4,  1,  1,  1), \
-    DEFINE_REVISION(0x09000006,  1,  3,  8,  1,  2,  1,  2,  4,  1,  1,  1), \
-    DEFINE_REVISION(0x09000007,  1,  3,  8,  1,  2,  1,  2,  4,  1,  1,  2), \
     DEFINE_REVISION(0x09000008,  1,  3,  9,  1,  2,  1,  2,  4,  1,  1,  2), \
     DEFINE_REVISION(0x09000009,  1,  4,  9,  1,  2,  1,  2,  4,  1,  1,  2), \
     DEFINE_REVISION(0x0900000A,  1,  4,  9,  1,  2,  1,  2,  4,  2,  1,  2), \
diff --git a/include/shared_info_interface.h b/include/shared_info_interface.h
index 5fdedfd..a14b545 100644
--- a/include/shared_info_interface.h
+++ b/include/shared_info_interface.h
@@ -123,11 +123,6 @@ typedef BOOLEAN
     _In_ ULONG      Port
     );
 
-typedef LARGE_INTEGER
-(*XENBUS_SHARED_INFO_GET_TIME_V2)(
-    _In_ PINTERFACE Interface
-    );
-
 /*! \typedef XENBUS_SHARED_INFO_GET_TIME
     \brief Retrieve the wallclock time from the shared info
 
@@ -146,22 +141,6 @@ typedef VOID
 DEFINE_GUID(GUID_XENBUS_SHARED_INFO_INTERFACE,
 0x7e73c34f, 0x1640, 0x4649, 0xa8, 0xf3, 0x26, 0x3b, 0xc9, 0x30, 0xa0, 0x4);
 
-/*! \struct _XENBUS_SHARED_INFO_INTERFACE_V2
-    \brief SHARED_INFO interface version 2
-    \ingroup interfaces
-*/
-struct _XENBUS_SHARED_INFO_INTERFACE_V2 {
-    INTERFACE                           Interface;
-    XENBUS_SHARED_INFO_ACQUIRE          SharedInfoAcquire;
-    XENBUS_SHARED_INFO_RELEASE          SharedInfoRelease;
-    XENBUS_SHARED_INFO_UPCALL_PENDING   SharedInfoUpcallPending;
-    XENBUS_SHARED_INFO_EVTCHN_POLL      SharedInfoEvtchnPoll;
-    XENBUS_SHARED_INFO_EVTCHN_ACK       SharedInfoEvtchnAck;
-    XENBUS_SHARED_INFO_EVTCHN_MASK      SharedInfoEvtchnMask;
-    XENBUS_SHARED_INFO_EVTCHN_UNMASK    SharedInfoEvtchnUnmask;
-    XENBUS_SHARED_INFO_GET_TIME_V2      SharedInfoGetTimeVersion2;
-};
-
 /*! \struct _XENBUS_SHARED_INFO_INTERFACE_V3
     \brief SHARED_INFO interface version 3
     \ingroup interfaces
@@ -205,7 +184,7 @@ typedef struct _XENBUS_SHARED_INFO_INTERFACE_V4 
XENBUS_SHARED_INFO_INTERFACE, *P
 
 #endif  // _WINDLL
 
-#define XENBUS_SHARED_INFO_INTERFACE_VERSION_MIN    2
+#define XENBUS_SHARED_INFO_INTERFACE_VERSION_MIN    3
 #define XENBUS_SHARED_INFO_INTERFACE_VERSION_MAX    4
 
 #endif  // _XENBUS_SHARED_INFO_H
diff --git a/src/xenbus/cache.c b/src/xenbus/cache.c
index d60ae29..2123ed0 100644
--- a/src/xenbus/cache.c
+++ b/src/xenbus/cache.c
@@ -943,33 +943,6 @@ fail1:
     return status;
 }
 
-static NTSTATUS
-CacheCreateVersion1(
-    _In_ PINTERFACE         Interface,
-    _In_ PCSTR              Name,
-    _In_ ULONG              Size,
-    _In_ ULONG              Reservation,
-    _In_ NTSTATUS           (*Ctor)(PVOID, PVOID),
-    _In_ VOID               (*Dtor)(PVOID, PVOID),
-    _In_ VOID               (*AcquireLock)(PVOID),
-    _In_ VOID               (*ReleaseLock)(PVOID),
-    _In_ PVOID              Argument,
-    _Outptr_ PXENBUS_CACHE  *Cache
-    )
-{
-    return CacheCreate(Interface,
-                       Name,
-                       Size,
-                       Reservation,
-                       0,
-                       Ctor,
-                       Dtor,
-                       AcquireLock,
-                       ReleaseLock,
-                       Argument,
-                       Cache);
-}
-
 static VOID
 CacheDestroy(
     _In_ PINTERFACE         Interface,
@@ -1210,16 +1183,6 @@ done:
     KeReleaseSpinLock(&Context->Lock, Irql);
 }
 
-static struct _XENBUS_CACHE_INTERFACE_V1 CacheInterfaceVersion1 = {
-    { sizeof (struct _XENBUS_CACHE_INTERFACE_V1), 1, NULL, NULL, NULL },
-    CacheAcquire,
-    CacheRelease,
-    CacheCreateVersion1,
-    CacheGet,
-    CachePut,
-    CacheDestroy
-};
-
 static struct _XENBUS_CACHE_INTERFACE_V2 CacheInterfaceVersion2 = {
     { sizeof (struct _XENBUS_CACHE_INTERFACE_V2), 2, NULL, NULL, NULL },
     CacheAcquire,
@@ -1294,23 +1257,6 @@ CacheGetInterface(
     ASSERT(Context != NULL);
 
     switch (Version) {
-    case 1: {
-        struct _XENBUS_CACHE_INTERFACE_V1   *CacheInterface;
-
-        CacheInterface = (struct _XENBUS_CACHE_INTERFACE_V1 *)Interface;
-
-        status = STATUS_BUFFER_OVERFLOW;
-        if (Size < sizeof (struct _XENBUS_CACHE_INTERFACE_V1))
-            break;
-
-        *CacheInterface = CacheInterfaceVersion1;
-
-        ASSERT3U(Interface->Version, ==, Version);
-        Interface->Context = Context;
-
-        status = STATUS_SUCCESS;
-        break;
-    }
     case 2: {
         struct _XENBUS_CACHE_INTERFACE_V2   *CacheInterface;
 
diff --git a/src/xenbus/evtchn.c b/src/xenbus/evtchn.c
index 7d6d69e..250790d 100644
--- a/src/xenbus/evtchn.c
+++ b/src/xenbus/evtchn.c
@@ -886,16 +886,6 @@ done:
     return Pending;
 }
 
-static VOID
-EvtchnUnmaskVersion4(
-    _In_ PINTERFACE             Interface,
-    _In_ PXENBUS_EVTCHN_CHANNEL Channel,
-    _In_ BOOLEAN                InUpcall
-    )
-{
-    EvtchnUnmask(Interface, Channel, InUpcall, TRUE);
-}
-
 static VOID
 EvtchnSend(
     _In_ PINTERFACE             Interface,
@@ -912,19 +902,6 @@ EvtchnSend(
         (VOID) EventChannelSend(Channel->LocalPort);
 }
 
-static VOID
-EvtchnSendVersion1(
-    _In_ PINTERFACE             Interface,
-    _In_ PXENBUS_EVTCHN_CHANNEL Channel
-    )
-{
-    KIRQL                       Irql;
-
-    KeRaiseIrql(DISPATCH_LEVEL, &Irql);
-    EvtchnSend(Interface, Channel);
-    KeLowerIrql(Irql);
-}
-
 static VOID
 EvtchnClose(
     _In_ PINTERFACE             Interface,
@@ -1067,23 +1044,6 @@ EvtchnWait(
     return status;
 }
 
-static NTSTATUS
-EvtchnWaitVersion5(
-    _In_ PINTERFACE             Interface,
-    _In_ PXENBUS_EVTCHN_CHANNEL Channel,
-    _In_ PLARGE_INTEGER         Timeout
-    )
-{
-    ULONG                       Count;
-
-    Count = EvtchnGetCount(Interface, Channel);
-
-    return EvtchnWait(Interface,
-                      Channel,
-                      Count + 1,
-                      Timeout);
-}
-
 _Function_class_(KSERVICE_ROUTINE)
 _IRQL_requires_(HIGH_LEVEL)
 _IRQL_requires_same_
@@ -1816,64 +1776,6 @@ done:
     KeReleaseSpinLock(&Context->Lock, Irql);
 }
 
-static struct _XENBUS_EVTCHN_INTERFACE_V5 EvtchnInterfaceVersion5 = {
-    { sizeof (struct _XENBUS_EVTCHN_INTERFACE_V5), 5, NULL, NULL, NULL },
-    EvtchnAcquire,
-    EvtchnRelease,
-    EvtchnOpen,
-    EvtchnBind,
-    EvtchnUnmaskVersion4,
-    EvtchnSendVersion1,
-    EvtchnTrigger,
-    EvtchnWaitVersion5,
-    EvtchnGetPort,
-    EvtchnClose,
-};
-
-static struct _XENBUS_EVTCHN_INTERFACE_V6 EvtchnInterfaceVersion6 = {
-    { sizeof (struct _XENBUS_EVTCHN_INTERFACE_V6), 6, NULL, NULL, NULL },
-    EvtchnAcquire,
-    EvtchnRelease,
-    EvtchnOpen,
-    EvtchnBind,
-    EvtchnUnmaskVersion4,
-    EvtchnSend,
-    EvtchnTrigger,
-    EvtchnWaitVersion5,
-    EvtchnGetPort,
-    EvtchnClose,
-};
-
-static struct _XENBUS_EVTCHN_INTERFACE_V7 EvtchnInterfaceVersion7 = {
-    { sizeof (struct _XENBUS_EVTCHN_INTERFACE_V7), 7, NULL, NULL, NULL },
-    EvtchnAcquire,
-    EvtchnRelease,
-    EvtchnOpen,
-    EvtchnBind,
-    EvtchnUnmaskVersion4,
-    EvtchnSend,
-    EvtchnTrigger,
-    EvtchnGetCount,
-    EvtchnWait,
-    EvtchnGetPort,
-    EvtchnClose,
-};
-
-static struct _XENBUS_EVTCHN_INTERFACE_V8 EvtchnInterfaceVersion8 = {
-    { sizeof (struct _XENBUS_EVTCHN_INTERFACE_V8), 8, NULL, NULL, NULL },
-    EvtchnAcquire,
-    EvtchnRelease,
-    EvtchnOpen,
-    EvtchnBind,
-    EvtchnUnmask,
-    EvtchnSend,
-    EvtchnTrigger,
-    EvtchnGetCount,
-    EvtchnWait,
-    EvtchnGetPort,
-    EvtchnClose,
-};
-
 static struct _XENBUS_EVTCHN_INTERFACE_V9 EvtchnInterfaceVersion9 = {
     { sizeof (struct _XENBUS_EVTCHN_INTERFACE_V9), 9, NULL, NULL, NULL },
     EvtchnAcquire,
@@ -2006,74 +1908,6 @@ EvtchnGetInterface(
     ASSERT(Context != NULL);
 
     switch (Version) {
-    case 5: {
-        struct _XENBUS_EVTCHN_INTERFACE_V5  *EvtchnInterface;
-
-        EvtchnInterface = (struct _XENBUS_EVTCHN_INTERFACE_V5 *)Interface;
-
-        status = STATUS_BUFFER_OVERFLOW;
-        if (Size < sizeof (struct _XENBUS_EVTCHN_INTERFACE_V5))
-            break;
-
-        *EvtchnInterface = EvtchnInterfaceVersion5;
-
-        ASSERT3U(Interface->Version, ==, Version);
-        Interface->Context = Context;
-
-        status = STATUS_SUCCESS;
-        break;
-    }
-    case 6: {
-        struct _XENBUS_EVTCHN_INTERFACE_V6  *EvtchnInterface;
-
-        EvtchnInterface = (struct _XENBUS_EVTCHN_INTERFACE_V6 *)Interface;
-
-        status = STATUS_BUFFER_OVERFLOW;
-        if (Size < sizeof (struct _XENBUS_EVTCHN_INTERFACE_V6))
-            break;
-
-        *EvtchnInterface = EvtchnInterfaceVersion6;
-
-        ASSERT3U(Interface->Version, ==, Version);
-        Interface->Context = Context;
-
-        status = STATUS_SUCCESS;
-        break;
-    }
-    case 7: {
-        struct _XENBUS_EVTCHN_INTERFACE_V7  *EvtchnInterface;
-
-        EvtchnInterface = (struct _XENBUS_EVTCHN_INTERFACE_V7 *)Interface;
-
-        status = STATUS_BUFFER_OVERFLOW;
-        if (Size < sizeof (struct _XENBUS_EVTCHN_INTERFACE_V7))
-            break;
-
-        *EvtchnInterface = EvtchnInterfaceVersion7;
-
-        ASSERT3U(Interface->Version, ==, Version);
-        Interface->Context = Context;
-
-        status = STATUS_SUCCESS;
-        break;
-    }
-    case 8: {
-        struct _XENBUS_EVTCHN_INTERFACE_V8  *EvtchnInterface;
-
-        EvtchnInterface = (struct _XENBUS_EVTCHN_INTERFACE_V8 *)Interface;
-
-        status = STATUS_BUFFER_OVERFLOW;
-        if (Size < sizeof (struct _XENBUS_EVTCHN_INTERFACE_V8))
-            break;
-
-        *EvtchnInterface = EvtchnInterfaceVersion8;
-
-        ASSERT3U(Interface->Version, ==, Version);
-        Interface->Context = Context;
-
-        status = STATUS_SUCCESS;
-        break;
-    }
     case 9: {
         struct _XENBUS_EVTCHN_INTERFACE_V9  *EvtchnInterface;
 
diff --git a/src/xenbus/gnttab.c b/src/xenbus/gnttab.c
index 693e9b3..240d5a4 100644
--- a/src/xenbus/gnttab.c
+++ b/src/xenbus/gnttab.c
@@ -443,27 +443,6 @@ fail1:
     return status;
 }
 
-static NTSTATUS
-GnttabCreateCacheVersion1(
-    _In_ PINTERFACE                 Interface,
-    _In_ PCSTR                      Name,
-    _In_ ULONG                      Reservation,
-    _In_ VOID                       (*AcquireLock)(PVOID),
-    _In_ VOID                       (*ReleaseLock)(PVOID),
-    _In_ PVOID                      Argument,
-    _Outptr_ PXENBUS_GNTTAB_CACHE   *Cache
-    )
-{
-    return GnttabCreateCache(Interface,
-                             Name,
-                             Reservation,
-                             0,
-                             AcquireLock,
-                             ReleaseLock,
-                             Argument,
-                             Cache);
-}
-
 static VOID
 GnttabDestroyCache(
     _In_ PINTERFACE             Interface,
@@ -1038,33 +1017,6 @@ done:
     KeReleaseSpinLock(&Context->Lock, Irql);
 }
 
-static struct _XENBUS_GNTTAB_INTERFACE_V2   GnttabInterfaceVersion2 = {
-    { sizeof (struct _XENBUS_GNTTAB_INTERFACE_V2), 2, NULL, NULL, NULL },
-    GnttabAcquire,
-    GnttabRelease,
-    GnttabCreateCacheVersion1,
-    GnttabPermitForeignAccess,
-    GnttabRevokeForeignAccess,
-    GnttabGetReference,
-    GnttabDestroyCache,
-    GnttabMapForeignPages,
-    GnttabUnmapForeignPages
-};
-
-static struct _XENBUS_GNTTAB_INTERFACE_V3   GnttabInterfaceVersion3 = {
-    { sizeof (struct _XENBUS_GNTTAB_INTERFACE_V3), 3, NULL, NULL, NULL },
-    GnttabAcquire,
-    GnttabRelease,
-    GnttabCreateCacheVersion1,
-    GnttabPermitForeignAccess,
-    GnttabRevokeForeignAccess,
-    GnttabGetReference,
-    GnttabQueryReference,
-    GnttabDestroyCache,
-    GnttabMapForeignPages,
-    GnttabUnmapForeignPages
-};
-
 static struct _XENBUS_GNTTAB_INTERFACE_V4   GnttabInterfaceVersion4 = {
     { sizeof (struct _XENBUS_GNTTAB_INTERFACE_V4), 4, NULL, NULL, NULL },
     GnttabAcquire,
@@ -1158,40 +1110,6 @@ GnttabGetInterface(
     ASSERT(Context != NULL);
 
     switch (Version) {
-    case 2: {
-        struct _XENBUS_GNTTAB_INTERFACE_V2  *GnttabInterface;
-
-        GnttabInterface = (struct _XENBUS_GNTTAB_INTERFACE_V2 *)Interface;
-
-        status = STATUS_BUFFER_OVERFLOW;
-        if (Size < sizeof (struct _XENBUS_GNTTAB_INTERFACE_V2))
-            break;
-
-        *GnttabInterface = GnttabInterfaceVersion2;
-
-        ASSERT3U(Interface->Version, ==, Version);
-        Interface->Context = Context;
-
-        status = STATUS_SUCCESS;
-        break;
-    }
-    case 3: {
-        struct _XENBUS_GNTTAB_INTERFACE_V3  *GnttabInterface;
-
-        GnttabInterface = (struct _XENBUS_GNTTAB_INTERFACE_V3 *)Interface;
-
-        status = STATUS_BUFFER_OVERFLOW;
-        if (Size < sizeof (struct _XENBUS_GNTTAB_INTERFACE_V3))
-            break;
-
-        *GnttabInterface = GnttabInterfaceVersion3;
-
-        ASSERT3U(Interface->Version, ==, Version);
-        Interface->Context = Context;
-
-        status = STATUS_SUCCESS;
-        break;
-    }
     case 4: {
         struct _XENBUS_GNTTAB_INTERFACE_V4  *GnttabInterface;
 
diff --git a/src/xenbus/shared_info.c b/src/xenbus/shared_info.c
index 06e0aec..82fe766 100644
--- a/src/xenbus/shared_info.c
+++ b/src/xenbus/shared_info.c
@@ -442,18 +442,6 @@ SharedInfoGetTime(
 #undef NS_PER_S
 }
 
-static LARGE_INTEGER
-SharedInfoGetTimeVersion2(
-    _In_ PINTERFACE Interface
-    )
-{
-    LARGE_INTEGER   Time;
-
-    SharedInfoGetTime(Interface, &Time, NULL);
-
-    return Time;
-}
-
 static VOID
 SharedInfoMap(
     _In_ PXENBUS_SHARED_INFO_CONTEXT    Context
@@ -805,18 +793,6 @@ done:
     KeReleaseSpinLock(&Context->Lock, Irql);
 }
 
-static struct _XENBUS_SHARED_INFO_INTERFACE_V2 SharedInfoInterfaceVersion2 = {
-    { sizeof (struct _XENBUS_SHARED_INFO_INTERFACE_V2), 2, NULL, NULL, NULL },
-    SharedInfoAcquire,
-    SharedInfoRelease,
-    SharedInfoUpcallPending,
-    SharedInfoEvtchnPoll,
-    SharedInfoEvtchnAck,
-    SharedInfoEvtchnMask,
-    SharedInfoEvtchnUnmask,
-    SharedInfoGetTimeVersion2
-};
-
 static struct _XENBUS_SHARED_INFO_INTERFACE_V3 SharedInfoInterfaceVersion3 = {
     { sizeof (struct _XENBUS_SHARED_INFO_INTERFACE_V3), 3, NULL, NULL, NULL },
     SharedInfoAcquire,
@@ -899,23 +875,6 @@ SharedInfoGetInterface(
     ASSERT(Context != NULL);
 
     switch (Version) {
-    case 2: {
-        struct _XENBUS_SHARED_INFO_INTERFACE_V2 *SharedInfoInterface;
-
-        SharedInfoInterface = (struct _XENBUS_SHARED_INFO_INTERFACE_V2 
*)Interface;
-
-        status = STATUS_BUFFER_OVERFLOW;
-        if (Size < sizeof (struct _XENBUS_SHARED_INFO_INTERFACE_V2))
-            break;
-
-        *SharedInfoInterface = SharedInfoInterfaceVersion2;
-
-        ASSERT3U(Interface->Version, ==, Version);
-        Interface->Context = Context;
-
-        status = STATUS_SUCCESS;
-        break;
-    }
     case 3: {
         struct _XENBUS_SHARED_INFO_INTERFACE_V3 *SharedInfoInterface;
 
diff --git a/src/xenfilt/emulated.c b/src/xenfilt/emulated.c
index 9065364..ca358c7 100644
--- a/src/xenfilt/emulated.c
+++ b/src/xenfilt/emulated.c
@@ -390,26 +390,6 @@ EmulatedIsDiskPresent(
     return (ListEntry != &Context->List) ? TRUE : FALSE;
 }
 
-static BOOLEAN
-EmulatedIsDiskPresentVersion1(
-    _In_ PINTERFACE             Interface,
-    _In_ ULONG                  Controller,
-    _In_ ULONG                  Target,
-    _In_ ULONG                  Lun
-    )
-{
-    UNREFERENCED_PARAMETER(Controller);
-    UNREFERENCED_PARAMETER(Lun);
-
-    //
-    // XENVBD erroneously passes the disk number of the PV disk as
-    // the IDE target number (i.e. in can pass a value > 1), with
-    // Controller always set to 0. So, simply treat the Target argument
-    // as the PV disk number and call the new method.
-    //
-    return EmulatedIsDiskPresent(Interface, Target);
-}
-
 NTSTATUS
 EmulatedAcquire(
     _In_ PINTERFACE             Interface
@@ -450,14 +430,6 @@ done:
     KeReleaseSpinLock(&Context->Lock, Irql);
 }
 
-static struct _XENFILT_EMULATED_INTERFACE_V1 EmulatedInterfaceVersion1 = {
-    { sizeof (struct _XENFILT_EMULATED_INTERFACE_V1), 1, NULL, NULL, NULL },
-    EmulatedAcquire,
-    EmulatedRelease,
-    EmulatedIsDevicePresent,
-    EmulatedIsDiskPresentVersion1
-};
-
 static struct _XENFILT_EMULATED_INTERFACE_V2 EmulatedInterfaceVersion2 = {
     { sizeof (struct _XENFILT_EMULATED_INTERFACE_V2), 2, NULL, NULL, NULL },
     EmulatedAcquire,
@@ -507,23 +479,6 @@ EmulatedGetInterface(
     ASSERT(Context != NULL);
 
     switch (Version) {
-    case 1: {
-        struct _XENFILT_EMULATED_INTERFACE_V1   *EmulatedInterface;
-
-        EmulatedInterface = (struct _XENFILT_EMULATED_INTERFACE_V1 *)Interface;
-
-        status = STATUS_BUFFER_OVERFLOW;
-        if (Size < sizeof (struct _XENFILT_EMULATED_INTERFACE_V1))
-            break;
-
-        *EmulatedInterface = EmulatedInterfaceVersion1;
-
-        ASSERT3U(Interface->Version, ==, Version);
-        Interface->Context = Context;
-
-        status = STATUS_SUCCESS;
-        break;
-    }
     case 2: {
         struct _XENFILT_EMULATED_INTERFACE_V2   *EmulatedInterface;
 
-- 
2.50.1.windows.1



Ngoc Tu Dinh | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech




 


Rackspace

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