freebsd-dev/sys/xen
Roger Pau Monné a231723cc0 xen/console: Introduce a new console driver for Xen guest
The current Xen console driver is crashing very quickly when using it on
an ARM guest. This is because the console lock is recursive and it may
lead to recursion on the tty lock and/or corrupt the ring pointer.

Furthermore, the console lock is not always taken where it should be and has
to be released too early because of the way the console has been designed.

Over the years, code has been modified to support various new features but
the driver has not been reworked.

This new driver has been rewritten with the idea of only having a small set
of specific function to write either via the shared ring or the hypercall
interface.

Note that HVM support has been left aside for now because it requires
additional features which are not yet supported. A follow-up patch will be
sent with HVM guest support.

List of items that may be good to have but not mandatory:
 - Avoid to flush for each character written when using the tty
 - Support multiple consoles

Submitted by:		Julien Grall <julien.grall@citrix.com>
Reviewed by:		royger
Differential Revision:	https://reviews.freebsd.org/D3698
Sponsored by:		Citrix Systems R&D
2015-10-08 16:39:43 +00:00
..
evtchn xen: import a proper event channel user-space device 2014-10-22 16:57:11 +00:00
interface Update Xen headers from 4.2 to 4.6 2015-10-06 11:29:44 +00:00
xenbus Use SYSCTL_OUT_STR() to return strings. 2015-03-14 21:40:24 +00:00
xenmem xen: introduce a newbus function to allocate unused memory 2015-05-08 14:48:40 +00:00
xenstore xen: convert the xenstore user-space char device to a newbus device 2014-09-30 17:31:04 +00:00
blkif.h xen-blk{front/back}: remove broken FreeBSD extensions 2015-06-12 07:50:34 +00:00
error.h xen: add a Xen to BSD error translation 2014-10-22 16:58:52 +00:00
evtchn.h Implement vector callback for PVHVM and unify event channel implementations 2013-08-29 19:52:18 +00:00
features.c Implement vector callback for PVHVM and unify event channel implementations 2013-08-29 19:52:18 +00:00
features.h
gnttab.h Remove another remnant of PV domU support and assume that we always run 2015-08-14 18:38:39 +00:00
hvm.h Merge Xen PVHVM support into the GENERIC kernel config for both 2013-09-20 22:59:22 +00:00
hypervisor.h xen/console: Introduce a new console driver for Xen guest 2015-10-08 16:39:43 +00:00
privcmd.h xen: implement the privcmd user-space device 2014-10-22 17:07:20 +00:00
xen_intr.h Update Xen headers from 4.2 to 4.6 2015-10-06 11:29:44 +00:00
xen_msi.h Pacify clang 3.3 by ending the file with a newline. This is common 2015-01-06 21:26:35 +00:00
xen_pci.h xen: create a new PCI bus override 2014-12-09 18:03:25 +00:00
xen_pv.h xen: add missing files 2014-06-16 08:54:04 +00:00
xen-os.h xen: allow disabling PV disks and nics 2015-08-21 15:53:08 +00:00