freebsd-dev/sys/dev/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
..
balloon Remove some more vestiges of the Xen PV domu support. Specifically, 2015-08-06 17:07:21 +00:00
blkback Code cleanup unused-but-set-variable spotted by gcc. 2015-08-25 15:34:28 +00:00
blkfront Update Xen headers from 4.2 to 4.6 2015-10-06 11:29:44 +00:00
console xen/console: Introduce a new console driver for Xen guest 2015-10-08 16:39:43 +00:00
control Remove some more vestiges of the Xen PV domu support. Specifically, 2015-08-06 17:07:21 +00:00
debug xen: add a handler for the debug interrupt 2015-03-30 07:09:07 +00:00
evtchn xen: import a proper event channel user-space device 2014-10-22 16:57:11 +00:00
grant_table xen: introduce a newbus function to allocate unused memory 2015-05-08 14:48:40 +00:00
netback Remove some more vestiges of the Xen PV domu support. Specifically, 2015-08-06 17:07:21 +00:00
netfront Code cleanup unused-but-set-variable spotted by gcc. 2015-08-25 15:34:28 +00:00
pci Remove duplicate pci_driver class declaration. 2015-01-02 08:57:36 +00:00
pcifront Add domain support to PCI bus allocation 2015-09-16 23:34:51 +00:00
privcmd xen: introduce a newbus function to allocate unused memory 2015-05-08 14:48:40 +00:00
pvcpu xen: add missing files 2014-06-16 08:54:04 +00:00
timer Generalized parts of the XEN timer code into a generic pvclock 2015-02-04 08:26:43 +00:00
xenpci xen: unify gnttab initialization for PVHVM and PVH 2014-06-16 08:48:42 +00:00
xenstore Code cleanup unused-but-set-variable spotted by gcc. 2015-08-25 15:34:28 +00:00