[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [win-pv-devel] [PATCH] Update GNTTAB interface header
> -----Original Message----- > From: win-pv-devel [mailto:win-pv-devel-bounces@xxxxxxxxxxxxxxxxxxxx] On > Behalf Of Owen Smith > Sent: 25 June 2018 11:04 > To: win-pv-devel@xxxxxxxxxxxxxxxxxxxx > Cc: Owen Smith <owen.smith@xxxxxxxxxx> > Subject: [win-pv-devel] [PATCH] Update GNTTAB interface header > > Also updates revision to 09000004 > > Signed-off-by: Owen Smith <owen.smith@xxxxxxxxxx> Reviewed-by: Paul Durrant <paul.durrant@xxxxxxxxxx> > --- > include/gnttab_interface.h | 92 > +++++++++++++++++++++++++++++++++++++++++++++- > src/xenvif.inf | 6 +-- > 2 files changed, 93 insertions(+), 5 deletions(-) > > diff --git a/include/gnttab_interface.h b/include/gnttab_interface.h > index d29440a..61272ab 100644 > --- a/include/gnttab_interface.h > +++ b/include/gnttab_interface.h > @@ -148,6 +148,26 @@ typedef ULONG > IN PXENBUS_GNTTAB_ENTRY Entry > ); > > +/*! \typedef XENBUS_GNTTAB_QUERY_REFERENCE > + \brief Get the reference number of the entry > + > + \param Interface The interface header > + \param Reference The reference number > + \param Pfn An optional pointer to receive the value of the reference > frame number > + \param ReadOnly An optional pointer to receive the boolean value of the > read-only flag > +*/ > +typedef NTSTATUS > +(*XENBUS_GNTTAB_QUERY_REFERENCE)( > + IN PINTERFACE Interface, > + IN ULONG Reference, > + OUT PPFN_NUMBER Pfn OPTIONAL, > + OUT PBOOLEAN ReadOnly OPTIONAL > + ); > + > +#define XENBUS_GNTTAB_CONSOLE_REFERENCE 0 > +#define XENBUS_GNTTAB_STORE_REFERENCE 1 > + > + > /*! \typedef XENBUS_GNTTAB_DESTROY_CACHE > \brief Destroy a cache of grant table entries > > @@ -163,6 +183,39 @@ typedef VOID > IN PXENBUS_GNTTAB_CACHE Cache > ); > > +/*! \typedef XENBUS_GNTTAB_MAP_FOREIGN_PAGES > + \brief Map foreign memory pages into the system address space > + > + \param Interface The interface header > + \param Domain The domid of the foreign domain that granted the pages > + \param NumberPages Number of pages to map > + \param References Array of grant reference numbers shared by the > foreign domain > + \param ReadOnly If TRUE, pages are mapped with read-only access > + \param Address The physical address that the foreign pages are mapped > under > +*/ > + > +typedef NTSTATUS > +(*XENBUS_GNTTAB_MAP_FOREIGN_PAGES)( > + IN PINTERFACE Interface, > + IN USHORT Domain, > + IN ULONG NumberPages, > + IN PULONG References, > + IN BOOLEAN ReadOnly, > + OUT PHYSICAL_ADDRESS *Address > + ); > + > +/*! \typedef XENBUS_GNTTAB_UNMAP_FOREIGN_PAGES > + \brief Unmap foreign memory pages from the system address space > + > + \param Interface The interface header > + \param Address The physical address that the foreign pages are mapped > under > +*/ > +typedef NTSTATUS > +(*XENBUS_GNTTAB_UNMAP_FOREIGN_PAGES)( > + IN PINTERFACE Interface, > + IN PHYSICAL_ADDRESS Address > + ); > + > // {763679C5-E5C2-4A6D-8B88-6BB02EC42D8E} > DEFINE_GUID(GUID_XENBUS_GNTTAB_INTERFACE, > 0x763679c5, 0xe5c2, 0x4a6d, 0x8b, 0x88, 0x6b, 0xb0, 0x2e, 0xc4, 0x2d, 0x8e); > @@ -182,7 +235,42 @@ struct _XENBUS_GNTTAB_INTERFACE_V1 { > XENBUS_GNTTAB_DESTROY_CACHE GnttabDestroyCache; > }; > > -typedef struct _XENBUS_GNTTAB_INTERFACE_V1 > XENBUS_GNTTAB_INTERFACE, *PXENBUS_GNTTAB_INTERFACE; > +/*! \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 GnttabCreateCache; > + 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 GnttabCreateCache; > + 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; > +}; > + > +typedef struct _XENBUS_GNTTAB_INTERFACE_V3 > XENBUS_GNTTAB_INTERFACE, *PXENBUS_GNTTAB_INTERFACE; > > /*! \def XENBUS_GNTTAB > \brief Macro at assist in method invocation > @@ -193,7 +281,7 @@ typedef struct _XENBUS_GNTTAB_INTERFACE_V1 > XENBUS_GNTTAB_INTERFACE, *PXENBUS_GNT > #endif // _WINDLL > > #define XENBUS_GNTTAB_INTERFACE_VERSION_MIN 1 > -#define XENBUS_GNTTAB_INTERFACE_VERSION_MAX 1 > +#define XENBUS_GNTTAB_INTERFACE_VERSION_MAX 3 > > #endif // _XENBUS_GNTTAB_INTERFACE_H > > diff --git a/src/xenvif.inf b/src/xenvif.inf > index ef4e9bc..a1d9301 100644 > --- a/src/xenvif.inf > +++ b/src/xenvif.inf > @@ -59,9 +59,9 @@ > xenvif_coinst_@MAJOR_VERSION@_@MINOR_VERSION@_@MICRO_VERS > ION@_@BUILD_NUMBER@.dll > ; DisplayName Section DeviceID > ; ----------- ------- -------- > > -%XenVifName% =XenVif_Inst, > XENBUS\VEN_@VENDOR_PREFIX@@VENDOR_DEVICE_ID@&DEV_ > VIF&REV_09000003 > -%XenVifName% =XenVif_Inst, > XENBUS\VEN_@VENDOR_PREFIX@0001&DEV_VIF&REV_09000003 > -%XenVifName% =XenVif_Inst, > XENBUS\VEN_@VENDOR_PREFIX@0002&DEV_VIF&REV_09000003 > +%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 > > [XenVif_Inst] > CopyFiles=XenVif_Copyfiles > -- > 2.16.2.windows.1 > > > _______________________________________________ > win-pv-devel mailing list > win-pv-devel@xxxxxxxxxxxxxxxxxxxx > https://lists.xenproject.org/mailman/listinfo/win-pv-devel _______________________________________________ win-pv-devel mailing list win-pv-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/win-pv-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |