From patchwork Tue Jun 6 17:25:26 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bhupinder Thakur X-Patchwork-Id: 103175 Delivered-To: patch@linaro.org Received: by 10.140.91.77 with SMTP id y71csp1536708qgd; Tue, 6 Jun 2017 10:27:53 -0700 (PDT) X-Received: by 10.36.121.141 with SMTP id z135mr18380461itc.36.1496770073274; Tue, 06 Jun 2017 10:27:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1496770073; cv=none; d=google.com; s=arc-20160816; b=r8Dma62RJF62LxbODBRyXQNvD5HG5z3dUhcFO6pY0VoNwsjtsKlh8nzIqVvnnRWk1a fzMtrH1hJs6+5/9Lgrkf52JNSVdEkt7Y7nhnjztIogO10D+n1MUfGsSf+XQ/8uFjbcDH WeO7m73oFpFHkl+oQNSfY5EGi+5rMw3xqIsIEPguD8WCcfYThCxuBKX17qiGpR265/pQ mRtYkJFUxYpDoknP+iu+hHL7K53/W+wx+hQWfpuSRCLEp9xlPL8zyGqn0kUdTMlgww+Y i9VkIERiuVeVrzJdcZ+rCYMtZhdtfRqmIhFZaM8eFgu++ABBCO31ZswjLXkVSb2IdUet F8jw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version :list-subscribe:list-help:list-post:list-unsubscribe:list-id :precedence:subject:cc:references:in-reply-to:message-id:date:to :from:dkim-signature:arc-authentication-results; bh=YmPBa2ZcUJ4rFPGzU4aqcsOjFSZ5whzN5XTHWRv4uIw=; b=YpQDAFVB+W2uo73yv4k0BPpIInmdM7fxHOnQrJthbabaqrwoJCuqZ5ocOaCI+bo5Wy iN78m9ewaj6c3fCULYxpCrh/8B3g4Mkw+mckcPfQqaoLB+x1rerTV+20YXAq+QAiOYmk e5vx0bNlzyCH/cqM/qdXfCK6O7IaBKMq72rK6GAud0YlaUBE47be1BW3LiBHDAdZhRc/ Kd6nBj+mdCwWnE7oS8lv9WXI2aGeT1lFvKvQ3WuC1STPquZtR08o259TSciT1YtPLYKi au39Q9/Ar4116FqoklM+bu7/Rm3QC2+Q7NyCdD5aPBEDeEmrPDIEI9Qa35nT3aLizp9k X7YQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org; spf=neutral (google.com: 192.237.175.120 is neither permitted nor denied by best guess record for domain of xen-devel-bounces@lists.xen.org) smtp.mailfrom=xen-devel-bounces@lists.xen.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.xenproject.org (lists.xenproject.org. [192.237.175.120]) by mx.google.com with ESMTPS id e195si3762106itb.90.2017.06.06.10.27.50 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 06 Jun 2017 10:27:53 -0700 (PDT) Received-SPF: neutral (google.com: 192.237.175.120 is neither permitted nor denied by best guess record for domain of xen-devel-bounces@lists.xen.org) client-ip=192.237.175.120; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org; spf=neutral (google.com: 192.237.175.120 is neither permitted nor denied by best guess record for domain of xen-devel-bounces@lists.xen.org) smtp.mailfrom=xen-devel-bounces@lists.xen.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dIIFA-0001uX-AI; Tue, 06 Jun 2017 17:26:12 +0000 Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dIIF8-0001sb-Mn for xen-devel@lists.xenproject.org; Tue, 06 Jun 2017 17:26:10 +0000 Received: from [85.158.143.35] by server-11.bemta-6.messagelabs.com id 9F/D8-03587-2B5E6395; Tue, 06 Jun 2017 17:26:10 +0000 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrEIsWRWlGSWpSXmKPExsXiVRtsqrvxqVm kwZZdchbft0xmcmD0OPzhCksAYxRrZl5SfkUCa8b0ExOZCo5JVSxfyd/AuFesi5GLQ0hgOqPE 2QldjCAOi8A8ZonTfx6wgzgSAv2sEsfWvmXpYuQEctIkHh6fygZhV0h8PXGREcQWEtCSOHpqN iuE3cwk8fypaxcjBwebgInErA4JkLCIgJLEvVWTmUBmMgvMZ5RomtTLBlIjLBAm8a0vHsRkEV CV2LncGcTkFfCRmHs7DGKRnMTNc53MIDYnUHjm+SVQS70l9jS0MU5gFFjAyLCKUaM4tagstUj XyFAvqSgzPaMkNzEzR9fQwEwvN7W4ODE9NScxqVgvOT93EyMwpBiAYAfjn2UBhxglOZiURHkj L5lFCvEl5adUZiQWZ8QXleakFh9ilOHgUJLgvf8EKCdYlJqeWpGWmQMMbpi0BAePkgjv5AdAa d7igsTc4sx0iNQpRmOODavXf2HimHRg+xcmIZa8/LxUKXHeFSCTBEBKM0rz4AbBou4So6yUMC 8j0GlCPAWpRbmZJajyrxjFORiVhHlTQKbwZOaVwO17BXQKE9ApfJdMQE4pSURISTUwbpS3fDF 38nXLnDN7aqo2vH8twRNtxVu3v1XBaEFF6+eFCbs/rz+Qa/Tt3faSk4WVR/7+5J387NP960dn +8xtZJgq//zJ1IMvnPnajBP+5vmwKKoYXTWr0N80a96GJ8FiLtOm9Nm+5s28bOQguPHqUy752 gtLS7/fszmtPlnE5PmnFRwJxS0aMkosxRmJhlrMRcWJAI+Xibm1AgAA X-Env-Sender: bhupinder.thakur@linaro.org X-Msg-Ref: server-9.tower-21.messagelabs.com!1496769968!72445596!1 X-Originating-IP: [74.125.83.53] X-SpamReason: No, hits=0.0 required=7.0 tests= X-StarScan-Received: X-StarScan-Version: 9.4.19; banners=-,-,- X-VirusChecked: Checked Received: (qmail 47249 invoked from network); 6 Jun 2017 17:26:09 -0000 Received: from mail-pg0-f53.google.com (HELO mail-pg0-f53.google.com) (74.125.83.53) by server-9.tower-21.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP; 6 Jun 2017 17:26:09 -0000 Received: by mail-pg0-f53.google.com with SMTP id k71so4106145pgd.2 for ; Tue, 06 Jun 2017 10:26:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=PeGx06wWbJVg+qDsrvMGeGctPINrr8ZqmEIOjVyUamo=; b=Cwh78oM74SzmX4ulNN8RcGJuyA46Grx3TihyWd/LLbAfhIYGEX2C805Whi8V8RZLs7 0ZhLQ/BbEO4FneWM1PN3S046FrRttaDbfBDPCZw7QnxEjc94qLuz6yhBlLlBeUnSfHHh 2AxwHC6GvyqnENSwopLkgO654V/rbjZw6Qt+U= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=PeGx06wWbJVg+qDsrvMGeGctPINrr8ZqmEIOjVyUamo=; b=esBbr42INt7pnJL1X3qFjva3exkhQcdQ2oCgisD8aWjm66svQWlLiFhTmx4grfoGL2 L9PVcycuZ7x2WPKiSoYmcsrnhsR+VuO+3tH5dN1Ykwk+4izeIo68U6hrmR/GZ8HexnVz UTu8wMTXy2r7B+s9mQdC3/f6vvmJdaWvvyW/Xj0jRjxyjgQ6cbobGqTr8L7nytJh5CtQ 06CL3vA6CO2NHiScBFgzVnmoOFk0poxT9WZzHHdWU0C6OA97cDgTgX8M3JWwFKHjYmt9 Y2muXOMxG6VUc7QSRD1AKzVNlqipjPm0iWmM1L3WytpRp0DnY0hghPlG+L2pquMbHR1z 2PZw== X-Gm-Message-State: AODbwcDpTM9YivhrUppkJBLoKBWaEDTAEx0RiUzNXnVb365y8iFd80ez XCPMgC6gK+4aZK5j5KqW2Q== X-Received: by 10.84.151.99 with SMTP id i90mr3402618pli.81.1496769967759; Tue, 06 Jun 2017 10:26:07 -0700 (PDT) Received: from blr-ubuntu-linaro.wlan.qualcomm.com ([103.5.19.18]) by smtp.gmail.com with ESMTPSA id 62sm6031632pfr.90.2017.06.06.10.26.04 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 06 Jun 2017 10:26:07 -0700 (PDT) From: Bhupinder Thakur To: xen-devel@lists.xenproject.org Date: Tue, 6 Jun 2017 22:55:26 +0530 Message-Id: <1496769929-23355-12-git-send-email-bhupinder.thakur@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1496769929-23355-1-git-send-email-bhupinder.thakur@linaro.org> References: <1496769929-23355-1-git-send-email-bhupinder.thakur@linaro.org> Cc: Wei Liu , Julien Grall , Stefano Stabellini , Ian Jackson Subject: [Xen-devel] [PATCH 11/14 v4] xen/arm: vpl011: Add support for vuart console in xenconsole X-BeenThere: xen-devel@lists.xen.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" This patch finally adds the support for vuart console. Signed-off-by: Bhupinder Thakur --- CC: ij CC: wl CC: ss CC: jg Changes since v3: - The changes in xenconsole have been split into four patches. This is the fourth patch. - The vuart console support is added under CONFIG_VUART_CONSOLE option. tools/console/Makefile | 3 ++- tools/console/daemon/io.c | 26 +++++++++++++++++++++++++- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/tools/console/Makefile b/tools/console/Makefile index c8b0300..fcee313 100644 --- a/tools/console/Makefile +++ b/tools/console/Makefile @@ -11,6 +11,7 @@ LDLIBS += $(SOCKET_LIBS) LDLIBS_xenconsoled += $(UTIL_LIBS) LDLIBS_xenconsoled += -lrt +VUART_CFLAGS-$(CONFIG_VUART_CONSOLE) = -DCONFIG_VUART_CONSOLE BIN = xenconsoled xenconsole @@ -28,7 +29,7 @@ clean: distclean: clean daemon/main.o: daemon/_paths.h -daemon/io.o: CFLAGS += $(CFLAGS_libxenevtchn) $(CFLAGS_libxengnttab) +daemon/io.o: CFLAGS += $(CFLAGS_libxenevtchn) $(CFLAGS_libxengnttab) $(VUART_CFLAGS-y) xenconsoled: $(patsubst %.c,%.o,$(wildcard daemon/*.c)) $(CC) $(LDFLAGS) $^ -o $@ $(LDLIBS) $(LDLIBS_libxenevtchn) $(LDLIBS_libxengnttab) $(LDLIBS_xenconsoled) $(APPEND_LDFLAGS) diff --git a/tools/console/daemon/io.c b/tools/console/daemon/io.c index db73e10..cae2efe 100644 --- a/tools/console/daemon/io.c +++ b/tools/console/daemon/io.c @@ -104,12 +104,16 @@ struct console { xenevtchn_port_or_error_t remote_port; struct xencons_interface *interface; struct domain *d; + bool optional; + bool prefer_gnttab; }; struct console_data { char *xsname; char *ttyname; char *log_suffix; + bool optional; + bool prefer_gnttab; }; static struct console_data console_data[] = { @@ -118,7 +122,18 @@ static struct console_data console_data[] = { .xsname = "/console", .ttyname = "tty", .log_suffix = "", + .optional = false, + .prefer_gnttab = true, }, +#if defined(CONFIG_VUART_CONSOLE) + { + .xsname = "/vuart/0", + .ttyname = "tty", + .log_suffix = "-vuart0", + .optional = true, + .prefer_gnttab = false, + }, +#endif }; #define MAX_CONSOLE (sizeof(console_data)/sizeof(struct console_data)) @@ -665,7 +680,12 @@ static int console_create_ring(struct console *con) "port", "%i", &remote_port, NULL); if (err) + { + /* If the console is optional then do not return an error. */ + if (con->optional) + err = 0; goto out; + } snprintf(path, sizeof(path), "%s/type", con->xspath); type = xs_read(xs, XBT_NULL, path, NULL); @@ -679,7 +699,9 @@ static int console_create_ring(struct console *con) if (ring_ref != con->ring_ref && con->ring_ref != -1) console_unmap_interface(con); - if (!con->interface && xgt_handle) { + if (!con->interface && + xgt_handle && + con->prefer_gnttab) { /* Prefer using grant table */ con->interface = xengnttab_map_grant_ref(xgt_handle, dom->domid, GNTTAB_RESERVED_CONSOLE, @@ -789,6 +811,8 @@ static int console_init(struct console *con, struct domain *dom, void **data) con->d = dom; con->ttyname = (*con_data)->ttyname; con->log_suffix = (*con_data)->log_suffix; + con->optional = (*con_data)->optional; + con->prefer_gnttab = (*con_data)->prefer_gnttab; con->xsname = (*con_data)->xsname; con->xspath = xs_get_domain_path(xs, dom->domid); s = realloc(con->xspath, strlen(con->xspath) +