From nobody Mon Feb 9 03:46:36 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=none dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1600843580; cv=none; d=zohomail.com; s=zohoarc; b=Fi/twmqPXo/3joYggrkvH7crVFbhUSuoMhdlFges2s/GbxlkbZhL2j15fyoBWTSbjCIialrjOUvZs2UhMNQf+k/u3PPGBS36LEAlDC1P3OaWzKPkrlDPXIcr89VggO9Q80mSZCEBaHpI8l++Ga+FvkYvEFvPaXJArTfMlI68gdk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1600843580; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Sv7P9R7t+6Lz9Xw4HtSzYW6xSNj+0ova4G9FBISr/CY=; b=bwprlvM5kJkVKD5AILemWSaAFxHY/W8YAULcYkyYjW1I8IJVcN6Q3VNgGrLM6ngg5fQ0ru+oepUz8mSxa+32yf0LORKE65xcqMz1SHaknorO6lPohwH6Hcj/AWNzwo+0gfricxiOXKgdOF5YxmXu1lWzPx/lEHhr/7suZz6NldI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1600843580814695.8987401396254; Tue, 22 Sep 2020 23:46:20 -0700 (PDT) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1kKyXF-0001Wc-Lv; Wed, 23 Sep 2020 06:45:49 +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.92) (envelope-from ) id 1kKyXE-0001WR-ED for xen-devel@lists.xenproject.org; Wed, 23 Sep 2020 06:45:48 +0000 Received: from mx2.suse.de (unknown [195.135.220.15]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 3fb7b2e5-4c87-41cf-ad32-591d896f3405; Wed, 23 Sep 2020 06:45:46 +0000 (UTC) Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id 6B2A1AE71; Wed, 23 Sep 2020 06:46:22 +0000 (UTC) X-Inumbo-ID: 3fb7b2e5-4c87-41cf-ad32-591d896f3405 X-Virus-Scanned: by amavisd-new at test-mx.suse.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1600843545; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Sv7P9R7t+6Lz9Xw4HtSzYW6xSNj+0ova4G9FBISr/CY=; b=f/Ph/ufSeI5JvN5e1GEKiiWK7l/HtEb3y6bhLFAZ6tl6zSERQTomGwgsTZmNgzUQj0J0gv oi4C6cMVe4ccIWPqiuyddA/HRj9ktVm3FRn/LXOTrmubd6ApNK15FOJV+6OSidhW5udMnw wq2RjPn/pGKvD0T0p7MQsubLBVGHJ7w= From: Juergen Gross To: xen-devel@lists.xenproject.org Cc: Juergen Gross , Ian Jackson , Wei Liu Subject: [PATCH 1/3] tools/init-xenstore-domain: add logging Date: Wed, 23 Sep 2020 08:45:39 +0200 Message-Id: <20200923064541.19546-2-jgross@suse.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200923064541.19546-1-jgross@suse.com> References: <20200923064541.19546-1-jgross@suse.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" X-ZohoMail-DKIM: pass (identity @suse.com) Content-Type: text/plain; charset="utf-8" Add a possibility to do logging in init-xenstore-domain: use -v[...] for selecting the log-level as in xl, log to stderr. Signed-off-by: Juergen Gross Acked-by: Wei Liu --- tools/helpers/init-xenstore-domain.c | 51 ++++++++++++++++++++++------ 1 file changed, 40 insertions(+), 11 deletions(-) diff --git a/tools/helpers/init-xenstore-domain.c b/tools/helpers/init-xens= tore-domain.c index 5bdb48dc80..22c4be6a3f 100644 --- a/tools/helpers/init-xenstore-domain.c +++ b/tools/helpers/init-xenstore-domain.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include @@ -36,6 +37,7 @@ static struct option options[] =3D { { "param", 1, NULL, 'p' }, { "name", 1, NULL, 'n' }, { "maxmem", 1, NULL, 'M' }, + { "verbose", 0, NULL, 'v' }, { NULL, 0, NULL, 0 } }; =20 @@ -57,7 +59,8 @@ static void usage(void) " --maxmem maximum memory size in the format:\n" " |/|:/\n" " (an absolute value in MB, a fraction a/b of\= n" -" the host memory, or the maximum of both)\n"); +" the host memory, or the maximum of both)\n" +" -v[v[v]] verbosity of domain building\n"); } =20 static int build(xc_interface *xch) @@ -349,8 +352,10 @@ int main(int argc, char** argv) char buf[16], be_path[64], fe_path[64]; int rv, fd; char *maxmem_str =3D NULL; + xentoollog_level minmsglevel =3D XTL_PROGRESS; + xentoollog_logger *logger =3D NULL; =20 - while ( (opt =3D getopt_long(argc, argv, "", options, NULL)) !=3D -1 ) + while ( (opt =3D getopt_long(argc, argv, "v", options, NULL)) !=3D -1 ) { switch ( opt ) { @@ -375,6 +380,10 @@ int main(int argc, char** argv) case 'M': maxmem_str =3D optarg; break; + case 'v': + if ( minmsglevel ) + minmsglevel--; + break; default: usage(); return 2; @@ -387,11 +396,15 @@ int main(int argc, char** argv) return 2; } =20 - xch =3D xc_interface_open(NULL, NULL, 0); + logger =3D (xentoollog_logger *)xtl_createlogger_stdiostream(stderr, + minmsglevel= , 0); + + xch =3D xc_interface_open(logger, logger, 0); if ( !xch ) { fprintf(stderr, "xc_interface_open() failed\n"); - return 1; + rv =3D 1; + goto out; } =20 if ( maxmem_str ) @@ -400,7 +413,8 @@ int main(int argc, char** argv) if ( maxmem < 0 ) { xc_interface_close(xch); - return 1; + rv =3D 1; + goto out; } } =20 @@ -414,17 +428,24 @@ int main(int argc, char** argv) xc_interface_close(xch); =20 if ( rv ) - return 1; + { + rv =3D 1; + goto out; + } =20 rv =3D gen_stub_json_config(domid, NULL); if ( rv ) - return 3; + { + rv =3D 3; + goto out; + } =20 xsh =3D xs_open(0); if ( !xsh ) { fprintf(stderr, "xs_open() failed.\n"); - return 3; + rv =3D 3; + goto out; } snprintf(buf, 16, "%d", domid); do_xs_write(xsh, "/tool/xenstored/domid", buf); @@ -460,7 +481,8 @@ int main(int argc, char** argv) if ( fd < 0 ) { fprintf(stderr, "Creating " XEN_RUN_DIR "/xenstored.pid failed\n"); - return 3; + rv =3D 3; + goto out; } rv =3D snprintf(buf, 16, "domid:%d\n", domid); rv =3D write(fd, buf, rv); @@ -469,10 +491,17 @@ int main(int argc, char** argv) { fprintf(stderr, "Writing domid to " XEN_RUN_DIR "/xenstored.pid failed\n"); - return 3; + rv =3D 3; + goto out; } =20 - return 0; + rv =3D 0; + + out: + if ( logger ) + xtl_logger_destroy(logger); + + return rv; } =20 /* --=20 2.26.2 From nobody Mon Feb 9 03:46:36 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=none dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1600843580; cv=none; d=zohomail.com; s=zohoarc; b=HzCi+l4ZPRBXcQgXtYuwe4qnrVPTAMGnc2jhARw9+tZYHRdaHP1/39rI5Poe0unJ1elhPsuMGjz21LTctwveoNBx8c7o5BAX01/S+9k0CKTg1h+8BkIarr9eb6G+VNGh7H8JsbWic97j7fIRyQTlYeUTF6CF+AQLXCoItaa9JH8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1600843580; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=5TjIt/1n9BC1orQoZ0QREW1u8v4OegKFuF7yOySNGxI=; b=LrdPj8id8ZotqI5A2yBvPccOaLoaBdxCvnwqHQ9NqpXxgaA2njsCmXD1lLcoROEmNRjCzSpam6bDyAg1q/TcPqFB/4sx8QdAVqX0bUcIlQaVV1HTMMo6dE2mznvGVUV8vHsAPy88xBRPT9eI+gWzbBh8a1+2OXMPmJjv8nujZAc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1600843580905597.5702750490628; Tue, 22 Sep 2020 23:46:20 -0700 (PDT) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1kKyXF-0001WW-Dk; Wed, 23 Sep 2020 06:45:49 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1kKyXD-0001WL-Jh for xen-devel@lists.xenproject.org; Wed, 23 Sep 2020 06:45:47 +0000 Received: from mx2.suse.de (unknown [195.135.220.15]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 852c345f-ead3-4ce9-8769-8a80c02d9989; Wed, 23 Sep 2020 06:45:46 +0000 (UTC) Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id 8FB4AAEAA; Wed, 23 Sep 2020 06:46:22 +0000 (UTC) X-Inumbo-ID: 852c345f-ead3-4ce9-8769-8a80c02d9989 X-Virus-Scanned: by amavisd-new at test-mx.suse.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1600843545; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=5TjIt/1n9BC1orQoZ0QREW1u8v4OegKFuF7yOySNGxI=; b=OBoT3hUJYZP6rvma/pWNEEeGiUEFhhhBMp4xGdkSoPWvnzdjURa7rgxP2eJAMeajPFA3ZG DbFhLINda7AWC1cinRvyjWFE8frxBIZ7sJKVlPy0Q9HFF4j9LBzmyhFPlNDOcq2kO0b1Nb 9HytrkQUAxFNNqV+x7OWqLfrV4SJD8I= From: Juergen Gross To: xen-devel@lists.xenproject.org Cc: Juergen Gross , Ian Jackson , Wei Liu Subject: [PATCH 2/3] tools/init-xenstore-domain: support xenstore pvh stubdom Date: Wed, 23 Sep 2020 08:45:40 +0200 Message-Id: <20200923064541.19546-3-jgross@suse.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200923064541.19546-1-jgross@suse.com> References: <20200923064541.19546-1-jgross@suse.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" X-ZohoMail-DKIM: pass (identity @suse.com) Content-Type: text/plain; charset="utf-8" Instead of creating the xenstore-stubdom domain first and parsing the kernel later do it the other way round. This enables to probe for the domain type supported by the xenstore-stubdom and to support both, pv and pvh type stubdoms. Try to parse the stubdom image first for PV support, if this fails use HVM. Then create the domain with the appropriate type selected. Signed-off-by: Juergen Gross Acked-by: Wei Liu --- tools/helpers/init-xenstore-domain.c | 119 +++++++++++++++++++-------- 1 file changed, 85 insertions(+), 34 deletions(-) diff --git a/tools/helpers/init-xenstore-domain.c b/tools/helpers/init-xens= tore-domain.c index 22c4be6a3f..c174357c0e 100644 --- a/tools/helpers/init-xenstore-domain.c +++ b/tools/helpers/init-xenstore-domain.c @@ -18,6 +18,10 @@ #include "init-dom-json.h" #include "_paths.h" =20 +#define LAPIC_BASE_ADDRESS 0xfee00000UL +#define MB(x) ((uint64_t)x << 20) +#define GB(x) ((uint64_t)x << 30) + static uint32_t domid =3D ~0; static char *kernel; static char *ramdisk; @@ -69,6 +73,8 @@ static int build(xc_interface *xch) int rv, xs_fd; struct xc_dom_image *dom =3D NULL; int limit_kb =3D (maxmem ? : (memory + 1)) * 1024; + uint64_t mem_size =3D MB(memory); + struct e820entry e820[3]; struct xen_domctl_createdomain config =3D { .ssidref =3D SECINITSID_DOMU, .flags =3D XEN_DOMCTL_CDF_xs_domain, @@ -101,6 +107,66 @@ static int build(xc_interface *xch) } } =20 + dom =3D xc_dom_allocate(xch, NULL, NULL); + if ( !dom ) + { + fprintf(stderr, "xc_dom_allocate failed\n"); + rv =3D -1; + goto err; + } + + rv =3D xc_dom_kernel_file(dom, kernel); + if ( rv ) + { + fprintf(stderr, "xc_dom_kernel_file failed\n"); + goto err; + } + + if ( ramdisk ) + { + rv =3D xc_dom_module_file(dom, ramdisk, NULL); + if ( rv ) + { + fprintf(stderr, "xc_dom_module_file failed\n"); + goto err; + } + } + + dom->container_type =3D XC_DOM_HVM_CONTAINER; + rv =3D xc_dom_parse_image(dom); + if ( rv ) + { + dom->container_type =3D XC_DOM_PV_CONTAINER; + rv =3D xc_dom_parse_image(dom); + if ( rv ) + { + fprintf(stderr, "xc_dom_parse_image failed\n"); + goto err; + } + } + else + { + config.flags |=3D XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap; + config.arch.emulation_flags =3D XEN_X86_EMU_LAPIC; + dom->target_pages =3D mem_size >> XC_PAGE_SHIFT; + dom->mmio_size =3D GB(4) - LAPIC_BASE_ADDRESS; + dom->lowmem_end =3D (mem_size > LAPIC_BASE_ADDRESS) ? + LAPIC_BASE_ADDRESS : mem_size; + dom->highmem_end =3D (mem_size > LAPIC_BASE_ADDRESS) ? + GB(4) + mem_size - LAPIC_BASE_ADDRESS : 0; + dom->mmio_start =3D LAPIC_BASE_ADDRESS; + dom->max_vcpus =3D 1; + e820[0].addr =3D 0; + e820[0].size =3D dom->lowmem_end; + e820[0].type =3D E820_RAM; + e820[1].addr =3D LAPIC_BASE_ADDRESS; + e820[1].size =3D dom->mmio_size; + e820[1].type =3D E820_RESERVED; + e820[2].addr =3D GB(4); + e820[2].size =3D dom->highmem_end - GB(4); + e820[2].type =3D E820_RAM; + } + rv =3D xc_domain_create(xch, &domid, &config); if ( rv ) { @@ -125,11 +191,15 @@ static int build(xc_interface *xch) fprintf(stderr, "xc_evtchn_alloc_unbound failed\n"); goto err; } - rv =3D xc_domain_set_memmap_limit(xch, domid, limit_kb); - if ( rv ) + + if ( dom->container_type =3D=3D XC_DOM_PV_CONTAINER ) { - fprintf(stderr, "xc_domain_set_memmap_limit failed\n"); - goto err; + rv =3D xc_domain_set_memmap_limit(xch, domid, limit_kb); + if ( rv ) + { + fprintf(stderr, "xc_domain_set_memmap_limit failed\n"); + goto err; + } } =20 rv =3D ioctl(xs_fd, IOCTL_XENBUS_BACKEND_SETUP, domid); @@ -144,45 +214,16 @@ static int build(xc_interface *xch) else snprintf(cmdline, 512, "--event %d --internal-db", rv); =20 - dom =3D xc_dom_allocate(xch, cmdline, NULL); - if ( !dom ) - { - fprintf(stderr, "xc_dom_allocate failed\n"); - goto err; - } - dom->container_type =3D XC_DOM_PV_CONTAINER; + dom->cmdline =3D xc_dom_strdup(dom, cmdline); dom->xenstore_domid =3D domid; dom->console_evtchn =3D console_evtchn; =20 - rv =3D xc_dom_kernel_file(dom, kernel); - if ( rv ) - { - fprintf(stderr, "xc_dom_kernel_file failed\n"); - goto err; - } - - if ( ramdisk ) - { - rv =3D xc_dom_module_file(dom, ramdisk, NULL); - if ( rv ) - { - fprintf(stderr, "xc_dom_module_file failed\n"); - goto err; - } - } - rv =3D xc_dom_boot_xen_init(dom, xch, domid); if ( rv ) { fprintf(stderr, "xc_dom_boot_xen_init failed\n"); goto err; } - rv =3D xc_dom_parse_image(dom); - if ( rv ) - { - fprintf(stderr, "xc_dom_parse_image failed\n"); - goto err; - } rv =3D xc_dom_mem_init(dom, memory); if ( rv ) { @@ -195,6 +236,16 @@ static int build(xc_interface *xch) fprintf(stderr, "xc_dom_boot_mem_init failed\n"); goto err; } + if ( dom->container_type =3D=3D XC_DOM_HVM_CONTAINER ) + { + rv =3D xc_domain_set_memory_map(xch, domid, e820, + dom->highmem_end ? 3 : 2); + if ( rv ) + { + fprintf(stderr, "xc_domain_set_memory_map failed\n"); + goto err; + } + } rv =3D xc_dom_build_image(dom); if ( rv ) { --=20 2.26.2 From nobody Mon Feb 9 03:46:36 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=none dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1600843583; cv=none; d=zohomail.com; s=zohoarc; b=APsUAE+eF2LEO2RQlSeLHgGugbs+iEu9Rk1uKxlduFqCnkiIKI+CRNgG/ATXSzP2YxknKK3+yjCKZB7bnZTDgnSr+fPf6XlzDtCU67JfskSsRvRvOyF6+VUTE/BizMm5KXJljOExjsJK/1ub6S7v0ZMjR3KUbnxTlKTsqjEiYC8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1600843583; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=hiEmrxVeJNQLnM0Fx5gFjQdQxTv/21+Ys/Zu5SejwOo=; b=QN9QUIYgeAkZGkkcwQ8iNNUplnV5ssuRI52M4ITrX/eyVxmcIFUcg6MEhpk+vjC/8ls4UvH2gvlrgGIdfmttRyWkiYgFo+kdseZbYLX8PDz6Q7iq4BkBfm4IGaiofvR6PYMDTSHwLHWoJibmSkZCQSbG0isawqZ/TeAruyUPtbw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1600843583392440.2931308822398; Tue, 22 Sep 2020 23:46:23 -0700 (PDT) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1kKyXJ-0001X0-Ue; Wed, 23 Sep 2020 06:45:53 +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.92) (envelope-from ) id 1kKyXJ-0001WR-5f for xen-devel@lists.xenproject.org; Wed, 23 Sep 2020 06:45:53 +0000 Received: from mx2.suse.de (unknown [195.135.220.15]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 784aa80b-0714-4865-aceb-1fe4615a96d3; Wed, 23 Sep 2020 06:45:46 +0000 (UTC) Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id D081AAB0E; Wed, 23 Sep 2020 06:46:22 +0000 (UTC) X-Inumbo-ID: 784aa80b-0714-4865-aceb-1fe4615a96d3 X-Virus-Scanned: by amavisd-new at test-mx.suse.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1600843545; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=hiEmrxVeJNQLnM0Fx5gFjQdQxTv/21+Ys/Zu5SejwOo=; b=ZReoZv5iIoD7ohX2yyennswB0e6fwltaIJaT4A37u9T3gJMwpzMIfqKOi9WLFR/+OazHh4 +HPsBSHC6+aNK5/3MpXe1NCZfmt3cakndaEe6CAqJNkRJlQOwNU9OkKg9upKdjq8U+mdjM 6E5jlR3PEhBgzVyLv2ItaNJZ2xC7IUE= From: Juergen Gross To: xen-devel@lists.xenproject.org Cc: Juergen Gross , Andrew Cooper , George Dunlap , Ian Jackson , Jan Beulich , Julien Grall , Stefano Stabellini , Wei Liu , Samuel Thibault Subject: [PATCH 3/3] stubdom: add xenstore pvh stubdom Date: Wed, 23 Sep 2020 08:45:41 +0200 Message-Id: <20200923064541.19546-4-jgross@suse.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200923064541.19546-1-jgross@suse.com> References: <20200923064541.19546-1-jgross@suse.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" X-ZohoMail-DKIM: pass (identity @suse.com) Content-Type: text/plain; charset="utf-8" Add a PVH xenstore stubdom in order to support a Xenstore stubdom on a hypervisor built without PV-support. Signed-off-by: Juergen Gross Acked-by: Wei Liu Reviewed-by: Samuel Thibault --- .gitignore | 1 + stubdom/Makefile | 31 ++++++++++++++++++++-- stubdom/configure | 47 ++++++++++++++++++++++++++++++++++ stubdom/configure.ac | 1 + stubdom/xenstorepvh-minios.cfg | 10 ++++++++ 5 files changed, 88 insertions(+), 2 deletions(-) create mode 100644 stubdom/xenstorepvh-minios.cfg diff --git a/.gitignore b/.gitignore index 5e8c47e2db..e7b388e31b 100644 --- a/.gitignore +++ b/.gitignore @@ -91,6 +91,7 @@ stubdom/stubdompath.sh stubdom/tpm_emulator-* stubdom/vtpm/vtpm_manager.h stubdom/xenstore +stubdom/xenstorepvh stubdom/zlib-* tools/*/build/lib*/*.py tools/autom4te.cache/ diff --git a/stubdom/Makefile b/stubdom/Makefile index fb9617fa14..90d9ffcd9f 100644 --- a/stubdom/Makefile +++ b/stubdom/Makefile @@ -367,7 +367,10 @@ $(foreach lib,$(STUB_LIBS),$(eval $(call BUILD_lib,$(l= ib)))) xenstore/stamp: $(XEN_ROOT)/tools/xenstore/Makefile $(do_links) =20 -LINK_DIRS :=3D xenstore $(foreach dir,$(STUB_LIBS),libs-$(XEN_TARGET_ARCH)= /$(dir)) +xenstorepvh/stamp: $(XEN_ROOT)/tools/xenstore/Makefile + $(do_links) + +LINK_DIRS :=3D xenstore xenstorepvh $(foreach dir,$(STUB_LIBS),libs-$(XEN_= TARGET_ARCH)/$(dir)) LINK_STAMPS :=3D $(foreach dir,$(LINK_DIRS),$(dir)/stamp) =20 mk-headers-$(XEN_TARGET_ARCH): $(IOEMU_LINKFARM_TARGET) $(LINK_STAMPS) @@ -486,6 +489,17 @@ xenstore-minios-config.mk: $(CURDIR)/xenstore-minios.c= fg xenstore: $(CROSS_ROOT) xenstore-minios-config.mk CPPFLAGS=3D"$(TARGET_CPPFLAGS) $(shell cat xenstore-minios-config.mk)" CF= LAGS=3D"$(TARGET_CFLAGS)" $(MAKE) DESTDIR=3D -C $@ xenstored.a CONFIG_STUBD= OM=3Dy =20 +############# +# xenstorepvh +############# + +xenstorepvh-minios-config.mk: $(CURDIR)/xenstorepvh-minios.cfg + MINIOS_CONFIG=3D"$<" CONFIG_FILE=3D"$(CURDIR)/$@" $(MAKE) DESTDIR=3D -C $= (MINI_OS) config + +.PHONY: xenstorepvh +xenstorepvh: $(CROSS_ROOT) xenstorepvh-minios-config.mk + CPPFLAGS=3D"$(TARGET_CPPFLAGS) $(shell cat xenstorepvh-minios-config.mk)"= CFLAGS=3D"$(TARGET_CFLAGS)" $(MAKE) DESTDIR=3D -C $@ xenstored.a CONFIG_ST= UBDOM=3Dy + ######## # minios ######## @@ -519,6 +533,10 @@ pv-grub: mini-os-$(XEN_TARGET_ARCH)-grub libxenguest g= rub xenstore-stubdom: mini-os-$(XEN_TARGET_ARCH)-xenstore libxenguest xenstore DEF_CPPFLAGS=3D"$(TARGET_CPPFLAGS)" DEF_CFLAGS=3D"$(TARGET_CFLAGS)" DEF_L= DFLAGS=3D"$(TARGET_LDFLAGS)" MINIOS_CONFIG=3D"$(CURDIR)/xenstore-minios.cfg= " $(MAKE) DESTDIR=3D -C $(MINI_OS) OBJ_DIR=3D$(CURDIR)/$< APP_OBJS=3D$(CURD= IR)/xenstore/xenstored.a =20 +.PHONY: xenstorepvh-stubdom +xenstorepvh-stubdom: mini-os-$(XEN_TARGET_ARCH)-xenstorepvh libxenguest xe= nstorepvh + DEF_CPPFLAGS=3D"$(TARGET_CPPFLAGS)" DEF_CFLAGS=3D"$(TARGET_CFLAGS)" DEF_L= DFLAGS=3D"$(TARGET_LDFLAGS)" MINIOS_CONFIG=3D"$(CURDIR)/xenstorepvh-minios.= cfg" $(MAKE) DESTDIR=3D -C $(MINI_OS) OBJ_DIR=3D$(CURDIR)/$< APP_OBJS=3D$(C= URDIR)/xenstorepvh/xenstored.a + ######### # install ######### @@ -548,6 +566,10 @@ install-xenstore: xenstore-stubdom $(INSTALL_DIR) "$(DESTDIR)$(XENFIRMWAREDIR)" $(INSTALL_DATA) mini-os-$(XEN_TARGET_ARCH)-xenstore/mini-os.gz "$(DESTDIR= )$(XENFIRMWAREDIR)/xenstore-stubdom.gz" =20 +install-xenstorepvh: xenstorepvh-stubdom + $(INSTALL_DIR) "$(DESTDIR)$(XENFIRMWAREDIR)" + $(INSTALL_DATA) mini-os-$(XEN_TARGET_ARCH)-xenstorepvh/mini-os.gz "$(DEST= DIR)$(XENFIRMWAREDIR)/xenstorepvh-stubdom.gz" + install-vtpm: vtpm-stubdom $(INSTALL_DIR) "$(DESTDIR)$(XENFIRMWAREDIR)" $(INSTALL_DATA) mini-os-$(XEN_TARGET_ARCH)-vtpm/mini-os.gz "$(DESTDIR)$(X= ENFIRMWAREDIR)/vtpm-stubdom.gz" @@ -581,6 +603,9 @@ uninstall-grub: uninstall-xenstore: rm -f $(DESTDIR)$(XENFIRMWAREDIR)/xenstore-stubdom.gz =20 +uninstall-xenstorepvh: + rm -f $(DESTDIR)$(XENFIRMWAREDIR)/xenstorepvh-stubdom.gz + uninstall-vtpm: rm -f $(DESTDIR)$(XENFIRMWAREDIR)/vtpm-stubdom.gz =20 @@ -600,6 +625,7 @@ clean: rm -fr mini-os-$(XEN_TARGET_ARCH)-caml rm -fr mini-os-$(XEN_TARGET_ARCH)-grub rm -fr mini-os-$(XEN_TARGET_ARCH)-xenstore + rm -fr mini-os-$(XEN_TARGET_ARCH)-xenstorepvh rm -fr mini-os-$(XEN_TARGET_ARCH)-vtpm rm -fr mini-os-$(XEN_TARGET_ARCH)-vtpmmgr $(MAKE) DESTDIR=3D -C caml clean @@ -612,6 +638,7 @@ clean: rm -fr pkg-config -[ ! -d ioemu ] || $(MAKE) DESTDIR=3D -C ioemu clean -[ ! -d xenstore ] || $(MAKE) DESTDIR=3D -C xenstore clean + -[ ! -d xenstorepvh ] || $(MAKE) DESTDIR=3D -C xenstorepvh clean =20 # clean the cross-compilation result .PHONY: crossclean @@ -620,7 +647,7 @@ crossclean: clean rm -fr newlib-$(XEN_TARGET_ARCH) rm -fr zlib-$(XEN_TARGET_ARCH) pciutils-$(XEN_TARGET_ARCH) rm -fr libs-$(XEN_TARGET_ARCH) - rm -fr ioemu xenstore + rm -fr ioemu xenstore xenstorepvh rm -fr gmp-$(XEN_TARGET_ARCH) rm -fr polarssl-$(XEN_TARGET_ARCH) rm -fr openssl-$(XEN_TARGET_ARCH) diff --git a/stubdom/configure b/stubdom/configure index 3668203db8..903414589b 100755 --- a/stubdom/configure +++ b/stubdom/configure @@ -630,6 +630,7 @@ WGET CMAKE extfiles debug +xenstorepvh xenstore grub caml @@ -689,6 +690,7 @@ enable_c_stubdom enable_caml_stubdom enable_pv_grub enable_xenstore_stubdom +enable_xenstore_pvh_stubdom enable_vtpm_stubdom enable_vtpmmgr_stubdom enable_qemu_traditional @@ -1344,6 +1346,9 @@ Optional Features: --disable-xenstore-stubdom Build and install xenstore-stubdom (default is ENABLED) + --disable-xenstorepvh-stubdom + Build and install xenstorepvh-stubdom (default is + ENABLED) --enable-vtpm-stubdom Build and install vtpm-stubdom --enable-vtpmmgr-stubdom Build and install vtpmmgr-stubdom @@ -2178,6 +2183,48 @@ fi =20 =20 =20 +# Check whether --enable-xenstorepvh-stubdom was given. +if test "${enable_xenstore_pvh_stubdom+set}" =3D set; then : + enableval=3D$enable_xenstore_pvh_stubdom; + +if test "x$enableval" =3D "xyes"; then : + + +xenstorepvh=3Dy +STUBDOM_TARGETS=3D"$STUBDOM_TARGETS xenstorepvh" +STUBDOM_BUILD=3D"$STUBDOM_BUILD xenstorepvh-stubdom" +STUBDOM_INSTALL=3D"$STUBDOM_INSTALL install-xenstorepvh" +STUBDOM_UNINSTALL=3D"$STUBDOM_UNINSTALL install-xenstorepvh" + + +else + +if test "x$enableval" =3D "xno"; then : + + +xenstorepvh=3Dn + + +fi + +fi + + +else + + +xenstorepvh=3Dy +STUBDOM_TARGETS=3D"$STUBDOM_TARGETS xenstorepvh" +STUBDOM_BUILD=3D"$STUBDOM_BUILD xenstorepvh-stubdom" +STUBDOM_INSTALL=3D"$STUBDOM_INSTALL install-xenstorepvh" +STUBDOM_UNINSTALL=3D"$STUBDOM_UNINSTALL install-xenstorepvh" + + +fi + + + + # Check whether --enable-vtpm-stubdom was given. if test "${enable_vtpm_stubdom+set}" =3D set; then : enableval=3D$enable_vtpm_stubdom; diff --git a/stubdom/configure.ac b/stubdom/configure.ac index a2d514c021..bd6f765929 100644 --- a/stubdom/configure.ac +++ b/stubdom/configure.ac @@ -23,6 +23,7 @@ AX_STUBDOM_DEFAULT_DISABLE([c-stubdom], [c]) AX_STUBDOM_DEFAULT_DISABLE([caml-stubdom], [caml]) AX_STUBDOM_DEFAULT_ENABLE([pv-grub], [grub]) AX_STUBDOM_DEFAULT_ENABLE([xenstore-stubdom], [xenstore]) +AX_STUBDOM_DEFAULT_ENABLE([xenstorepvh-stubdom], [xenstorepvh]) AX_STUBDOM_CONDITIONAL([vtpm-stubdom], [vtpm]) AX_STUBDOM_CONDITIONAL([vtpmmgr-stubdom], [vtpmmgr]) =20 diff --git a/stubdom/xenstorepvh-minios.cfg b/stubdom/xenstorepvh-minios.cfg new file mode 100644 index 0000000000..6af51f5753 --- /dev/null +++ b/stubdom/xenstorepvh-minios.cfg @@ -0,0 +1,10 @@ +CONFIG_PARAVIRT=3Dn +CONFIG_BLKFRONT=3Dn +CONFIG_NETFRONT=3Dn +CONFIG_FBFRONT=3Dn +CONFIG_KBDFRONT=3Dn +CONFIG_CONSFRONT=3Dn +CONFIG_XENBUS=3Dn +CONFIG_LWIP=3Dn +CONFIG_BALLOON=3Dy +XEN_INTERFACE_VERSION=3D__XEN_LATEST_INTERFACE_VERSION__ --=20 2.26.2