From nobody Mon Feb 9 14:38:23 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=quarantine dis=quarantine) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1676324767; cv=none; d=zohomail.com; s=zohoarc; b=Fk+r2DDlTHARcnmzDe8kzuZL+85mTn5OzXasiuMsPU8LfTQRHrL6n5TQUKLDgHvaCBZkQ9Tbo58D16sKH5JCZFSAR2M2DsCUbCKxqK3pvzA/6XyIho0k8QA8NAOU8EvUhB03UqmC/XspxzUC1+2mhzE5Ae7xHs/3Ca8jYu8YsSQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1676324767; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=BOmtCGnQVQjCGYEdQkwKkB83aMzLpJmQJI2ZYlWKjc4=; b=DbImEMGhjM9pDWYju9pLXeRHO0BcTZ+7IUBESMEXtrDHbg61jHTEhw/KiK5Hl1hIgNNvV+XDgJ18QVA+C+OVvWUkLL01ErT9JtNtEbKsUCl84qFI8eUQI7+v9f+BZT98E6RAQK5Zz7WuLtCBAoIvCndDquXU/6DS1mIlYer2kAI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail header.from= (p=quarantine dis=quarantine) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 167632476738278.36924401030717; Mon, 13 Feb 2023 13:46:07 -0800 (PST) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-224-e6wjtbKHM4-LYedTxunPqA-1; Mon, 13 Feb 2023 16:46:01 -0500 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id C3BC5811E9C; Mon, 13 Feb 2023 21:45:57 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id ABDDF422A9; Mon, 13 Feb 2023 21:45:57 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 86FB61946588; Mon, 13 Feb 2023 21:45:57 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id C9D571946586 for ; Mon, 13 Feb 2023 21:45:55 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id ADAFE35453; Mon, 13 Feb 2023 21:45:55 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast05.extmail.prod.ext.rdu2.redhat.com [10.11.55.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id A4C721C55A for ; Mon, 13 Feb 2023 21:45:55 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-2.mimecast.com [207.211.31.81]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 7E0D585C6F4 for ; Mon, 13 Feb 2023 21:45:55 +0000 (UTC) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on2089.outbound.protection.outlook.com [40.107.8.89]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-477-7Jmk9CIjN2SK9oofoMDznw-1; Mon, 13 Feb 2023 16:45:53 -0500 Received: from AM0PR04MB4899.eurprd04.prod.outlook.com (2603:10a6:208:c5::16) by AM9PR04MB7633.eurprd04.prod.outlook.com (2603:10a6:20b:2d9::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6086.24; Mon, 13 Feb 2023 21:45:52 +0000 Received: from AM0PR04MB4899.eurprd04.prod.outlook.com ([fe80::32dd:b2a5:7522:c322]) by AM0PR04MB4899.eurprd04.prod.outlook.com ([fe80::32dd:b2a5:7522:c322%4]) with mapi id 15.20.6086.024; Mon, 13 Feb 2023 21:45:52 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1676324766; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=BOmtCGnQVQjCGYEdQkwKkB83aMzLpJmQJI2ZYlWKjc4=; b=HIz84T22eIv/orpGDy+xbPaqq2AaFV4grplNGNKDovZm2Gsu2HKB/csFPtYOuEo4AEHm7P ve27R9J7gmoE/zCao93ybzL1ljyQ7hI4ALyhDSNOBZfwgQQ93uXuSZpVEBytJj4E7TfwtY DIpxuYCY+KK5i5ei1MlUjlahpJOldIo= X-MC-Unique: e6wjtbKHM4-LYedTxunPqA-1 X-Original-To: libvir-list@listman.corp.redhat.com X-MC-Unique: 7Jmk9CIjN2SK9oofoMDznw-1 From: Jim Fehlig To: libvir-list@redhat.com Subject: [PATCH 2/2] libxl: Add support for custom firmware path in config converter Date: Mon, 13 Feb 2023 14:45:39 -0700 Message-ID: <20230213214539.10048-3-jfehlig@suse.com> In-Reply-To: <20230213214539.10048-1-jfehlig@suse.com> References: <20230213214539.10048-1-jfehlig@suse.com> X-ClientProxiedBy: FR3P281CA0167.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a0::6) To AM0PR04MB4899.eurprd04.prod.outlook.com (2603:10a6:208:c5::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM0PR04MB4899:EE_|AM9PR04MB7633:EE_ X-MS-Office365-Filtering-Correlation-Id: 980cb837-516c-41fb-9155-08db0e0bad38 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0 X-Microsoft-Antispam-Message-Info: uIzzMKSTPYjRT7Dbr2i91mLpPNKLKElCmmcFVDBz2M2+oZW7b6HTrrHiIGmAoGfp5M/a6CqIYXR5viPSOWJ22JJiOlS05x6JSBNdhWL9oNF/SCgdZ7xJM6pMLYH8MPqXEB4IxGeaS8KAbiFivHP1XND5KlGs3q+GHwDMDMZ0Fz2GzyLYef6xDDAyAof9fS9kMvrWUXoD4oedpyGxszR+RJAMIvSEsmO+jL8BjqdmeOM9o/RBkRtWkO+2W3twS949ycPv9WhpaIS0L3mnfTyy/igc9Qw3/sLaUQXAdVEGNsrakIn9r/bfC6wo59HAtcGFV5+Cqmd46HmlXT2NbEppiGoQUzko7ZC62vK08+HcqymFjMlTBpo0h24VLXyNkLEacb3+Lk47dFh963pvvzvzxGFFBNrDkbIn+jyVK77g4QZeXVTeN+q52J9Cj7gs8fghHsnxfSZ+D/KJ2HT/grGbmBPlrs+aP0kAWndbo+eCW9fQD6uLLqehyknns6CYWRYm02gATsTW+9ttMpSOSwnlDyY3eMUNYdouZSgk+mlXymeJLJqyF+36GNkrphHh5B48OimCqUdm75zdc+C96wC+m+IJhppaP73IjKleaz67mZuByB/pOqs1rxAuApRHlRjgSFoKJZNMCUCYsI2moj/HW9wvQRiyfU6MrKq17w3F2MAwsTDIEfBVNftA35FjksFK X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR04MB4899.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230025)(396003)(346002)(136003)(376002)(366004)(39860400002)(451199018)(36756003)(2906002)(5660300002)(6512007)(83380400001)(26005)(186003)(2616005)(66946007)(38100700002)(8676002)(6916009)(316002)(66476007)(66556008)(8936002)(41300700001)(6666004)(478600001)(1076003)(86362001)(6506007)(6486002); DIR:OUT; SFP:1101 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?t85JsU1JogSlAo64A9iX/11h4OkmRhEq45Bu77l+UXeGHGBLaVQrAmNiLRJk?= =?us-ascii?Q?F5Dhlyao9vl/4NnWrNum8Zf82cUYQpyySdPRmlnbHDkwFQvbFhfV15ErYnwK?= =?us-ascii?Q?0xW2ghZ2k1EYN/R8OpqRWNWk4XHfuXIn272WlVhpyKq6MuTQqcWhigRtvHky?= =?us-ascii?Q?fk5MPs4BdWSETu3PNZynS2MLW5EpQcL1z1qJvknRCgZ41Ih+LU4ri2v5/hmV?= =?us-ascii?Q?1pTbLxwVkUaln6/9mS2+cs7zxW1emzWnUwMumchNGCAezUyEYmeIKk4qkzos?= =?us-ascii?Q?D73CM8Vcl7aqyo0I3HaodqbBnSFOpxiFQ/eoMXiX2X8XAGBb9fLFK3S2FzPV?= =?us-ascii?Q?ASMrU165ggBM22u+ODOQqC8S/RNk932YG4mDzha9S0RUVxZLCS5OG7bVxQ89?= =?us-ascii?Q?wKKReZxogAdT9ZmwLUXIumFLXhlkbrA5oZn6iDCLc4TTWAV1bc7L55BDdS1A?= =?us-ascii?Q?RAtmlaUTzbSRemgN7WTyMwcdve7TA2CYt8L/8gdHDvE2hcOVG8r0Xu5EuF5B?= =?us-ascii?Q?fwcx6xDDEIqejJ2CSc5SgTTBdeSy8QVxf+otp2RyCm1i5NaIljIMOCOiikgf?= =?us-ascii?Q?8MhbaAwlr+3H7kSUIZEXlQkgbWH7ygpyeJEI11H6B4Xr2hFBdpT8R+KOBikQ?= =?us-ascii?Q?g4I8gWoJ/Kgrm4sjKRHWujVS1+ku3EEprnEmYwH+OHAME4Mb7wUWyLPZn7IL?= =?us-ascii?Q?llabrQHmr2Fkwv7GVGkvS4Zkw9rv43F7gPDRyYP5rluxxkUwca/EKU8imSR9?= =?us-ascii?Q?Tc1KsTH2Z8kXccB+2lcSYvOqiuMrhyIqi/rff7xuhPuq1GlTEcbEwE8KL5Vb?= =?us-ascii?Q?V0rKi58YuAx7bqZb007g72F/cPauZRlVXIswJFoIwvzfUxcvqZ1dY+Z0H0aW?= =?us-ascii?Q?D2IpOUlHS4LMN/huujwh4+CYVlBS25CBMKawTQwor5YFWN0yGv13Z+UqjxB9?= =?us-ascii?Q?CnDhogf56am5x/HgNmepwyfG+H6wQ3VFmnlTnm+tJikmtE35fsiLvNW6EfaO?= =?us-ascii?Q?SLH5V+SJ4x78L2LmzXMIDoAfkSOoc7ZIrxO6WptDRe6NYvaBQueRrXFJNFkO?= =?us-ascii?Q?Z0SwR+Ys3jVSVdiNrMKORDLs/kbdujOjsuoElIF4u6qZg6eQx0Yi6gp/hx1T?= =?us-ascii?Q?Y74hQl8Mo/m5nQxCbNdT56pYfZUCrSgjuhkP0W1Qiky+05jEY5X9d1qDQ1rZ?= =?us-ascii?Q?kR4RsB4w0YHORsTHU0oeCZT90pI8LWZSYHefwGhMLpUeDRAlsiKCdqarY5aK?= =?us-ascii?Q?4Pt5aKDeeXqfZ+3rxxtjbGwH19NH+r/j4u1B0k8R6yQfmyblIVaD5eoReJve?= =?us-ascii?Q?xQ6xN2Ba4GkLKQR+tmdjcEUMovjAARpEh/ct+QBzxsUG8TD6fB38Qy+6QzPd?= =?us-ascii?Q?okwS3TdKpGbxq13sHcNHluBd4M2YfKsQUvexc4gmXKyc6/oxaDVt2+YPnvtS?= =?us-ascii?Q?9zjYyaCtR0vs5YZpjp0UlNpSAmaJCtHbu82wiYlmYWiBrqz9YPsg6DOVyGOe?= =?us-ascii?Q?hUKE1FALCbS5sAeob4wA6/5AR5p3E2oYNBMbF+1bqIfwfix28WlUHxQUE9Vi?= =?us-ascii?Q?NlrhaqU95ugEyeGrp/qMs9ynnU8s5vjl4hGMXzir?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 980cb837-516c-41fb-9155-08db0e0bad38 X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB4899.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Feb 2023 21:45:51.9620 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Ah3KpfQKd8rGd+5hxurJnxRyolfJYsFJ8XHOupGy+jglOBf5/1FFTbpvQfEg7GPtLOpqpxGS2Ky1zCW9y05gTw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7633 X-Mimecast-Impersonation-Protect: Policy=CLT - Impersonation Protection Definition; Similar Internal Domain=false; Similar Monitored External Domain=false; Custom External Domain=false; Mimecast External Domain=false; Newly Observed Domain=false; Internal User Name=false; Custom Display Name List=false; Reply-to Address Mismatch=false; Targeted Threat Dictionary=false; Mimecast Threat Dictionary=false; Custom Threat Dictionary=false X-Scanned-By: MIMEDefang 3.1 on 10.11.54.5 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.5 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1676324769665100001 Content-Type: text/plain; charset="utf-8" Signed-off-by: Jim Fehlig --- src/libxl/xen_xl.c | 19 ++++++++++++++----- tests/xlconfigdata/test-fullvirt-ovmf.cfg | 1 + tests/xlconfigdata/test-fullvirt-ovmf.xml | 2 +- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/src/libxl/xen_xl.c b/src/libxl/xen_xl.c index 6919325623..a7aa0f90d2 100644 --- a/src/libxl/xen_xl.c +++ b/src/libxl/xen_xl.c @@ -104,18 +104,23 @@ xenParseXLOS(virConf *conf, virDomainDef *def, virCap= s *caps) =20 if (def->os.type =3D=3D VIR_DOMAIN_OSTYPE_HVM) { g_autofree char *bios =3D NULL; + g_autofree char *bios_path =3D NULL; g_autofree char *boot =3D NULL; int val =3D 0; =20 if (xenConfigGetString(conf, "bios", &bios, NULL) < 0) return -1; + if (xenConfigGetString(conf, "bios_path_override", &bios_path, NUL= L) < 0) + return -1; =20 if (bios && STREQ(bios, "ovmf")) { def->os.loader =3D g_new0(virDomainLoaderDef, 1); def->os.loader->type =3D VIR_DOMAIN_LOADER_TYPE_PFLASH; def->os.loader->readonly =3D VIR_TRISTATE_BOOL_YES; - - def->os.loader->path =3D g_strdup(LIBXL_FIRMWARE_DIR "/ovmf.bi= n"); + if (bios_path) + def->os.loader->path =3D g_strdup(bios_path); + else + def->os.loader->path =3D g_strdup(LIBXL_FIRMWARE_DIR "/ovm= f.bin"); } else { for (i =3D 0; i < caps->nguests; i++) { if (caps->guests[i]->ostype =3D=3D VIR_DOMAIN_OSTYPE_HVM && @@ -1119,9 +1124,13 @@ xenFormatXLOS(virConf *conf, virDomainDef *def) if (xenConfigSetString(conf, "builder", "hvm") < 0) return -1; =20 - if (virDomainDefHasOldStyleUEFI(def) && - xenConfigSetString(conf, "bios", "ovmf") < 0) - return -1; + if (virDomainDefHasOldStyleUEFI(def)) { + if (xenConfigSetString(conf, "bios", "ovmf") < 0) + return -1; + if (def->os.loader->path && + (xenConfigSetString(conf, "bios_path_override", def->os.lo= ader->path) < 0)) + return -1; + } =20 if (def->os.slic_table && xenConfigSetString(conf, "acpi_firmware", def->os.slic_table) = < 0) diff --git a/tests/xlconfigdata/test-fullvirt-ovmf.cfg b/tests/xlconfigdata= /test-fullvirt-ovmf.cfg index 4d31a81108..77b5073005 100644 --- a/tests/xlconfigdata/test-fullvirt-ovmf.cfg +++ b/tests/xlconfigdata/test-fullvirt-ovmf.cfg @@ -22,5 +22,6 @@ parallel =3D "none" serial =3D "none" builder =3D "hvm" bios =3D "ovmf" +bios_path_override =3D "/usr/share/qemu/ovmf-x86_64-xen.bin" boot =3D "d" disk =3D [ "format=3Draw,vdev=3Dhda,access=3Drw,backendtype=3Dphy,target= =3D/dev/HostVG/XenGuest2", "format=3Dqcow2,vdev=3Dhdb,access=3Drw,backendty= pe=3Dqdisk,target=3D/var/lib/libvirt/images/XenGuest2-home", "format=3Draw,= vdev=3Dhdc,access=3Dro,backendtype=3Dqdisk,devtype=3Dcdrom,target=3D/root/b= oot.iso" ] diff --git a/tests/xlconfigdata/test-fullvirt-ovmf.xml b/tests/xlconfigdata= /test-fullvirt-ovmf.xml index 8994b3ea36..da3954dba9 100644 --- a/tests/xlconfigdata/test-fullvirt-ovmf.xml +++ b/tests/xlconfigdata/test-fullvirt-ovmf.xml @@ -6,7 +6,7 @@ 1 hvm - /LIBXL_FIRMWARE_DIR/ovmf.bin<= /loader> + /usr/share/qemu/ovmf-x86_64-x= en.bin --=20 2.39.1