From mboxrd@z Thu Jan 1 00:00:00 1970 From: Owen smith Subject: [PATCH v2 5/5] xenfb: Add "feature-no-console" Date: Wed, 17 Sep 2014 15:30:42 +0100 Message-ID: <1410964242-3341-6-git-send-email-owen.smith@citrix.com> References: <1410964242-3341-1-git-send-email-owen.smith@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1410964242-3341-1-git-send-email-owen.smith@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: qemu-devel@nongnu.org Cc: stefano.stabellini@eu.citrix.com, Owen smith , xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org 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 --- 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