From nobody Tue Sep 9 23:41:32 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 174810348039098.42266165080412; Sat, 24 May 2025 09:18:00 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 71D3517B2; Sat, 24 May 2025 12:17:59 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 7F5051641; Sat, 24 May 2025 12:17:02 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id E3B2414E4; Sat, 24 May 2025 12:16:57 -0400 (EDT) Received: from mail-ed1-f53.google.com (mail-ed1-f53.google.com [209.85.208.53]) (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 33D721506 for ; Sat, 24 May 2025 12:16:57 -0400 (EDT) Received: by mail-ed1-f53.google.com with SMTP id 4fb4d7f45d1cf-601d66f8cafso1369302a12.3 for ; Sat, 24 May 2025 09:16:57 -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-ad52d06e098sm1430294466b.59.2025.05.24.09.16.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 24 May 2025 09:16:54 -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=1748103415; x=1748708215; 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=LoiAe8/2/mTYEkutoNczYxLe1LIVoDJSzGMsL6Qd5ag=; b=CCtXpPs6I3lv8D41qPRrd4ouSe8TtFIyr32KJsfmDdiX8OLJEXP1Odqt9/AiJKQbqi frsn0LOlQ2uT4TsmOmAiOg9hH00977XDlSTfDY/Z5xmZl/dhSnX98HygTqcBOrLzVtQ4 HFYAknatWKb7OsXU1TPvsbxJ1ev6+D2aHhRNWwfaBtEuxFy/NVN6jm3JpAjHSADNIU9K avyIkpIsC7iALhQOR7ND3cfkjcxqSxTAp3D6JvxswvAmEV9N50bIppkDiMEJ1RsYTtc1 hGMbOTFCJFTS1Rcw15AgZt7tGOUMfvr5vCLMPuzpNe0YyIEcYn7dI0YiKW5w/6dDh58c VJ3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748103415; x=1748708215; 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=LoiAe8/2/mTYEkutoNczYxLe1LIVoDJSzGMsL6Qd5ag=; b=XvJJhktoZkvq/3DFK3y55O9d1P2bfQGxyWyQGs+1IjV7r4bCQ5Jkg1d3DpyGeIz7nI yTnSVHDAA/obe7FwSCTL7eo2GwTPY2kPI43mmmW03TjEXC0fORXgzl7mDkyjdejWW9mg hHKFIZdyOAszsYtyG+y3i6NdMehB5jKt1isDTbUS6SSZBo5ECcZIBt8Xl8XK2wSL3BxT IfSgGMWjlzvNoxCrGhnnkaLVysBz1N4dncCIR7+WmTBAPiHzUz4ueVm5VpJ6g/lHBjK2 YSJsa51bMs1f/0TUuss08ImoGOGios6yTAS0lPxuBWEBAuFDdzi9V+55wF/R7LRJ+7BT PJZw== X-Gm-Message-State: AOJu0YyCzKpgX/rdMFAysH0KT219lObIEsnmpkpw6yYdjKTloZvppXrn vopuou7fSzpKfL93blGAk0QCh4k8qnUXprrfsnoj+8pj/a0ZZxD3y3q7ld7KhBwaYkmthQ== X-Gm-Gg: ASbGncvLF63c0XgcafxN44OmCjHtVkqcf5/rUQZ8lp0BkKKH6wr8RA1ng9GqRhq9+CH 4Mp34ID1u0tN1uzZIlxCw87jMnflp+HBAi/MY4noHnq8ZRxxN+gcVI9ZAGKiGdjFP4hlxNnzu/1 It79bBC5kw601OGe0OPpF6PzMJ1swYeX6J6EEYA7TugQc05SWVooEnetKH9QOB73AV+s3GEdSOq NdzYO4Okk3mWUR6tha6360dJvq4x0QEeNdvQZEbkMlKmZ2caLoa3H9yGykRwPe8S8O8uFI4p9Dj CirrRQqVy47tfzHam7XzzHKPRaFjiV1xn0aYC4is3zaHLwWc1wArRMAjY9auI2jTQSaKwMyjEdN IoHNeJcLvOfSNULuYgB1alT31 X-Google-Smtp-Source: AGHT+IGg25FfX9cMqHQOS5aXt6iMmrB6DpDkJrX5w+meWfhVeJX1WXHV85g8Jc1ApsvLm357YMppdg== X-Received: by 2002:a17:907:868b:b0:ad2:3d34:e2ad with SMTP id a640c23a62f3a-ad85b0753femr297045566b.26.1748103415156; Sat, 24 May 2025 09:16:55 -0700 (PDT) From: Roman Bogorodskiy To: devel@lists.libvirt.org Subject: [PATCH v2 1/4] domain_capabilities: add console capabilities Date: Sat, 24 May 2025 18:15:46 +0200 Message-ID: <20250524161549.34995-2-bogorodskiy@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250524161549.34995-1-bogorodskiy@gmail.com> References: <20250524161549.34995-1-bogorodskiy@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Message-ID-Hash: BRUQNVVATBCWIKA3YRMYMJFANQJ3XW4Y X-Message-ID-Hash: BRUQNVVATBCWIKA3YRMYMJFANQJ3XW4Y 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 , Michal Privoznik 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: 1748103481681116600 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