[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [win-pv-devel] [PATCH 00/14 v2] Support multiple consoles
From: Owen Smith <owen.smith@xxxxxxxxxx> Converts the xencons Fdo into a bus driver that enumerates 1 or more Pdos. The first Pdo manages the static "default" console exposed by the XENBUS_CONSOLE interface. Subsiquent Pdos manage the dynamic non-default consoles that can be added to a VM. All consoles expose several properties to differentiate their useage ("name", "instance", and "protocol"). The monitor service is modified to manage multiple consoles and create a named pipe for each, with the pipe's name being based on the "name" property of the console (i.e. \\.\pipe\xencons\<name>) Users of a particular console can directly connect to the well-known name of the correct named pipe. Currently, the default console (\\.\pipe\xencons\default) is used by xencons_tty to expose a command line interface to the backend. Additional uses should be defined in accordance with https://xenbits.xen.org/docs/unstable/man/xen-pv-channel.7.html Owen Smith (14): chmod 777 msbuild.bat Move console handlers to console.c Add boilerplate Pdo Move console handler to static Pdo Add IOCTLs to query instance, name and protocol Make monitor service multi-console aware Enumerate non-default consoles Hide console access behind an interface Add boilerplate frontend Respond to non-default console IOCTLs Add EVTCHN and GNTTAB interfaces Implement ring protocol Ensure D0 <-> D3 transitions occur from the correct state only. Fail FrontendPrepare if backend doesn't reinitialize include/cache_interface.h | 233 ++++ include/evtchn_interface.h | 357 +++++ include/gnttab_interface.h | 287 +++++ include/xen-types.h | 55 + include/xen-version.h | 37 + include/xen-warnings.h | 42 + include/xen.h | 45 + include/xen/public/arch-x86/xen-x86_32.h | 169 +++ include/xen/public/arch-x86/xen-x86_64.h | 202 +++ include/xen/public/arch-x86/xen.h | 338 +++++ include/xen/public/errno.h | 124 ++ include/xen/public/grant_table.h | 684 ++++++++++ include/xen/public/io/console.h | 51 + include/xen/public/io/ring.h | 326 +++++ include/xen/public/io/xenbus.h | 80 ++ include/xen/public/trace.h | 337 +++++ include/xen/public/xen-compat.h | 44 + include/xen/public/xen.h | 995 ++++++++++++++ include/xen/xen/errno.h | 18 + include/xencons_device.h | 17 + msbuild.bat | 0 src/monitor/monitor.c | 1445 +++++++++++---------- src/tty/tty.c | 20 +- src/xencons.inf | 2 +- src/xencons/console.c | 557 ++++++++ src/xencons/console.h | 46 + src/xencons/console_abi.h | 99 ++ src/xencons/driver.c | 8 + src/xencons/driver.h | 12 +- src/xencons/fdo.c | 1126 +++++++++++----- src/xencons/fdo.h | 47 + src/xencons/frontend.c | 1654 ++++++++++++++++++++++++ src/xencons/frontend.h | 68 + src/xencons/mutex.h | 82 ++ src/xencons/pdo.c | 2079 ++++++++++++++++++++++++++++++ src/xencons/pdo.h | 118 ++ src/xencons/ring.c | 1064 +++++++++++++++ src/xencons/ring.h | 96 ++ vs2015/xencons/xencons.vcxproj | 4 + vs2017/xencons/xencons.vcxproj | 4 + 40 files changed, 11956 insertions(+), 1016 deletions(-) create mode 100755 include/cache_interface.h create mode 100755 include/evtchn_interface.h create mode 100755 include/gnttab_interface.h create mode 100755 include/xen-types.h create mode 100755 include/xen-version.h create mode 100755 include/xen-warnings.h create mode 100755 include/xen.h create mode 100755 include/xen/public/arch-x86/xen-x86_32.h create mode 100755 include/xen/public/arch-x86/xen-x86_64.h create mode 100755 include/xen/public/arch-x86/xen.h create mode 100755 include/xen/public/errno.h create mode 100755 include/xen/public/grant_table.h create mode 100755 include/xen/public/io/console.h create mode 100755 include/xen/public/io/ring.h create mode 100755 include/xen/public/io/xenbus.h create mode 100755 include/xen/public/trace.h create mode 100755 include/xen/public/xen-compat.h create mode 100755 include/xen/public/xen.h create mode 100755 include/xen/xen/errno.h mode change 100644 => 100755 msbuild.bat create mode 100755 src/xencons/console.c create mode 100755 src/xencons/console.h create mode 100755 src/xencons/console_abi.h create mode 100755 src/xencons/frontend.c create mode 100755 src/xencons/frontend.h create mode 100755 src/xencons/mutex.h create mode 100755 src/xencons/pdo.c create mode 100755 src/xencons/pdo.h create mode 100755 src/xencons/ring.c create mode 100755 src/xencons/ring.h -- 2.8.3 _______________________________________________ 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 |