|
[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 |