xen/xenbus: Add quirk to deal with misconfigured backends.
authorKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Wed, 18 Apr 2012 02:21:38 +0000 (22:21 -0400)
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thu, 19 Apr 2012 16:45:01 +0000 (12:45 -0400)
commit3066616ce23aad5719c23a0f21f32676402cb44b
tree879ecb6cc4f131e4db209cd13b16d109a279800f
parenta71e23d9925517e609dfcb72b5874f33cdb0d2ad
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>
drivers/xen/xenbus/xenbus_probe_frontend.c