OpenCloudOS-Kernel/drivers/xen/xenbus
Konrad Rzeszutek Wilk 3066616ce2 xen/xenbus: Add quirk to deal with misconfigured backends.
A rather annoying and common case is when booting a PVonHVM guest
and exposing the PV KBD and PV VFB - as broken toolstacks don't
always initialize the backends correctly.

Normally The HVM guest is using the VGA driver and the emulated
keyboard for this (though upstream version of QEMU implements
PV KBD, but still uses a VGA driver). We provide a very basic
two-stage wait mechanism - where we wait for 30 seconds for all
devices, and then for 270 for all them except the two mentioned.

That allows us to wait for the essential devices, like network
or disk for the full 6 minutes.

To trigger this, put this in your guest config:

vfb = [ 'vnc=1, vnclisten=0.0.0.0 ,vncunused=1']

instead of this:
vnc=1
vnclisten="0.0.0.0"

CC: stable@kernel.org
Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
[v3: Split delay in non-essential (30 seconds) and essential
 devices per Ian and Stefano suggestion]
[v4: Added comments per Stefano suggestion]
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
2012-04-19 12:45:01 -04:00
..
Makefile xen: Add xenbus_backend device 2011-12-16 13:29:41 -05:00
xenbus_client.c xenbus: address compiler warnings 2012-02-26 11:04:07 -05:00
xenbus_comms.c xen/pv-on-hvm kexec+kdump: reset PV devices in kexec or crash kernel 2011-09-01 11:49:03 -04:00
xenbus_comms.h xen: Add xenbus device driver 2011-12-16 13:29:39 -05:00
xenbus_dev_backend.c xen/xenbus: Fix compile error - missing header for xen_initial_domain() 2011-12-21 14:32:50 -05:00
xenbus_dev_frontend.c xenbus_dev: add missing error check to watch handling 2012-02-03 16:07:05 -05:00
xenbus_probe.c xenbus: don't free other end details too early 2012-03-13 14:15:29 -04:00
xenbus_probe.h Xen: consolidate and simplify struct xenbus_driver instantiation 2012-01-04 17:01:17 -05:00
xenbus_probe_backend.c Xen: consolidate and simplify struct xenbus_driver instantiation 2012-01-04 17:01:17 -05:00
xenbus_probe_frontend.c xen/xenbus: Add quirk to deal with misconfigured backends. 2012-04-19 12:45:01 -04:00
xenbus_xs.c Merge branch 'stable/for-linus-3.3' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen 2012-01-10 10:09:59 -08:00