[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH v2 5/5] xenfb: Add "feature-no-console"



Added feature to allow vkbd connection without waiting for vfb device.
Windows PV frontend requires connection without a vfb device, Ubuntu HVM
would not start correctly without the wait for vfb device.

backend: feature-no-console
    Value: 0/1 (boolean)
    Default Value: 0

    A value of "1" indicates that the backend supports vkbd devices
    without waiting for the corresponding vfb device. Frontends
    set "request-no-console" before connect to allow the backend to
    connect without waiting for the vfb device.

frontend: request-no-console
    Value: 0/1 (boolean)
    Default Value: 0

    A frontend sets a value of "1" to prevent the backend waiting for
    the vfb device to become available and attach to a console.

Signed-off-by: Owen smith <owen.smith@xxxxxxxxxx>
---
 hw/display/xenfb.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/hw/display/xenfb.c b/hw/display/xenfb.c
index 0794075..501fe72 100644
--- a/hw/display/xenfb.c
+++ b/hw/display/xenfb.c
@@ -390,6 +390,7 @@ static int input_init(struct XenDevice *xendev)
 {
     xenstore_write_be_int(xendev, "feature-abs-pointer", 1);
     xenstore_write_be_int(xendev, "feature-no-abs-rescale", 1);
+    xenstore_write_be_int(xendev, "feature-no-console", 1);
     return 0;
 }
 
@@ -399,8 +400,15 @@ static int input_initialise(struct XenDevice *xendev)
     int rc;
 
     if (!in->c.con) {
-        xen_be_printf(xendev, 1, "ds not set (yet)\n");
-        return -1;
+        int no_console;
+        rc = xenstore_read_fe_int(xendev, "request-no-console", &no_console);
+        if (rc == -1) {
+            no_console = 0;
+        }
+        if (!no_console) {
+            xen_be_printf(xendev, 1, "ds not set (yet)\n");
+            return -1;
+        }
     }
 
     rc = common_bind(&in->c);
-- 
2.1.0


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.