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

[PATCH xenbus 7/8] Retire PDO versions 08000009 thru 0800000B



From: Paul Durrant <pdurrant@xxxxxxxxxx>

These are the last of the v8 PDO versions. The v9 drivers have been available
for a long time now so these versions can be retired. This allows support for
XENBUS_EVTCHN v4, XENBUS_STORE v1 and XENBUS_GNTTAB v1 interfaces to be
removed.

NOTE: Without this patch then adding new interface versions is essentially
      blocked, as a single extra PDO revision will trigger an assertion in
      PdoQueryId() in XENBUS because the length of the buffer for
      'BusQueryCompatibleIDs' will exceed REGSTR_VAL_MAX_HCID_LEN (1024).

Signed-off-by: Paul Durrant <pdurrant@xxxxxxxxxx>
---
 include/evtchn_interface.h | 19 +------------------
 include/gnttab_interface.h | 17 +----------------
 include/revision.h         |  3 ---
 include/store_interface.h  | 22 +---------------------
 src/xenbus/evtchn.c        | 30 ------------------------------
 src/xenbus/gnttab.c        | 28 ----------------------------
 src/xenbus/store.c         | 33 ---------------------------------
 7 files changed, 3 insertions(+), 149 deletions(-)

diff --git a/include/evtchn_interface.h b/include/evtchn_interface.h
index fffde05bf1da..05c342e50db8 100644
--- a/include/evtchn_interface.h
+++ b/include/evtchn_interface.h
@@ -251,23 +251,6 @@ typedef VOID
 DEFINE_GUID(GUID_XENBUS_EVTCHN_INTERFACE, 
 0xbe2440ac, 0x1098, 0x4150, 0xaf, 0x4d, 0x45, 0x2f, 0xad, 0xce, 0xf9, 0x23);
 
-/*! \struct _XENBUS_EVTCHN_INTERFACE_V4
-    \brief EVTCHN interface version 4
-    \ingroup interfaces
-*/
-struct _XENBUS_EVTCHN_INTERFACE_V4 {
-    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_GET_PORT  EvtchnGetPort;
-    XENBUS_EVTCHN_CLOSE     EvtchnClose;
-};
-
 /*! \struct _XENBUS_EVTCHN_INTERFACE_V5
     \brief EVTCHN interface version 5
     \ingroup interfaces
@@ -371,7 +354,7 @@ typedef struct _XENBUS_EVTCHN_INTERFACE_V9 
XENBUS_EVTCHN_INTERFACE, *PXENBUS_EVT
 
 #endif  // _WINDLL
 
-#define XENBUS_EVTCHN_INTERFACE_VERSION_MIN 4
+#define XENBUS_EVTCHN_INTERFACE_VERSION_MIN 5
 #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 c34dbd03bfc4..e3ee888bd979 100644
--- a/include/gnttab_interface.h
+++ b/include/gnttab_interface.h
@@ -233,21 +233,6 @@ typedef NTSTATUS
 DEFINE_GUID(GUID_XENBUS_GNTTAB_INTERFACE, 
 0x763679c5, 0xe5c2, 0x4a6d, 0x8b, 0x88, 0x6b, 0xb0, 0x2e, 0xc4, 0x2d, 0x8e);
 
-/*! \struct _XENBUS_GNTTAB_INTERFACE_V1
-    \brief GNTTAB interface version 1
-    \ingroup interfaces
-*/
-struct _XENBUS_GNTTAB_INTERFACE_V1 {
-    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;
-};
-
 /*! \struct _XENBUS_GNTTAB_INTERFACE_V2
     \brief GNTTAB interface version 2
     \ingroup interfaces
@@ -311,7 +296,7 @@ typedef struct _XENBUS_GNTTAB_INTERFACE_V4 
XENBUS_GNTTAB_INTERFACE, *PXENBUS_GNT
 
 #endif  // _WINDLL
 
-#define XENBUS_GNTTAB_INTERFACE_VERSION_MIN 1
+#define XENBUS_GNTTAB_INTERFACE_VERSION_MIN 2
 #define XENBUS_GNTTAB_INTERFACE_VERSION_MAX 4
 
 #endif  // _XENBUS_GNTTAB_INTERFACE_H
diff --git a/include/revision.h b/include/revision.h
index 3a6b398e93a3..fe4661b42082 100644
--- a/include/revision.h
+++ b/include/revision.h
@@ -47,9 +47,6 @@
 
 //                    REVISION   S  SI   E   D  ST   R   C   G   U  CO  EM
 #define DEFINE_REVISION_TABLE                                                \
-    DEFINE_REVISION(0x08000009,  1,  2,  4,  1,  1,  1,  1,  1,  1,  0,  1), \
-    DEFINE_REVISION(0x0800000A,  1,  2,  5,  1,  1,  1,  1,  1,  1,  0,  1), \
-    DEFINE_REVISION(0x0800000B,  1,  2,  5,  1,  2,  1,  1,  2,  1,  0,  1), \
     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), \
diff --git a/include/store_interface.h b/include/store_interface.h
index 52f1a1dde592..e1251dd1369f 100644
--- a/include/store_interface.h
+++ b/include/store_interface.h
@@ -290,26 +290,6 @@ typedef NTSTATUS
 DEFINE_GUID(GUID_XENBUS_STORE_INTERFACE, 
 0x86824c3b, 0xd34e, 0x4753, 0xb2, 0x81, 0x2f, 0x1e, 0x3a, 0xd2, 0x14, 0xd7);
 
-/*! \struct _XENBUS_STORE_INTERFACE_V1
-    \brief STORE interface version 1
-    \ingroup interfaces
-*/
-struct _XENBUS_STORE_INTERFACE_V1 {
-    INTERFACE                       Interface;
-    XENBUS_STORE_ACQUIRE            StoreAcquire;
-    XENBUS_STORE_RELEASE            StoreRelease;
-    XENBUS_STORE_FREE               StoreFree;
-    XENBUS_STORE_READ               StoreRead;
-    XENBUS_STORE_PRINTF             StorePrintf;
-    XENBUS_STORE_REMOVE             StoreRemove;
-    XENBUS_STORE_DIRECTORY          StoreDirectory;
-    XENBUS_STORE_TRANSACTION_START  StoreTransactionStart;
-    XENBUS_STORE_TRANSACTION_END    StoreTransactionEnd;
-    XENBUS_STORE_WATCH_ADD          StoreWatchAdd;
-    XENBUS_STORE_WATCH_REMOVE       StoreWatchRemove;
-    XENBUS_STORE_POLL               StorePoll;
-};
-
 /*! \struct _XENBUS_STORE_INTERFACE_V2
     \brief STORE interface version 2
     \ingroup interfaces
@@ -341,7 +321,7 @@ typedef struct _XENBUS_STORE_INTERFACE_V2 
XENBUS_STORE_INTERFACE, *PXENBUS_STORE
 
 #endif  // _WINDLL
 
-#define XENBUS_STORE_INTERFACE_VERSION_MIN  1
+#define XENBUS_STORE_INTERFACE_VERSION_MIN  2
 #define XENBUS_STORE_INTERFACE_VERSION_MAX  2
 
 #endif  // _XENBUS_STORE_INTERFACE_H
diff --git a/src/xenbus/evtchn.c b/src/xenbus/evtchn.c
index 97664524e737..cb0e8e54fb29 100644
--- a/src/xenbus/evtchn.c
+++ b/src/xenbus/evtchn.c
@@ -1811,19 +1811,6 @@ done:
     KeReleaseSpinLock(&Context->Lock, Irql);
 }
 
-static struct _XENBUS_EVTCHN_INTERFACE_V4 EvtchnInterfaceVersion4 = {
-    { sizeof (struct _XENBUS_EVTCHN_INTERFACE_V4), 4, NULL, NULL, NULL },
-    EvtchnAcquire,
-    EvtchnRelease,
-    EvtchnOpen,
-    EvtchnBind,
-    EvtchnUnmaskVersion4,
-    EvtchnSendVersion1,
-    EvtchnTrigger,
-    EvtchnGetPort,
-    EvtchnClose
-};
-
 static struct _XENBUS_EVTCHN_INTERFACE_V5 EvtchnInterfaceVersion5 = {
     { sizeof (struct _XENBUS_EVTCHN_INTERFACE_V5), 5, NULL, NULL, NULL },
     EvtchnAcquire,
@@ -2014,23 +2001,6 @@ EvtchnGetInterface(
     ASSERT(Context != NULL);
 
     switch (Version) {
-    case 4: {
-        struct _XENBUS_EVTCHN_INTERFACE_V4  *EvtchnInterface;
-
-        EvtchnInterface = (struct _XENBUS_EVTCHN_INTERFACE_V4 *)Interface;
-
-        status = STATUS_BUFFER_OVERFLOW;
-        if (Size < sizeof (struct _XENBUS_EVTCHN_INTERFACE_V4))
-            break;
-
-        *EvtchnInterface = EvtchnInterfaceVersion4;
-
-        ASSERT3U(Interface->Version, ==, Version);
-        Interface->Context = Context;
-
-        status = STATUS_SUCCESS;
-        break;
-    }
     case 5: {
         struct _XENBUS_EVTCHN_INTERFACE_V5  *EvtchnInterface;
 
diff --git a/src/xenbus/gnttab.c b/src/xenbus/gnttab.c
index 3fe52aacf7ab..33373c2e127c 100644
--- a/src/xenbus/gnttab.c
+++ b/src/xenbus/gnttab.c
@@ -979,17 +979,6 @@ done:
     KeReleaseSpinLock(&Context->Lock, Irql);
 }
 
-static struct _XENBUS_GNTTAB_INTERFACE_V1   GnttabInterfaceVersion1 = {
-    { sizeof (struct _XENBUS_GNTTAB_INTERFACE_V1), 1, NULL, NULL, NULL },
-    GnttabAcquire,
-    GnttabRelease,
-    GnttabCreateCacheVersion1,
-    GnttabPermitForeignAccess,
-    GnttabRevokeForeignAccess,
-    GnttabGetReference,
-    GnttabDestroyCache
-};
-                     
 static struct _XENBUS_GNTTAB_INTERFACE_V2   GnttabInterfaceVersion2 = {
     { sizeof (struct _XENBUS_GNTTAB_INTERFACE_V2), 2, NULL, NULL, NULL },
     GnttabAcquire,
@@ -1110,23 +1099,6 @@ GnttabGetInterface(
     ASSERT(Context != NULL);
 
     switch (Version) {
-    case 1: {
-        struct _XENBUS_GNTTAB_INTERFACE_V1  *GnttabInterface;
-
-        GnttabInterface = (struct _XENBUS_GNTTAB_INTERFACE_V1 *)Interface;
-
-        status = STATUS_BUFFER_OVERFLOW;
-        if (Size < sizeof (struct _XENBUS_GNTTAB_INTERFACE_V1))
-            break;
-
-        *GnttabInterface = GnttabInterfaceVersion1;
-
-        ASSERT3U(Interface->Version, ==, Version);
-        Interface->Context = Context;
-
-        status = STATUS_SUCCESS;
-        break;
-    }
     case 2: {
         struct _XENBUS_GNTTAB_INTERFACE_V2  *GnttabInterface;
 
diff --git a/src/xenbus/store.c b/src/xenbus/store.c
index 570b8b5191d9..2f9f36524963 100644
--- a/src/xenbus/store.c
+++ b/src/xenbus/store.c
@@ -2639,22 +2639,6 @@ done:
     KeReleaseSpinLock(&Context->Lock, Irql);
 }
 
-static struct _XENBUS_STORE_INTERFACE_V1 StoreInterfaceVersion1 = {
-    { sizeof (struct _XENBUS_STORE_INTERFACE_V1), 1, NULL, NULL, NULL },
-    StoreAcquire,
-    StoreRelease,
-    StoreFree,
-    StoreRead,
-    StorePrintf,
-    StoreRemove,
-    StoreDirectory,
-    StoreTransactionStart,
-    StoreTransactionEnd,
-    StoreWatchAdd,
-    StoreWatchRemove,
-    StorePoll
-};
-                     
 static struct _XENBUS_STORE_INTERFACE_V2 StoreInterfaceVersion2 = {
     { sizeof (struct _XENBUS_STORE_INTERFACE_V2), 2, NULL, NULL, NULL },
     StoreAcquire,
@@ -2800,23 +2784,6 @@ StoreGetInterface(
     ASSERT(Context != NULL);
 
     switch (Version) {
-    case 1: {
-        struct _XENBUS_STORE_INTERFACE_V1  *StoreInterface;
-
-        StoreInterface = (struct _XENBUS_STORE_INTERFACE_V1 *)Interface;
-
-        status = STATUS_BUFFER_OVERFLOW;
-        if (Size < sizeof (struct _XENBUS_STORE_INTERFACE_V1))
-            break;
-
-        *StoreInterface = StoreInterfaceVersion1;
-
-        ASSERT3U(Interface->Version, ==, Version);
-        Interface->Context = Context;
-
-        status = STATUS_SUCCESS;
-        break;
-    }
     case 2: {
         struct _XENBUS_STORE_INTERFACE_V2  *StoreInterface;
 
-- 
2.17.1




 


Rackspace

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