From: Paul Durrant Date: Mon, 22 Feb 2021 11:05:28 +0000 (+0000) Subject: Bring XENBUS interface versions up to date... X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=7fb99a6e9d045cf289c5fc3f02170408915a17c4;p=pvdrivers%2Fwin%2Fxeniface.git Bring XENBUS interface versions up to date... ... and amend binding accordingly. Signed-off-by: Paul Durrant --- diff --git a/include/evtchn_interface.h b/include/evtchn_interface.h index 76a9256..dbe8745 100644 --- a/include/evtchn_interface.h +++ b/include/evtchn_interface.h @@ -100,6 +100,8 @@ typedef VOID \b VIRQ: \param Index The index number of the VIRQ + \param Group The group number of the CPU that should handle the VIRQ + \param Number The relative number of the CPU that should handle the VIRQ \return Event channel handle */ @@ -249,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 @@ -340,7 +325,26 @@ struct _XENBUS_EVTCHN_INTERFACE_V8 { XENBUS_EVTCHN_CLOSE EvtchnClose; }; -typedef struct _XENBUS_EVTCHN_INTERFACE_V8 XENBUS_EVTCHN_INTERFACE, *PXENBUS_EVTCHN_INTERFACE; +/*! \struct _XENBUS_EVTCHN_INTERFACE_V9 + \brief EVTCHN interface version 9 + \ingroup interfaces +*/ +struct _XENBUS_EVTCHN_INTERFACE_V9 { + 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; +}; + +typedef struct _XENBUS_EVTCHN_INTERFACE_V9 XENBUS_EVTCHN_INTERFACE, *PXENBUS_EVTCHN_INTERFACE; /*! \def XENBUS_EVTCHN \brief Macro at assist in method invocation @@ -350,7 +354,7 @@ typedef struct _XENBUS_EVTCHN_INTERFACE_V8 XENBUS_EVTCHN_INTERFACE, *PXENBUS_EVT #endif // _WINDLL -#define XENBUS_EVTCHN_INTERFACE_VERSION_MIN 4 -#define XENBUS_EVTCHN_INTERFACE_VERSION_MAX 8 +#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 48a555a..865c4f3 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/shared_info_interface.h b/include/shared_info_interface.h index f99bcb6..27910b0 100644 --- a/include/shared_info_interface.h +++ b/include/shared_info_interface.h @@ -60,6 +60,15 @@ typedef VOID IN PINTERFACE Interface ); +/*! \typedef XENBUS_SHARED_INFO_UPCALL_SUPPORTED + \brief Private method for EVTCHN inerface +*/ +typedef BOOLEAN +(*XENBUS_SHARED_INFO_UPCALL_SUPPORTED)( + IN PINTERFACE Interface, + IN ULONG Index + ); + /*! \typedef XENBUS_SHARED_INFO_UPCALL_PENDING \brief Private method for EVTCHN inerface */ @@ -168,7 +177,24 @@ struct _XENBUS_SHARED_INFO_INTERFACE_V3 { XENBUS_SHARED_INFO_GET_TIME SharedInfoGetTime; }; -typedef struct _XENBUS_SHARED_INFO_INTERFACE_V3 XENBUS_SHARED_INFO_INTERFACE, *PXENBUS_SHARED_INFO_INTERFACE; +/*! \struct _XENBUS_SHARED_INFO_INTERFACE_V4 + \brief SHARED_INFO interface version 4 + \ingroup interfaces +*/ +struct _XENBUS_SHARED_INFO_INTERFACE_V4 { + INTERFACE Interface; + XENBUS_SHARED_INFO_ACQUIRE SharedInfoAcquire; + XENBUS_SHARED_INFO_RELEASE SharedInfoRelease; + XENBUS_SHARED_INFO_UPCALL_SUPPORTED SharedInfoUpcallSupported; + 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 SharedInfoGetTime; +}; + +typedef struct _XENBUS_SHARED_INFO_INTERFACE_V4 XENBUS_SHARED_INFO_INTERFACE, *PXENBUS_SHARED_INFO_INTERFACE; /*! \def XENBUS_SHARED_INFO \brief Macro at assist in method invocation @@ -179,6 +205,6 @@ typedef struct _XENBUS_SHARED_INFO_INTERFACE_V3 XENBUS_SHARED_INFO_INTERFACE, *P #endif // _WINDLL #define XENBUS_SHARED_INFO_INTERFACE_VERSION_MIN 2 -#define XENBUS_SHARED_INFO_INTERFACE_VERSION_MAX 3 +#define XENBUS_SHARED_INFO_INTERFACE_VERSION_MAX 4 #endif // _XENBUS_SHARED_INFO_H diff --git a/include/store_interface.h b/include/store_interface.h index 52f1a1d..e1251dd 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/xeniface.inf b/src/xeniface.inf index 14ebdb2..8968d6e 100644 --- a/src/xeniface.inf +++ b/src/xeniface.inf @@ -49,9 +49,9 @@ ServiceDestDir.Copy = 11 ; DisplayName Section DeviceID ; ----------- ------- -------- -%XenIfaceDevice.DeviceDesc% =XenIface_Device, XENBUS\VEN_@VENDOR_PREFIX@@VENDOR_DEVICE_ID@&DEV_IFACE&REV_09000006 -%XenIfaceDevice.DeviceDesc% =XenIface_Device, XENBUS\VEN_@VENDOR_PREFIX@0001&DEV_IFACE&REV_09000006 -%XenIfaceDevice.DeviceDesc% =XenIface_Device, XENBUS\VEN_@VENDOR_PREFIX@0002&DEV_IFACE&REV_09000006 +%XenIfaceDevice.DeviceDesc% =XenIface_Device, XENBUS\VEN_@VENDOR_PREFIX@@VENDOR_DEVICE_ID@&DEV_IFACE&REV_09000009 +%XenIfaceDevice.DeviceDesc% =XenIface_Device, XENBUS\VEN_@VENDOR_PREFIX@0001&DEV_IFACE&REV_09000009 +%XenIfaceDevice.DeviceDesc% =XenIface_Device, XENBUS\VEN_@VENDOR_PREFIX@0002&DEV_IFACE&REV_09000009 [XenIface_Device] CopyFiles=XenIface_Device.Copy