/mirage-console

Portable console handling for Mirage applications

Primary LanguageOCamlISC LicenseISC

Pure OCaml implementations of Mirage consoles, for Unix and Xen

The Unix version of the console currently uses standard output. The code is in

unix/console.{ml,mli}

The Xen kernel version of the console uses the primary PV console ring. The code is in

xen/console.{ml,mli}

There is also a Unix userspace utility which creates and services Xen consoles ("console backends"):

Connect a console to a VM like this:

[root@st30 ~]# ./mirage-console connect trusty
Operating on VM domain id: 19
Creating device 1 (linux device /dev/tty1)
{ ref = 128; event_channel = 13 }

Then inside the guest:

[root@trusty ~]# cat > /dev/hvc1
hello
there

And observe in dom0:

hello
there

Then hit Control+C and it all cleans up.