[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [win-pv-devel] [PATCH 2/4] Make XENBUS_CONSOLE interface available to other drivers
This patch adds the interface to the set of that may be queried via the PDO. Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx> --- include/revision.h | 16 +++++++++------- src/coinst/coinst.c | 2 +- src/xenbus/fdo.h | 7 +++++++ src/xenbus/pdo.c | 16 ++++++++++++++-- 4 files changed, 31 insertions(+), 10 deletions(-) diff --git a/include/revision.h b/include/revision.h index 5e39e20..2aa7dc5 100644 --- a/include/revision.h +++ b/include/revision.h @@ -41,14 +41,16 @@ // R - XENBUS_RANGE_SET_INTERFACE // C - XENBUS_CACHE_INTERFACE // G - XENBUS_GNTTAB_INTERFACE +// U - XENBUS_UNPLUG_INTERFACE +// CO - XENBUS_CONSOLE_INTERFACE // EM - XENFILT_EMULATED_INTERFACE -// REVISION S SI E D ST R C G U EM -#define DEFINE_REVISION_TABLE \ - DEFINE_REVISION(0x08000009, 1, 2, 4, 1, 1, 1, 1, 1, 1, 1), \ - DEFINE_REVISION(0x0800000A, 1, 2, 5, 1, 1, 1, 1, 1, 1, 1), \ - DEFINE_REVISION(0x0800000B, 1, 2, 5, 1, 2, 1, 1, 2, 1, 1), \ - DEFINE_REVISION(0x09000000, 1, 2, 5, 1, 2, 1, 1, 2, 1, 1), \ - DEFINE_REVISION(0x09000001, 1, 2, 6, 1, 2, 1, 1, 2, 1, 1) +// 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) #endif // _REVISION_H diff --git a/src/coinst/coinst.c b/src/coinst/coinst.c index 89d52d0..f19d108 100644 --- a/src/coinst/coinst.c +++ b/src/coinst/coinst.c @@ -981,7 +981,7 @@ fail1: return FALSE; } -#define DEFINE_REVISION(_N, _S, _SI, _E, _D, _ST, _R, _C, _G, _U, _EM) \ +#define DEFINE_REVISION(_N, _S, _SI, _E, _D, _ST, _R, _C, _G, _U, _CO, _EM) \ (_N) static DWORD DeviceRevision[] = { diff --git a/src/xenbus/fdo.h b/src/xenbus/fdo.h index 9e9b599..90f81ac 100644 --- a/src/xenbus/fdo.h +++ b/src/xenbus/fdo.h @@ -259,6 +259,13 @@ FdoGetUnplugContext( IN PXENBUS_FDO Fdo ); +#include "console.h" + +extern PXENBUS_CONSOLE_CONTEXT +FdoGetConsoleContext( + IN PXENBUS_FDO Fdo + ); + extern NTSTATUS FdoDispatch( IN PXENBUS_FDO Fdo, diff --git a/src/xenbus/pdo.c b/src/xenbus/pdo.c index 48ba84e..efd29dc 100644 --- a/src/xenbus/pdo.c +++ b/src/xenbus/pdo.c @@ -363,11 +363,12 @@ typedef struct _XENBUS_PDO_REVISION { ULONG CacheInterfaceVersion; ULONG GnttabInterfaceVersion; ULONG UnplugInterfaceVersion; + ULONG ConsoleInterfaceVersion; ULONG EmulatedInterfaceVersion; } XENBUS_PDO_REVISION, *PXENBUS_PDO_REVISION; -#define DEFINE_REVISION(_N, _S, _SI, _E, _D, _ST, _R, _C, _G, _U, _EM) \ - { (_N), (_S), (_SI), (_E), (_D), (_ST), (_R), (_C), (_G), (_U), (_EM) } +#define DEFINE_REVISION(_N, _S, _SI, _E, _D, _ST, _R, _C, _G, _U, _CO, _EM) \ + { (_N), (_S), (_SI), (_E), (_D), (_ST), (_R), (_C), (_G), (_U), (_CO), (_EM) } static XENBUS_PDO_REVISION PdoRevision[] = { DEFINE_REVISION_TABLE @@ -432,6 +433,13 @@ PdoDumpRevisions( ASSERT(IMPLY(Index == ARRAYSIZE(PdoRevision) - 1, Revision->UnplugInterfaceVersion == XENBUS_UNPLUG_INTERFACE_VERSION_MAX)); + ASSERT(IMPLY(Revision->ConsoleInterfaceVersion != 0, + Revision->ConsoleInterfaceVersion >= XENBUS_CONSOLE_INTERFACE_VERSION_MIN)); + ASSERT(IMPLY(Revision->ConsoleInterfaceVersion != 0, + Revision->ConsoleInterfaceVersion <= XENBUS_CONSOLE_INTERFACE_VERSION_MAX)); + ASSERT(IMPLY(Index == ARRAYSIZE(PdoRevision) - 1, + Revision->ConsoleInterfaceVersion == XENBUS_CONSOLE_INTERFACE_VERSION_MAX)); + ASSERT3U(Revision->EmulatedInterfaceVersion, >=, XENFILT_EMULATED_INTERFACE_VERSION_MIN); ASSERT3U(Revision->EmulatedInterfaceVersion, <=, XENFILT_EMULATED_INTERFACE_VERSION_MAX); ASSERT(IMPLY(Index == ARRAYSIZE(PdoRevision) - 1, @@ -447,6 +455,7 @@ PdoDumpRevisions( "CACHE v%u " "GNTTAB v%u " "UNPLUG v%u " + "CONSOLE v%u " "EMULATED v%u\n", Revision->Number, Revision->SuspendInterfaceVersion, @@ -458,6 +467,7 @@ PdoDumpRevisions( Revision->CacheInterfaceVersion, Revision->GnttabInterfaceVersion, Revision->UnplugInterfaceVersion, + Revision->ConsoleInterfaceVersion, Revision->EmulatedInterfaceVersion); } } @@ -1023,6 +1033,7 @@ DEFINE_PDO_QUERY_INTERFACE(RangeSet) DEFINE_PDO_QUERY_INTERFACE(Cache) DEFINE_PDO_QUERY_INTERFACE(Gnttab) DEFINE_PDO_QUERY_INTERFACE(Unplug) +DEFINE_PDO_QUERY_INTERFACE(Console) struct _INTERFACE_ENTRY { const GUID *Guid; @@ -1041,6 +1052,7 @@ static struct _INTERFACE_ENTRY PdoInterfaceTable[] = { { &GUID_XENBUS_CACHE_INTERFACE, "CACHE_INTERFACE", PdoQueryCacheInterface }, { &GUID_XENBUS_GNTTAB_INTERFACE, "GNTTAB_INTERFACE", PdoQueryGnttabInterface }, { &GUID_XENBUS_UNPLUG_INTERFACE, "UNPLUG_INTERFACE", PdoQueryUnplugInterface }, + { &GUID_XENBUS_CONSOLE_INTERFACE, "CONSOLE_INTERFACE", PdoQueryConsoleInterface }, { &GUID_XENFILT_EMULATED_INTERFACE, "EMULATED_INTERFACE", PdoDelegateIrp }, { NULL, NULL, NULL } }; -- 2.5.3 _______________________________________________ win-pv-devel mailing list win-pv-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |