qemu-devel
[Top][All Lists]
Advanced

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

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


From: Owen smith
Subject: [Qemu-devel] [PATCH v2 5/5] xenfb: Add "feature-no-console"
Date: Wed, 17 Sep 2014 15:30:42 +0100

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 <address@hidden>
---
 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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]