From nobody Tue Sep 9 23:54:01 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 --- 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