From nobody Sun Feb 8 12:37:34 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) client-ip=170.10.129.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.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1637690685; cv=none; d=zohomail.com; s=zohoarc; b=gaHUvZ2x8VPK62q/6EDADWmvOxKLiTT/Z7kdAz7tkcWiTWWxcaTfd2HvKOjCHvlTCupXUbKnESQjUmw+bTWZ4c2f/sW49M1aIN6+Yd3edUptFUDAMhlPXG3pYqesyn4uwF5pjpreXhrGzTAJWrwxPm6qgdGliXTFp5+975HK9Qk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1637690685; 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=r49ot8BJYuokleG0RC0NuU+Ny49qtR7pXj0YA2INqc4=; b=QiXSDrjOq8FKCz27dGr8Wg6+qVIKFdxB/rOiNzIllEedEpznQ7vOInPg1WHclexnwDRmFWeSFfkBfX353jBhe+OkkdMq/PhOJeTl29XVbGkHyhgMUshKkX9Ov/QzR41Oq5g0QxYyA7lKa+2TosTnWsKqaRe2kmvPS8qAawONprk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.zohomail.com with SMTPS id 1637690685169662.2073199135109; Tue, 23 Nov 2021 10:04:45 -0800 (PST) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-259-OQG4TJblNoGqfpbTFC80Pg-1; Tue, 23 Nov 2021 13:04:42 -0500 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id EBD7E802682; Tue, 23 Nov 2021 18:04:29 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id CEF915BAE0; Tue, 23 Nov 2021 18:04:29 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 8457B4E58E; Tue, 23 Nov 2021 18:04:29 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 1ANI4OaF028899 for ; Tue, 23 Nov 2021 13:04:25 -0500 Received: by smtp.corp.redhat.com (Postfix) id F0FFF2B0B8; Tue, 23 Nov 2021 18:04:24 +0000 (UTC) Received: from localhost.localdomain.com (unknown [10.33.36.13]) by smtp.corp.redhat.com (Postfix) with ESMTP id 5F0695BAE0; Tue, 23 Nov 2021 18:04:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1637690683; 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=r49ot8BJYuokleG0RC0NuU+Ny49qtR7pXj0YA2INqc4=; b=UzF0ZUvFa/GHVsQ35UyxVaud52dIfG0+TZH+pnQ2y0IxL35j+K0SKFR6dIHC5uD4bUL5+y Npt0en/MFl9/MF+/gKJZWM8E2WEfPFhyfMkxAubi2gMwpCR0ETxIEEuojMAk2atfxbT1oY HSEllBJPQ9V7BRvjDCazDsEg4QtpeCw= X-MC-Unique: OQG4TJblNoGqfpbTFC80Pg-1 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: libvir-list@redhat.com Subject: [libvirt PATCH 1/3] conf: add TPM devices to domain capabilities Date: Tue, 23 Nov 2021 18:04:06 +0000 Message-Id: <20211123180408.150785-2-berrange@redhat.com> In-Reply-To: <20211123180408.150785-1-berrange@redhat.com> References: <20211123180408.150785-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1637690685772100001 This adds reporting of available TPM models and backends to the domain capabilities schema Signed-off-by: Daniel P. Berrang=C3=A9 --- docs/schemas/domaincaps.rng | 10 ++++++++++ src/conf/domain_capabilities.c | 14 ++++++++++++++ src/conf/domain_capabilities.h | 10 ++++++++++ 3 files changed, 34 insertions(+) diff --git a/docs/schemas/domaincaps.rng b/docs/schemas/domaincaps.rng index 8b5267f741..1b6122507f 100644 --- a/docs/schemas/domaincaps.rng +++ b/docs/schemas/domaincaps.rng @@ -195,6 +195,9 @@ + + + =20 @@ -240,6 +243,13 @@ =20 + + + + + + + diff --git a/src/conf/domain_capabilities.c b/src/conf/domain_capabilities.c index 1766129092..fef1326190 100644 --- a/src/conf/domain_capabilities.c +++ b/src/conf/domain_capabilities.c @@ -533,6 +533,19 @@ virDomainCapsDeviceRNGFormat(virBuffer *buf, } =20 =20 +static void +virDomainCapsDeviceTPMFormat(virBuffer *buf, + const virDomainCapsDeviceTPM *tpm) +{ + FORMAT_PROLOGUE(tpm); + + ENUM_PROCESS(tpm, model, virDomainTPMModelTypeToString); + ENUM_PROCESS(tpm, backendModel, virDomainTPMBackendTypeToString); + + FORMAT_EPILOGUE(tpm); +} + + static void virDomainCapsDeviceFilesystemFormat(virBuffer *buf, const virDomainCapsDeviceFilesystem *f= ilesystem) @@ -652,6 +665,7 @@ virDomainCapsFormat(const virDomainCaps *caps) virDomainCapsDeviceHostdevFormat(&buf, &caps->hostdev); virDomainCapsDeviceRNGFormat(&buf, &caps->rng); virDomainCapsDeviceFilesystemFormat(&buf, &caps->filesystem); + virDomainCapsDeviceTPMFormat(&buf, &caps->tpm); =20 virBufferAdjustIndent(&buf, -2); virBufferAddLit(&buf, "\n"); diff --git a/src/conf/domain_capabilities.h b/src/conf/domain_capabilities.h index d44acdcd01..2fcad87fd8 100644 --- a/src/conf/domain_capabilities.h +++ b/src/conf/domain_capabilities.h @@ -120,6 +120,15 @@ struct _virDomainCapsDeviceRNG { virDomainCapsEnum backendModel; /* virDomainRNGBackend */ }; =20 +STATIC_ASSERT_ENUM(VIR_DOMAIN_TPM_MODEL_LAST); +STATIC_ASSERT_ENUM(VIR_DOMAIN_TPM_TYPE_LAST); +typedef struct _virDomainCapsDeviceTPM virDomainCapsDeviceTPM; +struct _virDomainCapsDeviceTPM { + virTristateBool supported; + virDomainCapsEnum model; /* virDomainTPMModel */ + virDomainCapsEnum backendModel; /* virDomainTPMBackendType */ +}; + STATIC_ASSERT_ENUM(VIR_DOMAIN_FS_DRIVER_TYPE_LAST); typedef struct _virDomainCapsDeviceFilesystem virDomainCapsDeviceFilesyste= m; struct _virDomainCapsDeviceFilesystem { @@ -211,6 +220,7 @@ struct _virDomainCaps { virDomainCapsDeviceHostdev hostdev; virDomainCapsDeviceRNG rng; virDomainCapsDeviceFilesystem filesystem; + virDomainCapsDeviceTPM tpm; /* add new domain devices here */ =20 virDomainCapsFeatureGIC gic; --=20 2.33.1