From nobody Tue Sep 9 19:05:57 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1747326703365706.4253329325375; Thu, 15 May 2025 09:31:43 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 65391146C; Thu, 15 May 2025 12:31:41 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 961931367; Thu, 15 May 2025 12:31:16 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id A6D2FBA2; Thu, 15 May 2025 12:31:13 -0400 (EDT) Received: from mail-ej1-f50.google.com (mail-ej1-f50.google.com [209.85.218.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 054BCBA2 for ; Thu, 15 May 2025 12:31:12 -0400 (EDT) Received: by mail-ej1-f50.google.com with SMTP id a640c23a62f3a-ad238c68b35so215061366b.1 for ; Thu, 15 May 2025 09:31:11 -0700 (PDT) Received: from tulp.my.domain (80-115-115-199.cable.dynamic.v4.ziggo.nl. [80.115.115.199]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ad52d437763sm11139166b.121.2025.05.15.09.31.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 May 2025 09:31:09 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=3.4.4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1747326670; x=1747931470; darn=lists.libvirt.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=t3RQEWZR4tggw9m0yHryfYppZK8Pdb31m7SzLvnsbfk=; b=UDhoBT/NDUx4EF8/u0ygNtiZTkupERsZHUhhMj9a6FugoODkYWqIl88HqJrMGnCtAd C+AIwwhA7CpNvsITEx27grWmtAMaVHofbkNHOk/E27d29fc9dO0d9m8hfBrOf2OD/TtH yj3iYx8/8v9YDx+5b/+WMkcG19Fz/5iaZWZfc0yFNIhILyUKYFpeBCvxz1mpxQDVmAId SvdydAx6InLXVuJpaAr/hUjLuAG4FUwmyYzySgUbM4ZuILgio48faS7yoZaUxQzTo7ck UDF4/fP6Pfnp4gsUYvE7r9BydbmoOiR42GgwDVuD5XihEcODTFFmC3xd4CTNLeTHURQD bOLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747326670; x=1747931470; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=t3RQEWZR4tggw9m0yHryfYppZK8Pdb31m7SzLvnsbfk=; b=s4tR3zhXATqm2XbLlXSaz7DRUO+miV9vCS7GlOhNjeZgi7Nx9ztayVRGaphCnSlkki 7X2l/B2v2fjtZ7IpDboP8C7XaJdCrnXll6SSk64UlLpGIRcA8512hESa5PQQBvSJ+dVi nHxFOr5phaWzh5W5+nBgeJe1AbWpMHPu/MckfReH7XQI0x5fuYhKXN2MbHD39WGnBYq+ Dj0aEfrbObz8PIWbIkhE8p8ZHGTVFP0nm9rUo9VkJbunyv2bziDqE5RbjJCUErccCrt4 DQ5a2kz18Ljx5r0yMozyUYcrAXEqJh22a8y4o0ZA6W0D1aipwKlAuu/VCnhbdiriEuz5 5fPw== X-Gm-Message-State: AOJu0YwaX8hdSyYicWNDiGd/cXJp1GEKZa5F/W/Pv4qpjR2ciktLwc3+ lLjwqj3HeR3SXXVW3cgf6MP2uCeUNhr83M+YP3suwRHgU9YRWBuEJ0UUKk6s660GOlU3CQ== X-Gm-Gg: ASbGncvtFAPT0/SIY1Z+PJugWTW/vDb115BJdqeafvr/0M7QZng0shTHvdAIojDM79Z 2V1Xwp934kbVPrY7n0gOlQ78spNMFZsWD2VLqd2SIwvpDGyjvwJO2FCUok2EVXVPllaxk00QOKK QhYZt7g5FJOk+EJoT5iW63pP16gASwgqc+FCDRiqNk1dHbNLOG47ghvwZbklXC9G5G/XCGWY3yZ 9ba9ThR68eSdC8MK8iByXxKsofbB4xMlx1rwrHn2alzlCpFTzS1b1yBR/ztdVdnTDYNc20WFqXi ysuO0uUDSHeAb2j1+YVZWp92xqsyl/dJiIqL39npaPOEvDheNqHW5c2NSUdQDA+HDUamhCp9SX9 e2vxsz00KPIWMnkVbbi8/Y/eI X-Google-Smtp-Source: AGHT+IECBZP3VVXfCnHuMvCuoCdSPeycZwcTspA1U/rKkDWnH11tNSpNxygiC2UgilARs4+yskgN6g== X-Received: by 2002:a17:907:9808:b0:ad2:2146:3b89 with SMTP id a640c23a62f3a-ad52d5b9af6mr37612966b.47.1747326670153; Thu, 15 May 2025 09:31:10 -0700 (PDT) From: Roman Bogorodskiy To: devel@lists.libvirt.org Subject: [PATCH 1/3] domain_capabilities: add console capabilities Date: Thu, 15 May 2025 18:29:45 +0200 Message-ID: <20250515162947.88108-2-bogorodskiy@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250515162947.88108-1-bogorodskiy@gmail.com> References: <20250515162947.88108-1-bogorodskiy@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Message-ID-Hash: JYBHY74R2QR7BLMZURYFEJFU7VIUF4G3 X-Message-ID-Hash: JYBHY74R2QR7BLMZURYFEJFU7VIUF4G3 X-MailFrom: bogorodskiy@gmail.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header CC: Roman Bogorodskiy X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1747326706657116600 Content-Type: text/plain; charset="utf-8" Currently, domain capabilities do not include information about the supported console device types. While most of the drivers support 'pty' console type, it's not the case for bhyve. Without this information, management software cannot always generate compatible domain configuration. To address that, extend domain capabilities like that: ... pty type2 ... ... Signed-off-by: Roman Bogorodskiy Reviewed-by: Michal Privoznik --- src/conf/domain_capabilities.c | 12 ++++++++++++ src/conf/domain_capabilities.h | 8 ++++++++ src/conf/schemas/domaincaps.rng | 10 ++++++++++ 3 files changed, 30 insertions(+) diff --git a/src/conf/domain_capabilities.c b/src/conf/domain_capabilities.c index 27551f6102..f7cce92ca1 100644 --- a/src/conf/domain_capabilities.c +++ b/src/conf/domain_capabilities.c @@ -689,6 +689,17 @@ virDomainCapsDevicePanicFormat(virBuffer *buf, } =20 =20 +static void +virDomainCapsDeviceConsoleFormat(virBuffer *buf, + const virDomainCapsDeviceConsole *console) +{ + FORMAT_PROLOGUE(console); + + ENUM_PROCESS(console, type, virDomainChrTypeToString); + + FORMAT_EPILOGUE(console); +} + /** * virDomainCapsFeatureGICFormat: * @buf: target buffer @@ -871,6 +882,7 @@ virDomainCapsFormat(const virDomainCaps *caps) virDomainCapsDeviceCryptoFormat(&buf, &caps->crypto); virDomainCapsDeviceNetFormat(&buf, &caps->net); virDomainCapsDevicePanicFormat(&buf, &caps->panic); + virDomainCapsDeviceConsoleFormat(&buf, &caps->console); =20 virBufferAdjustIndent(&buf, -2); virBufferAddLit(&buf, "\n"); diff --git a/src/conf/domain_capabilities.h b/src/conf/domain_capabilities.h index 69dd1a15c1..60d5fe77de 100644 --- a/src/conf/domain_capabilities.h +++ b/src/conf/domain_capabilities.h @@ -265,6 +265,13 @@ struct _virDomainCapsDevicePanic { virDomainCapsEnum model; /* virDomainPanicModel */ }; =20 +typedef struct _virDomainCapsDeviceConsole virDomainCapsDeviceConsole; +struct _virDomainCapsDeviceConsole { + virTristateBool supported; + virDomainCapsEnum type; /* virDomainChrType */ +}; + + typedef enum { VIR_DOMAIN_CAPS_FEATURE_IOTHREADS =3D 0, VIR_DOMAIN_CAPS_FEATURE_VMCOREINFO, @@ -304,6 +311,7 @@ struct _virDomainCaps { virDomainCapsDeviceCrypto crypto; virDomainCapsDeviceNet net; virDomainCapsDevicePanic panic; + virDomainCapsDeviceConsole console; /* add new domain devices here */ =20 virDomainCapsFeatureGIC gic; diff --git a/src/conf/schemas/domaincaps.rng b/src/conf/schemas/domaincaps.= rng index 595dbcd634..8bc34691c7 100644 --- a/src/conf/schemas/domaincaps.rng +++ b/src/conf/schemas/domaincaps.rng @@ -237,6 +237,9 @@ + + + =20 @@ -317,6 +320,13 @@ =20 + + + + + + + --=20 2.49.0 From nobody Tue Sep 9 19:05:57 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1747326758886532.0647106822574; Thu, 15 May 2025 09:32:38 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id D41CBB90; Thu, 15 May 2025 12:32:37 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 8E00B14C4; Thu, 15 May 2025 12:31:22 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 8810E134E; Thu, 15 May 2025 12:31:15 -0400 (EDT) Received: from mail-ed1-f42.google.com (mail-ed1-f42.google.com [209.85.208.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id BA34FB90 for ; Thu, 15 May 2025 12:31:13 -0400 (EDT) Received: by mail-ed1-f42.google.com with SMTP id 4fb4d7f45d1cf-5f3f04b5dbcso1686843a12.1 for ; Thu, 15 May 2025 09:31:13 -0700 (PDT) Received: from tulp.my.domain (80-115-115-199.cable.dynamic.v4.ziggo.nl. [80.115.115.199]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ad52d437763sm11139166b.121.2025.05.15.09.31.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 May 2025 09:31:10 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=3.4.4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1747326672; x=1747931472; darn=lists.libvirt.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=jcU7kE2wXqSvmaUE4cutrAvR5eXcqLHeUii/ewDOufk=; b=N4mqe77XuXyQQLXxcpvPSOUif+pgxXULsuChS55HCGCAEmg8oXXu5mXqJGPMWPexPQ Lm3SA+QCiPA4nCQrIXH3IiGk8nw8AJ1Hoeu+0qJQMhBMn2PEuNzGmM/gkT+fuCmI97Hz QjLL4N0tJRdDMdAAAHJ9ADcpJ9lxrostTPCO76O+U3RDbipFK7S7++WUd6Ij9azMYtzy wS7jp0Ob9fz0/bprFauRKVMDB7ecfumY3pO8H7ryn/a5e9mcx4Oo+68m/vD2vBeVvmjS sshKEFWoculEtkJmTnRjym3IAJV9jCK2nKBFoJG5OI3JJeEcDtVMX4WZAMO7LJyd2AjI ksgw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747326672; x=1747931472; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=jcU7kE2wXqSvmaUE4cutrAvR5eXcqLHeUii/ewDOufk=; b=udP00QPbgDVpby1sy3ibjsYhm3Ryapxkkpy4OQsI+id4O8MoSigwuIs0rGZGXfFn3T nRlpmJ4v8AjVQQVJq2oZeAm6fkr5zvmhz5C8GDib0lHEj7h4lq8pHGSNDbYKb3BvwL4D TmRtWn10hcqISUt+eNGowQ3xaYWH1aSfLot+WZhLtRAOqgNAyAsCeX6VdiMVgoEvXQMT +TDpXJtTwKQue6oD3VxubybOt2Oc2qJKaV3PzIQbp2Q7/PodqWfnEKKAcs0CoYbMAddk rZldEywftik4YuToScCvygHSuCxggrJPepjsgcHp97dD8vcenfDZ7xjTwR8wecUhA7bW gkGw== X-Gm-Message-State: AOJu0YzHHklqoXnEs+paZPvLAZaHd4oFSiVlm6s+Ov7KNcuzeya1IiJw pVt7/uqsKSJR1rIjXsobP3uLgMdFmGqcJWMZDO6pDXqcdJM46KjGJQsOpaHQDom77lYOwg== X-Gm-Gg: ASbGncsCQY0QY09cZBk0irYiRsGlFjHAP6O35rohYDMB+jCwhYrLP7X/GWC4G0NdSGT cx3d6bAs10tl8jX1tt6DtTmsgcTBkYKj6WXFUcUkL+Shpku4+2L47+eSAZuhBsmGasjJW0Wt8Cz 1yx9TucoHcSf+wutiMKToTDPEZCjRUp74iYzDP52yxQXysLuBenlE9TJuS3o8fKBIKmkjR6pDWQ 3/o+Yx20atD6sAfkzCG7VrM5Ihs6RyqEGXL7JuBEycsoMc9RJwiIx9DYvYsmWp6d7GABRZb216l pWMncYOyjO8InduD7Trmr2VHsxaLTCpAovWPgjLAwj7iYzyYMMJ9rCQ8tVOE4kI8k/6/fKjnAAA iTFr2GZSH0xrpFs/3g1kUxCaT X-Google-Smtp-Source: AGHT+IF90X25yh0ZLtcFLFvxJBswFay8SfjzeI0PLdV1ovimx55UxUgM9LiysYeQBUIx52y199JAUw== X-Received: by 2002:a17:907:7d89:b0:ad2:4785:c4ac with SMTP id a640c23a62f3a-ad52d575a9fmr43731266b.40.1747326671823; Thu, 15 May 2025 09:31:11 -0700 (PDT) From: Roman Bogorodskiy To: devel@lists.libvirt.org Subject: [PATCH 2/3] bhyve: capabilities: report NMDM console Date: Thu, 15 May 2025 18:29:46 +0200 Message-ID: <20250515162947.88108-3-bogorodskiy@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250515162947.88108-1-bogorodskiy@gmail.com> References: <20250515162947.88108-1-bogorodskiy@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Message-ID-Hash: URX4AA2JFGARPGIS3BYDGEAOZJ7N7BJE X-Message-ID-Hash: URX4AA2JFGARPGIS3BYDGEAOZJ7N7BJE X-MailFrom: bogorodskiy@gmail.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header CC: Roman Bogorodskiy X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1747326760946116600 Content-Type: text/plain; charset="utf-8" Extend domain capabilities to report the NMDM console support. Signed-off-by: Roman Bogorodskiy Reviewed-by: Michal Privoznik --- src/bhyve/bhyve_capabilities.c | 5 +++++ tests/domaincapsdata/bhyve_basic.x86_64.xml | 5 +++++ tests/domaincapsdata/bhyve_fbuf.x86_64.xml | 5 +++++ tests/domaincapsdata/bhyve_uefi.x86_64.xml | 5 +++++ 4 files changed, 20 insertions(+) diff --git a/src/bhyve/bhyve_capabilities.c b/src/bhyve/bhyve_capabilities.c index 36a092a819..59fc81d26c 100644 --- a/src/bhyve/bhyve_capabilities.c +++ b/src/bhyve/bhyve_capabilities.c @@ -125,6 +125,11 @@ virBhyveDomainCapsFill(virDomainCaps *caps, caps->features[VIR_DOMAIN_CAPS_FEATURE_GENID] =3D VIR_TRISTATE_BOOL_NO; caps->gic.supported =3D VIR_TRISTATE_BOOL_NO; =20 + caps->console.supported =3D VIR_TRISTATE_BOOL_YES; + caps->console.type.report =3D true; + VIR_DOMAIN_CAPS_ENUM_SET(caps->console.type, + VIR_DOMAIN_CHR_TYPE_NMDM); + return 0; } =20 diff --git a/tests/domaincapsdata/bhyve_basic.x86_64.xml b/tests/domaincaps= data/bhyve_basic.x86_64.xml index dd054577c0..d1211a5b5e 100644 --- a/tests/domaincapsdata/bhyve_basic.x86_64.xml +++ b/tests/domaincapsdata/bhyve_basic.x86_64.xml @@ -27,6 +27,11 @@ + + + nmdm + + diff --git a/tests/domaincapsdata/bhyve_uefi.x86_64.xml b/tests/domaincapsd= ata/bhyve_uefi.x86_64.xml index 69fff197a7..3a6f178dd4 100644 --- a/tests/domaincapsdata/bhyve_uefi.x86_64.xml +++ b/tests/domaincapsdata/bhyve_uefi.x86_64.xml @@ -36,6 +36,11 @@