From nobody Sun May 5 09:25:09 2024 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 192.237.175.120 is neither permitted nor denied by domain of lists.xenproject.org) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 192.237.175.120 is neither permitted nor denied by domain of lists.xenproject.org) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1580221740169546.734586569959; Tue, 28 Jan 2020 06:29:00 -0800 (PST) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1iwRqp-0002WG-UN; Tue, 28 Jan 2020 14:28:23 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1iwRqo-0002W5-Q0 for xen-devel@lists.xenproject.org; Tue, 28 Jan 2020 14:28:22 +0000 Received: from mx2.suse.de (unknown [195.135.220.15]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 6f78e764-41da-11ea-b211-bc764e2007e4; Tue, 28 Jan 2020 14:28:22 +0000 (UTC) Received: from relay2.suse.de (unknown [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 4C281AC88; Tue, 28 Jan 2020 14:28:21 +0000 (UTC) X-Inumbo-ID: 6f78e764-41da-11ea-b211-bc764e2007e4 X-Virus-Scanned: by amavisd-new at test-mx.suse.de From: Juergen Gross To: xen-devel@lists.xenproject.org Date: Tue, 28 Jan 2020 15:28:16 +0100 Message-Id: <20200128142818.27200-2-jgross@suse.com> X-Mailer: git-send-email 2.16.4 In-Reply-To: <20200128142818.27200-1-jgross@suse.com> References: <20200128142818.27200-1-jgross@suse.com> Subject: [Xen-devel] [PATCH 1/3] xenstore: setup xenstore stubdom console interface properly X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Juergen Gross , Ian Jackson , Wei Liu MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" In order to be able to get access to the console of Xenstore stubdom we need an appropriate granttab entry. So call xc_dom_gnttab_init() when constructing the domain and preset some information needed for that function in the dom structure. We need to create the event channel for the console, too. Do that and store all necessary data locally. Signed-off-by: Juergen Gross --- tools/helpers/init-xenstore-domain.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/tools/helpers/init-xenstore-domain.c b/tools/helpers/init-xens= tore-domain.c index adb8408b63..a312bc38b8 100644 --- a/tools/helpers/init-xenstore-domain.c +++ b/tools/helpers/init-xenstore-domain.c @@ -24,6 +24,8 @@ static char *param; static char *name =3D "Xenstore"; static int memory; static int maxmem; +static xen_pfn_t console_mfn; +static unsigned int console_evtchn; =20 static struct option options[] =3D { { "kernel", 1, NULL, 'k' }, @@ -113,6 +115,7 @@ static int build(xc_interface *xch) fprintf(stderr, "xc_domain_setmaxmem failed\n"); goto err; } + console_evtchn =3D xc_evtchn_alloc_unbound(xch, domid, 0); rv =3D xc_domain_set_memmap_limit(xch, domid, limit_kb); if ( rv ) { @@ -133,6 +136,9 @@ static int build(xc_interface *xch) snprintf(cmdline, 512, "--event %d --internal-db", rv); =20 dom =3D xc_dom_allocate(xch, cmdline, NULL); + dom->container_type =3D XC_DOM_PV_CONTAINER; + dom->xenstore_domid =3D domid; + dom->console_evtchn =3D console_evtchn; rv =3D xc_dom_kernel_file(dom, kernel); if ( rv ) { @@ -186,6 +192,12 @@ static int build(xc_interface *xch) fprintf(stderr, "xc_dom_boot_image failed\n"); goto err; } + rv =3D xc_dom_gnttab_init(dom); + if ( rv ) + { + fprintf(stderr, "xc_dom_gnttab_init failed\n"); + goto err; + } =20 rv =3D xc_domain_set_virq_handler(xch, domid, VIRQ_DOM_EXC); if ( rv ) @@ -201,6 +213,7 @@ static int build(xc_interface *xch) } =20 rv =3D 0; + console_mfn =3D xc_dom_p2m(dom, dom->console_pfn); =20 err: if ( dom ) --=20 2.16.4 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel From nobody Sun May 5 09:25:09 2024 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 192.237.175.120 is neither permitted nor denied by domain of lists.xenproject.org) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 192.237.175.120 is neither permitted nor denied by domain of lists.xenproject.org) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1580221742968138.7293741776906; Tue, 28 Jan 2020 06:29:02 -0800 (PST) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1iwRqw-0002YX-4s; Tue, 28 Jan 2020 14:28:30 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1iwRqu-0002XK-3x for xen-devel@lists.xenproject.org; Tue, 28 Jan 2020 14:28:28 +0000 Received: from mx2.suse.de (unknown [195.135.220.15]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 6f790e74-41da-11ea-86e0-12813bfff9fa; Tue, 28 Jan 2020 14:28:22 +0000 (UTC) Received: from relay2.suse.de (unknown [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 714E2ACE3; Tue, 28 Jan 2020 14:28:21 +0000 (UTC) X-Inumbo-ID: 6f790e74-41da-11ea-86e0-12813bfff9fa X-Virus-Scanned: by amavisd-new at test-mx.suse.de From: Juergen Gross To: xen-devel@lists.xenproject.org Date: Tue, 28 Jan 2020 15:28:17 +0100 Message-Id: <20200128142818.27200-3-jgross@suse.com> X-Mailer: git-send-email 2.16.4 In-Reply-To: <20200128142818.27200-1-jgross@suse.com> References: <20200128142818.27200-1-jgross@suse.com> Subject: [Xen-devel] [PATCH 2/3] xenstore: add console xenstore entries for xenstore stubdom X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Juergen Gross , Ian Jackson , Wei Liu MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" In order to be able to connect to the console of Xenstore stubdom we need to create the appropriate entries in Xenstore. For the moment we don't support xenconsoled living in another domain than dom0, as this information isn't available other then via Xenstore which we are just setting up. Signed-off-by: Juergen Gross Acked-by: Andrew Cooper --- tools/helpers/init-xenstore-domain.c | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/tools/helpers/init-xenstore-domain.c b/tools/helpers/init-xens= tore-domain.c index a312bc38b8..a81a15a4de 100644 --- a/tools/helpers/init-xenstore-domain.c +++ b/tools/helpers/init-xenstore-domain.c @@ -12,6 +12,7 @@ #include #include #include +#include =20 #include "init-dom-json.h" #include "_paths.h" @@ -312,6 +313,15 @@ static void do_xs_write(struct xs_handle *xsh, char *p= ath, char *val) fprintf(stderr, "writing %s to xenstore failed.\n", path); } =20 +static void do_xs_write_dir_node(struct xs_handle *xsh, char *dir, char *n= ode, + char *val) +{ + char full_path[100]; + + snprintf(full_path, 100, "%s/%s", dir, node); + do_xs_write(xsh, full_path, val); +} + static void do_xs_write_dom(struct xs_handle *xsh, char *path, char *val) { char full_path[64]; @@ -325,7 +335,7 @@ int main(int argc, char** argv) int opt; xc_interface *xch; struct xs_handle *xsh; - char buf[16]; + char buf[16], be_path[64], fe_path[64]; int rv, fd; char *maxmem_str =3D NULL; =20 @@ -414,6 +424,25 @@ int main(int argc, char** argv) if (maxmem) snprintf(buf, 16, "%d", maxmem * 1024); do_xs_write_dom(xsh, "memory/static-max", buf); + snprintf(be_path, 64, "/local/domain/0/backend/console/%d/0", domid); + snprintf(fe_path, 64, "/local/domain/%d/console", domid); + snprintf(buf, 16, "%d", domid); + do_xs_write_dir_node(xsh, be_path, "frontend-id", buf); + do_xs_write_dir_node(xsh, be_path, "frontend", fe_path); + do_xs_write_dir_node(xsh, be_path, "online", "1"); + snprintf(buf, 16, "%d", XenbusStateInitialising); + do_xs_write_dir_node(xsh, be_path, "state", buf); + do_xs_write_dir_node(xsh, be_path, "protocol", "vt100"); + do_xs_write_dir_node(xsh, fe_path, "backend", be_path); + do_xs_write_dir_node(xsh, fe_path, "backend-id", "0"); + do_xs_write_dir_node(xsh, fe_path, "limit", "1048576"); + do_xs_write_dir_node(xsh, fe_path, "type", "xenconsoled"); + do_xs_write_dir_node(xsh, fe_path, "output", "pty"); + do_xs_write_dir_node(xsh, fe_path, "tty", ""); + snprintf(buf, 16, "%d", console_evtchn); + do_xs_write_dir_node(xsh, fe_path, "port", buf); + snprintf(buf, 16, "%ld", console_mfn); + do_xs_write_dir_node(xsh, fe_path, "ring-ref", buf); xs_close(xsh); =20 fd =3D creat(XEN_RUN_DIR "/xenstored.pid", 0666); --=20 2.16.4 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel From nobody Sun May 5 09:25:09 2024 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 192.237.175.120 is neither permitted nor denied by domain of lists.xenproject.org) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 192.237.175.120 is neither permitted nor denied by domain of lists.xenproject.org) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1580221754315302.3805781416612; Tue, 28 Jan 2020 06:29:14 -0800 (PST) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1iwRqv-0002Y9-Od; Tue, 28 Jan 2020 14:28:29 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1iwRqt-0002X9-OV for xen-devel@lists.xenproject.org; Tue, 28 Jan 2020 14:28:27 +0000 Received: from mx2.suse.de (unknown [195.135.220.15]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 6f8d1e00-41da-11ea-8396-bc764e2007e4; Tue, 28 Jan 2020 14:28:22 +0000 (UTC) Received: from relay2.suse.de (unknown [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 91255ACF2; Tue, 28 Jan 2020 14:28:21 +0000 (UTC) X-Inumbo-ID: 6f8d1e00-41da-11ea-8396-bc764e2007e4 X-Virus-Scanned: by amavisd-new at test-mx.suse.de From: Juergen Gross To: xen-devel@lists.xenproject.org Date: Tue, 28 Jan 2020 15:28:18 +0100 Message-Id: <20200128142818.27200-4-jgross@suse.com> X-Mailer: git-send-email 2.16.4 In-Reply-To: <20200128142818.27200-1-jgross@suse.com> References: <20200128142818.27200-1-jgross@suse.com> Subject: [Xen-devel] [PATCH 3/3] xenstore: remove not applicable control commands in stubdom X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Juergen Gross , Ian Jackson , Wei Liu MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" When run in a stubdom environment Xenstore can't select a logfile or emit memory statistics to a specific file. So remove or modify those control commands accordingly. Signed-off-by: Juergen Gross Acked-by: Andrew Cooper --- tools/xenstore/xenstored_control.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/tools/xenstore/xenstored_control.c b/tools/xenstore/xenstored_= control.c index e4b8aa95ab..8d48ab4820 100644 --- a/tools/xenstore/xenstored_control.c +++ b/tools/xenstore/xenstored_control.c @@ -61,6 +61,19 @@ static int do_control_log(void *ctx, struct connection *= conn, return 0; } =20 +#ifdef __MINIOS__ +static int do_control_memreport(void *ctx, struct connection *conn, + char **vec, int num) +{ + if (num) + return EINVAL; + + talloc_report_full(NULL, stdout); + + send_ack(conn, XS_CONTROL); + return 0; +} +#else static int do_control_logfile(void *ctx, struct connection *conn, char **vec, int num) { @@ -114,6 +127,7 @@ static int do_control_memreport(void *ctx, struct conne= ction *conn, send_ack(conn, XS_CONTROL); return 0; } +#endif =20 static int do_control_print(void *ctx, struct connection *conn, char **vec, int num) @@ -132,8 +146,12 @@ static int do_control_help(void *, struct connection *= , char **, int); static struct cmd_s cmds[] =3D { { "check", do_control_check, "" }, { "log", do_control_log, "on|off" }, +#ifdef __MINIOS__ + { "memreport", do_control_memreport, "" }, +#else { "logfile", do_control_logfile, "" }, { "memreport", do_control_memreport, "[]" }, +#endif { "print", do_control_print, "" }, { "help", do_control_help, "" }, }; --=20 2.16.4 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel