From nobody Wed Apr 24 11:46:37 2024
Delivered-To: importer@patchew.org
Received-SPF: pass (zohomail.com: domain of redhat.com designates
207.211.31.81 as permitted sender) client-ip=207.211.31.81;
envelope-from=libvir-list-bounces@redhat.com;
helo=us-smtp-delivery-1.mimecast.com;
Authentication-Results: mx.zohomail.com;
dkim=pass;
spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as
permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com;
dmarc=fail(p=none dis=none) header.from=gmail.com
ARC-Seal: i=1; a=rsa-sha256; t=1590066489; cv=none;
d=zohomail.com; s=zohoarc;
b=mwVzpTJg3Yz7tSVY1sHlvQ60kG3JfTjcO3EX4c0+70z7HgOgv/B7ZEoAbL61Q5Gc0EDuxw5EQTomqUrY3uiljD5pj1RcD+8QNryExx0FoA3hWagzw0FZ8u9NwCPMfHXtzFTHz/oBEWohl4BLMsHMrJBRoJvk0HIyk9Mg36REqyo=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com;
s=zohoarc;
t=1590066489;
h=Content-Type:Content-Transfer-Encoding:Cc: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=ejQR6GgaCo9vBjKfISLhT3YRO0jX4LKdSEIGf2D39Qg=;
b=IzfCJ3Zd8WZVDeyW6BW56tnvzvXujdDLH1CSGvzssv5i4zKUlxt/T2CBzHkdg46RRQfrbGV597szT1YtdIAwXtPGGGR1t5g4DpL84eCMEdlhsL+J0eeDYpsRQKSQmWcQC2qVdeYuccvbLkq2eLZVXQTfqmg110fR8QPZjM8UXd0=
ARC-Authentication-Results: i=1; mx.zohomail.com;
dkim=pass;
spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as
permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com;
dmarc=fail header.from= (p=none dis=none)
header.from=
Return-Path:
Received: from us-smtp-delivery-1.mimecast.com (us-smtp-1.mimecast.com
[207.211.31.81]) by mx.zohomail.com
with SMTPS id 1590066489476742.8496664072348;
Thu, 21 May 2020 06:08:09 -0700 (PDT)
Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com
[209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id
us-mta-283-jgganNmzOT-pOHtSe2oy_Q-1; Thu, 21 May 2020 09:08:06 -0400
Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com
[10.5.11.23])
(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
(No client certificate requested)
by mimecast-mx01.redhat.com (Postfix) with ESMTPS id C8E681B18BC1;
Thu, 21 May 2020 13:07:59 +0000 (UTC)
Received: from colo-mx.corp.redhat.com
(colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20])
by smtp.corp.redhat.com (Postfix) with ESMTPS id A67213420C;
Thu, 21 May 2020 13:07:59 +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 76D441809554;
Thu, 21 May 2020 13:07:59 +0000 (UTC)
Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com
[10.11.54.4])
by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP
id 04LD7nAL029889 for ;
Thu, 21 May 2020 09:07:50 -0400
Received: by smtp.corp.redhat.com (Postfix)
id BA88E2029F61; Thu, 21 May 2020 13:07:49 +0000 (UTC)
Received: from mimecast-mx02.redhat.com
(mimecast03.extmail.prod.ext.rdu2.redhat.com [10.11.55.19])
by smtp.corp.redhat.com (Postfix) with ESMTPS id 9B2F0202696C
for ; Thu, 21 May 2020 13:07:49 +0000 (UTC)
Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com
[207.211.31.120])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits))
(No client certificate requested)
by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 6E066803AC4
for ; Thu, 21 May 2020 13:07:49 +0000 (UTC)
Received: from mail-qk1-f194.google.com (mail-qk1-f194.google.com
[209.85.222.194]) (Using TLS) by relay.mimecast.com with ESMTP id
us-mta-437-_IrzzqOXM--eZv_Ssytu8g-1; Thu, 21 May 2020 09:07:44 -0400
Received: by mail-qk1-f194.google.com with SMTP id 190so7144852qki.1;
Thu, 21 May 2020 06:07:44 -0700 (PDT)
Received: from rekt.ibmuc.com ([2804:431:c7c6:e0b9:8f39:f7d8:19fe:be67])
by smtp.gmail.com with ESMTPSA id
e27sm4557800qkl.47.2020.05.21.06.07.40
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Thu, 21 May 2020 06:07:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1590066488;
h=from:from:sender:sender:reply-to:subject:subject:date:date:
message-id:message-id:to:to:cc: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=ejQR6GgaCo9vBjKfISLhT3YRO0jX4LKdSEIGf2D39Qg=;
b=fT+K+dqAhN08B73OzknzUNBoBiYljWA1B4e8vV545j1t7dqkvrtUJfEWt4EFhgBzrlKggW
tdihEFx7y2/Ko9RWasT0xLGsKDCNv2ROOjkZp39gnsRRUTiQEBnOaugtMDkfs7j+5ZrGzr
FluKm1E8Ng/zTg8cIWGvUxGjgEu/dIs=
X-MC-Unique: jgganNmzOT-pOHtSe2oy_Q-1
X-MC-Unique: _IrzzqOXM--eZv_Ssytu8g-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
:references:mime-version:content-transfer-encoding;
bh=ejQR6GgaCo9vBjKfISLhT3YRO0jX4LKdSEIGf2D39Qg=;
b=Akub6RewjPSjn3NeYrqLY6yOhHj2vmMgMbMzoSnslBZGyHkuL3pAB7cM9oy38NU5ns
PabcgOTc1FG4dxjUwB7oj/0DyRxUiVYRFwbW9uKvutnuLuB8D3HZQ6xr+ow3U2HmYqdK
1i9AJB6YCo9FZZNZH7mpSied6McuPVOz/nw/N+LO1mWic74UTRrTAexhi5EFRznFQKiA
5XocVQDPBCZU5ZsZxBANXbDzEQDinPSgqL5T1qiFdKP0EL/0IOA/mwogwZz+iW+JWTIb
RgXFYzzPGFVbR9i6gY+Er7a8NUVI3Tm+sjgsU2YU5rQnHJd0M6gpd5jQr583hNHIlztH
gTPQ==
X-Gm-Message-State: AOAM5328Zm9DnvePf6X4kQAiHUUEPj+yPx/IUw3hz/QpEvHHiAC7EULZ
baTwk7lHMYeOSPN+8faW+uDqvMaDX/M=
X-Google-Smtp-Source:
ABdhPJyJy1++vjAgCxuNo4MGu9FSslD91kNx6Dx6ZFOA2sj8hbNQR6/CdCx24D7wkPFJPC+0d8CEiA==
X-Received: by 2002:ae9:ef07:: with SMTP id d7mr10080493qkg.229.1590066463385;
Thu, 21 May 2020 06:07:43 -0700 (PDT)
From: Daniel Henrique Barboza
To: libvir-list@redhat.com
Subject: [PATCH v5 01/10] docs: documentation and schema for the new TPM Proxy
model
Date: Thu, 21 May 2020 10:07:21 -0300
Message-Id: <20200521130730.3426950-2-danielhb413@gmail.com>
In-Reply-To: <20200521130730.3426950-1-danielhb413@gmail.com>
References: <20200521130730.3426950-1-danielhb413@gmail.com>
MIME-Version: 1.0
X-Scanned-By: MIMEDefang 2.78 on 10.11.54.4
X-loop: libvir-list@redhat.com
Cc: Daniel Henrique Barboza , jtomko@redhat.com,
stefanb@linux.ibm.com, sathnaga@linux.vnet.ibm.com,
david@gibson.dropbear.id.au
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.84 on 10.5.11.23
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Transfer-Encoding: quoted-printable
X-ZohoMail-DKIM: pass (identity @redhat.com)
Content-Type: text/plain; charset="utf-8"
QEMU 4.1.0 introduced a new device type called TPM Proxy, currently
implemented by PPC64 guests via a new virtual device called
'spapr-tpm-proxy' (see QEMU 0fb6bd073230 for more info).
The TPM Proxy device interacts with a TPM Resource Manager, a host
device capable of multiplexing the host TPM with multiple processes.
This allows multiple guests to access some TPM features at the
same time. Note that this mode of operation does not provide
full TPM features to be available for the guest - for that case
the guest still needs to assign a vTPM device (tpm-spapr for
PPC64 guests). Although redundant, there is currently no technical
limitation for a guest to assign both a vTPM and a TPM Proxy at the
same time.
This patch adds documentation and schema for a new TPM model
type called 'spapr-tpm-proxy' that creates this new TPM Proxy
device. This model is valid only for the 'passthrough' backend.
An example of a TPM Proxy device connected to a TPM Resource Manager
'/dev/tpmrm0' will look like this:
Signed-off-by: Daniel Henrique Barboza
Tested-by: Satheesh Rajendran
---
docs/formatdomain.html.in | 19 ++++++++++++++++++-
docs/schemas/domaincommon.rng | 1 +
2 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in
index 23eb029234..15109e136c 100644
--- a/docs/formatdomain.html.in
+++ b/docs/formatdomain.html.in
@@ -8792,6 +8792,18 @@ qemu-kvm -net nic,model=3D? /dev/null
backend device is a TPM 2.0. Since 6.1.0=
span>,
pSeries guests on PPC64 are supported and the default is
tpm-spapr
.
+
+ Since 6.4.0, a new model called
+ spapr-tpm-proxy
was added for pSeries guests. This =
model
+ only works with the passthrough
backend. It creates=
a
+ TPM Proxy device that communicates with an existing TPM Resource=
Manager
+ in the host, for example /dev/tpmrm0
, enabling the =
guest to
+ run in secure virtual machine mode with the help of an Ultraviso=
r. Adding
+ a TPM Proxy to a pSeries guest brings no security benefits unles=
s the guest
+ is running on a PPC64 host that has an Ultravisor and a TPM Reso=
urce Manager.
+ Only one TPM Proxy device is allowed per guest, but a TPM Proxy =
device can
+ be added together with
+ other TPM devices.
backend
@@ -8804,7 +8816,7 @@ qemu-kvm -net nic,model=3D? /dev/null
passthrough
- Use the host's TPM device.
+ Use the host's TPM or TPM Resource Manager device.
This backend type requires exclusive access to a TPM device =
on
@@ -8812,6 +8824,11 @@ qemu-kvm -net nic,model=3D? /dev/null
qualified file name is specified by path attribute of the
source
element. If no file name is specified th=
en
/dev/tpm0 is automatically used.
+
+ Since 6.4.0, when choosing the
+ spapr-tpm-proxy
model, the file name specified =
is
+ expected to be a TPM Resource Manager device, e.g.
+ /dev/tpmrm0
.
diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng
index 9d60b090f3..50860419c3 100644
--- a/docs/schemas/domaincommon.rng
+++ b/docs/schemas/domaincommon.rng
@@ -4610,6 +4610,7 @@
tpm-tis
tpm-crb
tpm-spapr
+ spapr-tpm-proxy
--=20
2.26.2
From nobody Wed Apr 24 11:46:37 2024
Delivered-To: importer@patchew.org
Received-SPF: pass (zohomail.com: domain of redhat.com designates
205.139.110.120 as permitted sender) client-ip=205.139.110.120;
envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-1.mimecast.com;
Authentication-Results: mx.zohomail.com;
dkim=pass;
spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.120 as
permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com;
dmarc=fail(p=none dis=none) header.from=gmail.com
ARC-Seal: i=1; a=rsa-sha256; t=1590066483; cv=none;
d=zohomail.com; s=zohoarc;
b=ctbv7cedZwNXi+BJ7g0VzdgdHSBJXwcfxqzOUqfPmiq5rIbav+/UnzfTmBa9hX1tZe3wSP0Mx9Iw2C+rGhtIdE5L4rXoOkc2XIgnvy6HJfyChKNjHl+CrG9hjToCk66k5LwVAXWJ+A8qa5v0QyWkoM4CdXOr49ipizv8QVSjqPE=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com;
s=zohoarc;
t=1590066483;
h=Content-Type:Content-Transfer-Encoding:Cc: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=2haz585ez7qaTyw5bgF9v7KPZuWAx+sJPsVW1orWwlg=;
b=mwYHkVG375EhY98EWJ1Gu1XtL5RphGiAvf0TsA2/eRcHbnWxUU7GLOFc8rvVNBH4RKczDfkfeEsoLIj7SXYMZX0WaOlc3DCX362lgouHHcXJruoAdfPJXPCeZGOguhD9RJZlowRVddwqBURny1CFekr1iXjxNIYz78RsA20KSas=
ARC-Authentication-Results: i=1; mx.zohomail.com;
dkim=pass;
spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.120 as
permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com;
dmarc=fail header.from= (p=none dis=none)
header.from=
Return-Path:
Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com
[205.139.110.120]) by mx.zohomail.com
with SMTPS id 159006648344427.954867031647836;
Thu, 21 May 2020 06:08:03 -0700 (PDT)
Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com
[209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id
us-mta-152-0vV_XDmIN06W4EoOhhHNPQ-1; Thu, 21 May 2020 09:07:59 -0400
Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com
[10.5.11.11])
(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
(No client certificate requested)
by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 7EBCD107ACCD;
Thu, 21 May 2020 13:07:54 +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 5D82D12A4D;
Thu, 21 May 2020 13:07:54 +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 2C50D54D01;
Thu, 21 May 2020 13:07:54 +0000 (UTC)
Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com
[10.11.54.5])
by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP
id 04LD7q2S029900 for ;
Thu, 21 May 2020 09:07:52 -0400
Received: by smtp.corp.redhat.com (Postfix)
id 4E2C6DBB1E; Thu, 21 May 2020 13:07:52 +0000 (UTC)
Received: from mimecast-mx02.redhat.com
(mimecast02.extmail.prod.ext.rdu2.redhat.com [10.11.55.18])
by smtp.corp.redhat.com (Postfix) with ESMTPS id 409C0DBF04
for ; Thu, 21 May 2020 13:07:50 +0000 (UTC)
Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com
[205.139.110.120])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits))
(No client certificate requested)
by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 3ACE68007DC
for ; Thu, 21 May 2020 13:07:50 +0000 (UTC)
Received: from mail-qv1-f66.google.com (mail-qv1-f66.google.com
[209.85.219.66]) (Using TLS) by relay.mimecast.com with ESMTP id
us-mta-484--7Qp0cHPMUOzt6kqsQhFuQ-1; Thu, 21 May 2020 09:07:47 -0400
Received: by mail-qv1-f66.google.com with SMTP id g20so2990314qvb.9;
Thu, 21 May 2020 06:07:47 -0700 (PDT)
Received: from rekt.ibmuc.com ([2804:431:c7c6:e0b9:8f39:f7d8:19fe:be67])
by smtp.gmail.com with ESMTPSA id
e27sm4557800qkl.47.2020.05.21.06.07.43
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Thu, 21 May 2020 06:07:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1590066482;
h=from:from:sender:sender:reply-to:subject:subject:date:date:
message-id:message-id:to:to:cc: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=2haz585ez7qaTyw5bgF9v7KPZuWAx+sJPsVW1orWwlg=;
b=bDl4eWBsKEIyS0ol2oBex6fj/KjzY0+PVbCDcqG3DGkzqsLOgZ1N4CXxgAN10fs01H9h1h
rUlpQ5Km67Bvh4XC9e0L0ZIYfy2TP1da231k29UlkJT040npagQhyHvhaD1coktD1Iar9H
wnp4h0OdV3sb6PL+brBQWZo5VPyT24s=
X-MC-Unique: 0vV_XDmIN06W4EoOhhHNPQ-1
X-MC-Unique: -7Qp0cHPMUOzt6kqsQhFuQ-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
:references:mime-version:content-transfer-encoding;
bh=2haz585ez7qaTyw5bgF9v7KPZuWAx+sJPsVW1orWwlg=;
b=VhsP6n5bAeJGzIogY9ShOATXoG5MM0ZMMODIGBKHJ9mdc1/jKwy1TgVPBTRX81p2H2
4nJjSz1jLAF7xKxQNJKdlSeOOVC34kCXEBzqIoik6bIaNy4hkloN1c9WbOqH5J4wv1jG
k0nQBbzLer2+zIrP+WGueW0qoo1uBKULseG/89DCIcGDVTPJwRt09MBv2lJzbNWgcb1a
z4NOLBfOA7ievzzeJYmP+tYWEz8Py7u7qS5Fz22F2M7tHSuGOnt/0S/0C9QAajsV217+
tX5E6Nu1wtIjw9s+2rGULugcoKNcy3qmHrcN6ZGzPCcprqbylTXW+l54KXzrYVFsZ1yc
ycvQ==
X-Gm-Message-State: AOAM532L1Fd7diULllz65rqhMFr7fsb0/mSiPgGZ/t/FnHeJHuMnmQpH
5LNL+mmaYjvuqV5LhkcQipASfW8Tm/Y=
X-Google-Smtp-Source:
ABdhPJwq4wRnezG+T3zQaNnD+F+Zd7kV1S29x78LzW+fTFN/2Gxv2NydZuho38qjp5fRBcWdfyv2ug==
X-Received: by 2002:a05:6214:1506:: with SMTP id
e6mr10064320qvy.61.1590066465746;
Thu, 21 May 2020 06:07:45 -0700 (PDT)
From: Daniel Henrique Barboza
To: libvir-list@redhat.com
Subject: [PATCH v5 02/10] qemu: Extend QEMU capabilities with
'spapr-tpm-proxy'
Date: Thu, 21 May 2020 10:07:22 -0300
Message-Id: <20200521130730.3426950-3-danielhb413@gmail.com>
In-Reply-To: <20200521130730.3426950-1-danielhb413@gmail.com>
References: <20200521130730.3426950-1-danielhb413@gmail.com>
MIME-Version: 1.0
X-Scanned-By: MIMEDefang 2.79 on 10.11.54.5
X-loop: libvir-list@redhat.com
Cc: Daniel Henrique Barboza , jtomko@redhat.com,
stefanb@linux.ibm.com, sathnaga@linux.vnet.ibm.com,
david@gibson.dropbear.id.au
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.11
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)
Expose the TPM Proxy support for PPC64 guests by creating a new
cap called QEMU_CAPS_DEVICE_SPAPR_TPM_PROXY.
This device is part of the machinery the guest need to orchestrate
with the PPC64 Ultravisor the transition to the Secure VM (SVM)
mode. Inside QEMU, this device will be used with the H_TPM_COMM
hypercall to connect with the TPM Resource Manager, enabling
the guest to open and close TPM sessions with the host TPM.
Reviewed-by: Stefan Berger
Reviewed-by: J=C3=A1n Tomko
Signed-off-by: Daniel Henrique Barboza
Tested-by: Satheesh Rajendran
---
src/qemu/qemu_capabilities.c | 4 ++++
src/qemu/qemu_capabilities.h | 3 +++
tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 1 +
4 files changed, 9 insertions(+)
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index d9b339cbfb..56bb013d7e 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -582,6 +582,9 @@ VIR_ENUM_IMPL(virQEMUCaps,
"tcg",
"virtio-blk-pci.scsi.default.disabled",
"pvscsi",
+
+ /* 370 */
+ "spapr-tpm-proxy",
);
=20
=20
@@ -1305,6 +1308,7 @@ struct virQEMUCapsStringFlags virQEMUCapsObjectTypes[=
] =3D {
{ "vhost-user-fs-device", QEMU_CAPS_DEVICE_VHOST_USER_FS },
{ "tcg-accel", QEMU_CAPS_TCG },
{ "pvscsi", QEMU_CAPS_SCSI_PVSCSI },
+ { "spapr-tpm-proxy", QEMU_CAPS_DEVICE_SPAPR_TPM_PROXY },
};
=20
=20
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
index 076ecad0f7..478cd2398f 100644
--- a/src/qemu/qemu_capabilities.h
+++ b/src/qemu/qemu_capabilities.h
@@ -564,6 +564,9 @@ typedef enum { /* virQEMUCapsFlags grouping marker for =
syntax-check */
QEMU_CAPS_VIRTIO_BLK_SCSI_DEFAULT_DISABLED, /* virtio-blk-pci.scsi dis=
abled by default */
QEMU_CAPS_SCSI_PVSCSI, /* -device pvscsi */
=20
+ /* 370 */
+ QEMU_CAPS_DEVICE_SPAPR_TPM_PROXY, /* -device spapr-tpm-proxy */
+
QEMU_CAPS_LAST /* this must always be the last item */
} virQEMUCapsFlags;
=20
diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml b/tests/qemuca=
pabilitiesdata/caps_4.2.0.ppc64.xml
index eeec181f62..b6b226da51 100644
--- a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml
@@ -185,6 +185,7 @@
+
4001050
0
42900242
diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml b/tests/qemuca=
pabilitiesdata/caps_5.0.0.ppc64.xml
index 69e5b4c8fa..ee5ab416aa 100644
--- a/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml
@@ -201,6 +201,7 @@
+
5000000
0
42900241
--=20
2.26.2
From nobody Wed Apr 24 11:46:37 2024
Delivered-To: importer@patchew.org
Received-SPF: pass (zohomail.com: domain of redhat.com designates
207.211.31.120 as permitted sender) client-ip=207.211.31.120;
envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-1.mimecast.com;
Authentication-Results: mx.zohomail.com;
dkim=pass;
spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 as
permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com;
dmarc=fail(p=none dis=none) header.from=gmail.com
ARC-Seal: i=1; a=rsa-sha256; t=1590066495; cv=none;
d=zohomail.com; s=zohoarc;
b=HfUxtc5TKUCFrX4FefF/Z9h76EOrbnn8EJm8znpKw0erz/fviVSFGyR1cUhL7hDA07dOFuGRfwcVvRTKNs/syJiYcfdImiU0ZgxyYiGHkjj03N9CPFpUr/VYyU4ecRwclOBzhGZYHzwD/LXp6ehoxybZBYR8io9QG0my/DOfZMA=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com;
s=zohoarc;
t=1590066495;
h=Content-Type:Content-Transfer-Encoding:Cc: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=D+aduIwTTJClmslXEioe3Ujl3Y0RkrVqcVpWbq5/jHM=;
b=IUMp9AQMWAFXLpY+ET5QsE+idwxj7f5WCRIsh4WtyXsIeLbpZvVaxlPRtucnHgYh2ZfLZTvtAmABHwr+Q0aUXRYmPda2bK0xqCqiJ/ZSZHkUwbT1WFeMvuWQ8VXTkrHh8Tc50PcW80/GS+OD1FiASIVr/2XM8Y6oCjro1dDPfzY=
ARC-Authentication-Results: i=1; mx.zohomail.com;
dkim=pass;
spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 as
permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com;
dmarc=fail header.from= (p=none dis=none)
header.from=
Return-Path:
Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com
[207.211.31.120]) by mx.zohomail.com
with SMTPS id 1590066495875265.642752156748;
Thu, 21 May 2020 06:08:15 -0700 (PDT)
Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com
[209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id
us-mta-205-L5903XnoPRGSRKy_HuS-lQ-1; Thu, 21 May 2020 09:08:12 -0400
Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com
[10.5.11.23])
(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
(No client certificate requested)
by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 2284E1005510;
Thu, 21 May 2020 13:08:06 +0000 (UTC)
Received: from colo-mx.corp.redhat.com
(colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20])
by smtp.corp.redhat.com (Postfix) with ESMTPS id F33F73420F;
Thu, 21 May 2020 13:08:05 +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 C51C61809563;
Thu, 21 May 2020 13:08:05 +0000 (UTC)
Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com
[10.11.54.3])
by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP
id 04LD7r2m029908 for ;
Thu, 21 May 2020 09:07:53 -0400
Received: by smtp.corp.redhat.com (Postfix)
id 9B71A10BC2A1; Thu, 21 May 2020 13:07:53 +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 8650E10BC296
for ; Thu, 21 May 2020 13:07:51 +0000 (UTC)
Received: from us-smtp-1.mimecast.com (us-smtp-1.mimecast.com [207.211.31.81])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits))
(No client certificate requested)
by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 656638316F3
for ; Thu, 21 May 2020 13:07:51 +0000 (UTC)
Received: from mail-qt1-f195.google.com (mail-qt1-f195.google.com
[209.85.160.195]) (Using TLS) by relay.mimecast.com with ESMTP id
us-mta-239-jhzyu2AvPSqaiQiaRH5iPA-1; Thu, 21 May 2020 09:07:49 -0400
Received: by mail-qt1-f195.google.com with SMTP id v4so5387866qte.3;
Thu, 21 May 2020 06:07:48 -0700 (PDT)
Received: from rekt.ibmuc.com ([2804:431:c7c6:e0b9:8f39:f7d8:19fe:be67])
by smtp.gmail.com with ESMTPSA id
e27sm4557800qkl.47.2020.05.21.06.07.45
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Thu, 21 May 2020 06:07:47 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1590066494;
h=from:from:sender:sender:reply-to:subject:subject:date:date:
message-id:message-id:to:to:cc: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=D+aduIwTTJClmslXEioe3Ujl3Y0RkrVqcVpWbq5/jHM=;
b=dTSJFQRmFsB5LhLlIInRM6Q5klhYZuwlRgYj4GOG9lxujHqSL7gqFu9NENsYmKeROARcNq
90Uge87ASxHJNz08ESxL95lhrfD9eXTN07rHgzf4/tzzE0/wT4p9gzPN+vBPzMfmYJ73LW
1kGStzKBeZxv5MA24nifIp3SGx2qBgY=
X-MC-Unique: L5903XnoPRGSRKy_HuS-lQ-1
X-MC-Unique: jhzyu2AvPSqaiQiaRH5iPA-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
:references:mime-version:content-transfer-encoding;
bh=D+aduIwTTJClmslXEioe3Ujl3Y0RkrVqcVpWbq5/jHM=;
b=kg8d3F9Qo3SUK+1OMcsA3rfbvi1PAPEoa/yni27W1+ueQyUSAVpD0yXHIq2fNhv1H1
shOOPLQR25meyGkWF/o4sruaC74iYEcFk1r30NXwCdFMcp1dLFu+87BcZkCCnG9ovOWx
t9+EipmvTiUzQPp7LtlIDHMHu5AGkQJMY0SPAjvV2OiisTRhomAItFCJg985G+Dsj04K
E+4SF3QcU04HKS6WErqqAVSOfbD9AL3L4r46Z96+8tiwaUN7+NORaEBts9fZJgNsq2ZP
Uk1a7lFlkxoCTS/NRJsymmMdpbOCl++NO9yElV3plPD6t+C5APIM+X8zHFRyFKX6qQYf
ZdVA==
X-Gm-Message-State: AOAM532zfiANzaVIdYGxukRJhX9p2vVrZxU2u3wkDrr9ACVfRfjpCtnE
gKAURw4JO8epopbd82rs5jlVK16JLl4=
X-Google-Smtp-Source:
ABdhPJxv7mwyiowH5YfHzNt/iF/m8Ufim23/UOidCpMrnvHcx80lJrTQSno25Xokz/rtaX+XHraGBg==
X-Received: by 2002:ac8:4e8d:: with SMTP id 13mr2716632qtp.169.1590066468232;
Thu, 21 May 2020 06:07:48 -0700 (PDT)
From: Daniel Henrique Barboza
To: libvir-list@redhat.com
Subject: [PATCH v5 03/10] qemu_extdevice.c: remove unneeded 'ret' variable
Date: Thu, 21 May 2020 10:07:23 -0300
Message-Id: <20200521130730.3426950-4-danielhb413@gmail.com>
In-Reply-To: <20200521130730.3426950-1-danielhb413@gmail.com>
References: <20200521130730.3426950-1-danielhb413@gmail.com>
MIME-Version: 1.0
X-Scanned-By: MIMEDefang 2.78 on 10.11.54.3
X-loop: libvir-list@redhat.com
Cc: Daniel Henrique Barboza , jtomko@redhat.com,
stefanb@linux.ibm.com, sathnaga@linux.vnet.ibm.com,
david@gibson.dropbear.id.au
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.84 on 10.5.11.23
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Transfer-Encoding: quoted-printable
X-ZohoMail-DKIM: pass (identity @redhat.com)
Content-Type: text/plain; charset="utf-8"
qemuExtDevicesInitPaths() does not need 'ret'.
Reviewed-by: Stefan Berger
Signed-off-by: Daniel Henrique Barboza
Tested-by: Satheesh Rajendran
---
src/qemu/qemu_extdevice.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/src/qemu/qemu_extdevice.c b/src/qemu/qemu_extdevice.c
index 2096272761..2ff3f68f5d 100644
--- a/src/qemu/qemu_extdevice.c
+++ b/src/qemu/qemu_extdevice.c
@@ -73,12 +73,10 @@ static int
qemuExtDevicesInitPaths(virQEMUDriverPtr driver,
virDomainDefPtr def)
{
- int ret =3D 0;
-
if (def->tpm)
- ret =3D qemuExtTPMInitPaths(driver, def);
+ return qemuExtTPMInitPaths(driver, def);
=20
- return ret;
+ return 0;
}
=20
=20
--=20
2.26.2
From nobody Wed Apr 24 11:46:37 2024
Delivered-To: importer@patchew.org
Received-SPF: pass (zohomail.com: domain of redhat.com designates
205.139.110.120 as permitted sender) client-ip=205.139.110.120;
envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-1.mimecast.com;
Authentication-Results: mx.zohomail.com;
dkim=pass;
spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.120 as
permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com;
dmarc=fail(p=none dis=none) header.from=gmail.com
ARC-Seal: i=1; a=rsa-sha256; t=1590066501; cv=none;
d=zohomail.com; s=zohoarc;
b=iZldeANsVloZa0qkuvASXqZx5MDIN42KfT+r2w8DfJcinQcgWsyYDCmZo/YHjBuQVpJsjjZOnQg1eqXdVO+LsB2UP/1FdNbwbahxUsVvlM7Hs32DJ6X/SOCEFIE85Tj21rdTIv8xPXVIOJakCWyQ7ExIfhMOqUtSwN+5qGPSows=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com;
s=zohoarc;
t=1590066501;
h=Content-Type:Content-Transfer-Encoding:Cc: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=7cjSDFny0uu6cXetLDlaX1pdePujA7fQLTajYz3Ams4=;
b=MdfnxeIldFsBwzIPgO8L+9BJT0tzkKbXQapYEUAnJX7n24GCPEjqWT/pXPimXIYFGisu1et1I4KfdXZ2AUDlpyJ9utLfOZDXhgUAOjAmLOHHa2FCsUKgQj45jeDWyg3+MzOswx+jcjnX23Xc4weMNVR2wgN7j/A7TRHdRG2XvJ8=
ARC-Authentication-Results: i=1; mx.zohomail.com;
dkim=pass;
spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.120 as
permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com;
dmarc=fail header.from= (p=none dis=none)
header.from=
Return-Path:
Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com
[205.139.110.120]) by mx.zohomail.com
with SMTPS id 1590066501139938.4015470237985;
Thu, 21 May 2020 06:08:21 -0700 (PDT)
Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com
[209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id
us-mta-142-ZOpagyZjMICzq-a7VsTmww-1; Thu, 21 May 2020 09:08:14 -0400
Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com
[10.5.11.12])
(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
(No client certificate requested)
by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 7C08F107ACF3;
Thu, 21 May 2020 13:08:08 +0000 (UTC)
Received: from colo-mx.corp.redhat.com
(colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20])
by smtp.corp.redhat.com (Postfix) with ESMTPS id 58FAB60C87;
Thu, 21 May 2020 13:08:08 +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 2A61A1806B0A;
Thu, 21 May 2020 13:08:08 +0000 (UTC)
Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com
[10.11.54.6])
by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP
id 04LD7vru029923 for ;
Thu, 21 May 2020 09:07:57 -0400
Received: by smtp.corp.redhat.com (Postfix)
id E16442156A3A; Thu, 21 May 2020 13:07:56 +0000 (UTC)
Received: from mimecast-mx02.redhat.com
(mimecast03.extmail.prod.ext.rdu2.redhat.com [10.11.55.19])
by smtp.corp.redhat.com (Postfix) with ESMTPS id DD3FA2157F23
for ; Thu, 21 May 2020 13:07:54 +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-SHA384 (256/256 bits))
(No client certificate requested)
by mimecast-mx02.redhat.com (Postfix) with ESMTPS id EDD5E80D683
for ; Thu, 21 May 2020 13:07:53 +0000 (UTC)
Received: from mail-qt1-f194.google.com (mail-qt1-f194.google.com
[209.85.160.194]) (Using TLS) by relay.mimecast.com with ESMTP id
us-mta-167-tQjg7R5pMDWVV2hjvlwqFw-1; Thu, 21 May 2020 09:07:51 -0400
Received: by mail-qt1-f194.google.com with SMTP id x12so5341517qts.9;
Thu, 21 May 2020 06:07:51 -0700 (PDT)
Received: from rekt.ibmuc.com ([2804:431:c7c6:e0b9:8f39:f7d8:19fe:be67])
by smtp.gmail.com with ESMTPSA id
e27sm4557800qkl.47.2020.05.21.06.07.48
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Thu, 21 May 2020 06:07:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1590066499;
h=from:from:sender:sender:reply-to:subject:subject:date:date:
message-id:message-id:to:to:cc: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=7cjSDFny0uu6cXetLDlaX1pdePujA7fQLTajYz3Ams4=;
b=XMQ7sSdSV4AIHU5WDSUliCo1Qbiugm5I3ls2L1AFdTEXl+eyTeqLQs7cA7MpuUlvtSbEfB
IJUkYQMFU3YmoS6egg3VKifd9VWR0vIWefh5iLtE21cMdyAzcIfoeBCf5gzAh3MQEkUzJP
C1dbC5Bd8kUwbNMjSGA4W8dyVvIqE7A=
X-MC-Unique: ZOpagyZjMICzq-a7VsTmww-1
X-MC-Unique: tQjg7R5pMDWVV2hjvlwqFw-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
:references:mime-version:content-transfer-encoding;
bh=7cjSDFny0uu6cXetLDlaX1pdePujA7fQLTajYz3Ams4=;
b=l9ilW/JcPjDBsrMRMTIMfTwS92CoBcoqUqLQBbn0pocK/roSVxCev2eEYX9chCsb5R
OJjdoOYaq5ma1pZoVs5wb9Cdv8GMAZuppvTq0nvs5HkKxVsXxm545qmTelR01rOZsyZm
gZdIOL2U5RaE0idaSW1kLjUmyksb+X9CV3VR+tGgFmFuZQ5TGO2Iyz2x70G4MdSo8sEj
79tAj4UeYHX9u0DSrdal3d2tFNI7pqhV4Coit1VjtltGNfmp9lKJIfMA+aPh7IP1bSGN
Dfo87piFHsUcB0psh0Him3vorm5z0i8OW18aWNGu/5q4YZ/io/x5SVCocwvBwZ289QeD
hu+A==
X-Gm-Message-State: AOAM531ZNfxywjFh6feI4KTMVJNYlGyOIRfwhXTzFijRPWO49rhDfeF0
BWjtlHX7GkIMvy4UXoffd7UUtuIazow=
X-Google-Smtp-Source:
ABdhPJxpA8TOD/PhB8HN2hKT3ug4CLIacQeaZ5CklBEC8qpFvxp/XNoGPqn4gBT3o0XTIC2uPDzOcA==
X-Received: by 2002:ac8:434e:: with SMTP id
a14mr10034793qtn.161.1590066470323;
Thu, 21 May 2020 06:07:50 -0700 (PDT)
From: Daniel Henrique Barboza
To: libvir-list@redhat.com
Subject: [PATCH v5 04/10] qemu_tpm, security,
tests: change 'switch' clauses for 'if'
Date: Thu, 21 May 2020 10:07:24 -0300
Message-Id: <20200521130730.3426950-5-danielhb413@gmail.com>
In-Reply-To: <20200521130730.3426950-1-danielhb413@gmail.com>
References: <20200521130730.3426950-1-danielhb413@gmail.com>
MIME-Version: 1.0
X-Scanned-By: MIMEDefang 2.78 on 10.11.54.6
X-loop: libvir-list@redhat.com
Cc: Daniel Henrique Barboza , jtomko@redhat.com,
stefanb@linux.ibm.com, sathnaga@linux.vnet.ibm.com,
david@gibson.dropbear.id.au
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.12
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Transfer-Encoding: quoted-printable
X-ZohoMail-DKIM: pass (identity @redhat.com)
Content-Type: text/plain; charset="utf-8"
This trivial rework is aimed to reduce the amount of line changes
made by the next patch, when 'def->tpm' will become a 'def->tpms'
array.
Instead of using a 'switch' where only the VIR_DOMAIN_TPM_TYPE_EMULATOR
label does something, use an 'if' clause instead.
Signed-off-by: Daniel Henrique Barboza
Reviewed-by: Stefan Berger
Tested-by: Satheesh Rajendran
---
src/qemu/qemu_tpm.c | 44 +++++----------------------------
src/security/security_selinux.c | 16 ++----------
src/security/virt-aa-helper.c | 7 +-----
tests/qemuxml2argvtest.c | 7 +-----
4 files changed, 10 insertions(+), 64 deletions(-)
diff --git a/src/qemu/qemu_tpm.c b/src/qemu/qemu_tpm.c
index fe567f440c..afec0e5328 100644
--- a/src/qemu/qemu_tpm.c
+++ b/src/qemu/qemu_tpm.c
@@ -680,14 +680,9 @@ qemuExtTPMInitPaths(virQEMUDriverPtr driver,
{
g_autoptr(virQEMUDriverConfig) cfg =3D virQEMUDriverGetConfig(driver);
=20
- switch (def->tpm->type) {
- case VIR_DOMAIN_TPM_TYPE_EMULATOR:
+ if (def->tpm->type =3D=3D VIR_DOMAIN_TPM_TYPE_EMULATOR)
return qemuTPMEmulatorInitPaths(def->tpm, cfg->swtpmStorageDir,
def->uuid);
- case VIR_DOMAIN_TPM_TYPE_PASSTHROUGH:
- case VIR_DOMAIN_TPM_TYPE_LAST:
- break;
- }
=20
return 0;
}
@@ -700,8 +695,7 @@ qemuExtTPMPrepareHost(virQEMUDriverPtr driver,
g_autoptr(virQEMUDriverConfig) cfg =3D virQEMUDriverGetConfig(driver);
g_autofree char *shortName =3D NULL;
=20
- switch (def->tpm->type) {
- case VIR_DOMAIN_TPM_TYPE_EMULATOR:
+ if (def->tpm->type =3D=3D VIR_DOMAIN_TPM_TYPE_EMULATOR) {
shortName =3D virDomainDefGetShortName(def);
if (!shortName)
return -1;
@@ -711,9 +705,6 @@ qemuExtTPMPrepareHost(virQEMUDriverPtr driver,
cfg->swtpm_group,
cfg->swtpmStateDir, cfg->user,
shortName);
- case VIR_DOMAIN_TPM_TYPE_PASSTHROUGH:
- case VIR_DOMAIN_TPM_TYPE_LAST:
- break;
}
=20
return 0;
@@ -723,15 +714,8 @@ qemuExtTPMPrepareHost(virQEMUDriverPtr driver,
void
qemuExtTPMCleanupHost(virDomainDefPtr def)
{
- switch (def->tpm->type) {
- case VIR_DOMAIN_TPM_TYPE_EMULATOR:
+ if (def->tpm->type =3D=3D VIR_DOMAIN_TPM_TYPE_EMULATOR)
qemuTPMDeleteEmulatorStorage(def->tpm);
- break;
- case VIR_DOMAIN_TPM_TYPE_PASSTHROUGH:
- case VIR_DOMAIN_TPM_TYPE_LAST:
- /* nothing to do */
- break;
- }
}
=20
=20
@@ -825,15 +809,9 @@ qemuExtTPMStart(virQEMUDriverPtr driver,
{
virDomainTPMDefPtr tpm =3D vm->def->tpm;
=20
- switch (tpm->type) {
- case VIR_DOMAIN_TPM_TYPE_EMULATOR:
+ if (tpm->type =3D=3D VIR_DOMAIN_TPM_TYPE_EMULATOR)
return qemuExtTPMStartEmulator(driver, vm, incomingMigration);
=20
- case VIR_DOMAIN_TPM_TYPE_PASSTHROUGH:
- case VIR_DOMAIN_TPM_TYPE_LAST:
- break;
- }
-
return 0;
}
=20
@@ -845,18 +823,13 @@ qemuExtTPMStop(virQEMUDriverPtr driver,
g_autoptr(virQEMUDriverConfig) cfg =3D virQEMUDriverGetConfig(driver);
g_autofree char *shortName =3D NULL;
=20
- switch (vm->def->tpm->type) {
- case VIR_DOMAIN_TPM_TYPE_EMULATOR:
+ if (vm->def->tpm->type =3D=3D VIR_DOMAIN_TPM_TYPE_EMULATOR) {
shortName =3D virDomainDefGetShortName(vm->def);
if (!shortName)
return;
=20
qemuTPMEmulatorStop(cfg->swtpmStateDir, shortName);
qemuSecurityCleanupTPMEmulator(driver, vm);
- break;
- case VIR_DOMAIN_TPM_TYPE_PASSTHROUGH:
- case VIR_DOMAIN_TPM_TYPE_LAST:
- break;
}
=20
return;
@@ -873,8 +846,7 @@ qemuExtTPMSetupCgroup(virQEMUDriverPtr driver,
int rc;
pid_t pid;
=20
- switch (def->tpm->type) {
- case VIR_DOMAIN_TPM_TYPE_EMULATOR:
+ if (def->tpm->type =3D=3D VIR_DOMAIN_TPM_TYPE_EMULATOR) {
shortName =3D virDomainDefGetShortName(def);
if (!shortName)
return -1;
@@ -886,10 +858,6 @@ qemuExtTPMSetupCgroup(virQEMUDriverPtr driver,
}
if (virCgroupAddProcess(cgroup, pid) < 0)
return -1;
- break;
- case VIR_DOMAIN_TPM_TYPE_PASSTHROUGH:
- case VIR_DOMAIN_TPM_TYPE_LAST:
- break;
}
=20
return 0;
diff --git a/src/security/security_selinux.c b/src/security/security_selinu=
x.c
index 9a929debe1..914a252df1 100644
--- a/src/security/security_selinux.c
+++ b/src/security/security_selinux.c
@@ -3493,10 +3493,7 @@ virSecuritySELinuxSetTPMLabels(virSecurityManagerPtr=
mgr,
if (seclabel =3D=3D NULL)
return 0;
=20
- switch (def->tpm->type) {
- case VIR_DOMAIN_TPM_TYPE_PASSTHROUGH:
- break;
- case VIR_DOMAIN_TPM_TYPE_EMULATOR:
+ if (def->tpm->type =3D=3D VIR_DOMAIN_TPM_TYPE_EMULATOR) {
ret =3D virSecuritySELinuxSetFileLabels(
mgr, def->tpm->data.emulator.storagepath,
seclabel);
@@ -3504,9 +3501,6 @@ virSecuritySELinuxSetTPMLabels(virSecurityManagerPtr =
mgr,
ret =3D virSecuritySELinuxSetFileLabels(
mgr, def->tpm->data.emulator.logfile,
seclabel);
- break;
- case VIR_DOMAIN_TPM_TYPE_LAST:
- break;
}
=20
return ret;
@@ -3519,18 +3513,12 @@ virSecuritySELinuxRestoreTPMLabels(virSecurityManag=
erPtr mgr,
{
int ret =3D 0;
=20
- switch (def->tpm->type) {
- case VIR_DOMAIN_TPM_TYPE_PASSTHROUGH:
- break;
- case VIR_DOMAIN_TPM_TYPE_EMULATOR:
+ if (def->tpm->type =3D=3D VIR_DOMAIN_TPM_TYPE_EMULATOR) {
ret =3D virSecuritySELinuxRestoreFileLabels(
mgr, def->tpm->data.emulator.storagepath);
if (ret =3D=3D 0 && def->tpm->data.emulator.logfile)
ret =3D virSecuritySELinuxRestoreFileLabels(
mgr, def->tpm->data.emulator.logfile);
- break;
- case VIR_DOMAIN_TPM_TYPE_LAST:
- break;
}
=20
return ret;
diff --git a/src/security/virt-aa-helper.c b/src/security/virt-aa-helper.c
index 6e6dd1b1db..6e8f77e4dd 100644
--- a/src/security/virt-aa-helper.c
+++ b/src/security/virt-aa-helper.c
@@ -1210,8 +1210,7 @@ get_files(vahControl * ctl)
char *shortName =3D NULL;
const char *tpmpath =3D NULL;
=20
- switch (ctl->def->tpm->type) {
- case VIR_DOMAIN_TPM_TYPE_EMULATOR:
+ if (ctl->def->tpm->type =3D=3D VIR_DOMAIN_TPM_TYPE_EMULATOR) {
shortName =3D virDomainDefGetShortName(ctl->def);
=20
switch (ctl->def->tpm->version) {
@@ -1244,10 +1243,6 @@ get_files(vahControl * ctl)
RUNSTATEDIR, shortName);
=20
VIR_FREE(shortName);
- break;
- case VIR_DOMAIN_TPM_TYPE_PASSTHROUGH:
- case VIR_DOMAIN_TPM_TYPE_LAST:
- break;
}
}
=20
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index 4f613e8f1a..c40ce64cbf 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -438,15 +438,10 @@ testCompareXMLToArgvCreateArgs(virQEMUDriverPtr drv,
}
=20
if (vm->def->tpm) {
- switch (vm->def->tpm->type) {
- case VIR_DOMAIN_TPM_TYPE_EMULATOR:
+ if (vm->def->tpm->type =3D=3D VIR_DOMAIN_TPM_TYPE_EMULATOR) {
VIR_FREE(vm->def->tpm->data.emulator.source.data.file.path);
vm->def->tpm->data.emulator.source.data.file.path =3D g_strdup=
("/dev/test");
vm->def->tpm->data.emulator.source.type =3D VIR_DOMAIN_CHR_TYP=
E_FILE;
- break;
- case VIR_DOMAIN_TPM_TYPE_PASSTHROUGH:
- case VIR_DOMAIN_TPM_TYPE_LAST:
- break;
}
}
=20
--=20
2.26.2
From nobody Wed Apr 24 11:46:37 2024
Delivered-To: importer@patchew.org
Received-SPF: pass (zohomail.com: domain of redhat.com designates
205.139.110.120 as permitted sender) client-ip=205.139.110.120;
envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-1.mimecast.com;
Authentication-Results: mx.zohomail.com;
dkim=pass;
spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.120 as
permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com;
dmarc=fail(p=none dis=none) header.from=gmail.com
ARC-Seal: i=1; a=rsa-sha256; t=1590066500; cv=none;
d=zohomail.com; s=zohoarc;
b=J0NyM/d19zvoKJSrnQZgTVu+0Ef/Ay6nP7/Zzdosewg6Ao+QPhwebvrn/wRErSd5e0WvlCg4lmqFE4u8lUznTC+nOiLH3ZyHadKXS8/Dl0uwEQBs5BVSedP9QwzhLXRFqoAkv5UiixSwRx6o0/m7BdPj4gi7kMEESXyB3r/ht4c=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com;
s=zohoarc;
t=1590066500;
h=Content-Type:Content-Transfer-Encoding:Cc: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=XY0sR/b134Qks1vDglm//6KgGqpeTMKMTd8muzb3MrA=;
b=TpRjfGKvHJ9HTNqegPJrUQQk27NrlRAiZmSyUTFKqQs3Cfyic49qda+t586qLkdpphFCOaCUfcgwsrkmWHHvA8m5H887lxdWAbVLfbowRe0v/RqsnjerFhJBprF4F2a2TWQznIG9qU4zTNaG7pa7OTfHzDDp0nKRC8wEt+SraNw=
ARC-Authentication-Results: i=1; mx.zohomail.com;
dkim=pass;
spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.120 as
permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com;
dmarc=fail header.from= (p=none dis=none)
header.from=
Return-Path:
Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com
[205.139.110.120]) by mx.zohomail.com
with SMTPS id 1590066500958239.7121329850271;
Thu, 21 May 2020 06:08:20 -0700 (PDT)
Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com
[209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id
us-mta-170-ZCKd1Os2Mya47ykyZ6c_zg-1; Thu, 21 May 2020 09:08:16 -0400
Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com
[10.5.11.11])
(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
(No client certificate requested)
by mimecast-mx01.redhat.com (Postfix) with ESMTPS id C9565107ACF4;
Thu, 21 May 2020 13:08:10 +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 A6F0C795A6;
Thu, 21 May 2020 13:08:10 +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 76FD654D03;
Thu, 21 May 2020 13:08:10 +0000 (UTC)
Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com
[10.11.54.3])
by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP
id 04LD7xIH029938 for ;
Thu, 21 May 2020 09:07:59 -0400
Received: by smtp.corp.redhat.com (Postfix)
id 64EE810BC28D; Thu, 21 May 2020 13:07:59 +0000 (UTC)
Received: from mimecast-mx02.redhat.com
(mimecast03.extmail.prod.ext.rdu2.redhat.com [10.11.55.19])
by smtp.corp.redhat.com (Postfix) with ESMTPS id 60A9610BC287
for ; Thu, 21 May 2020 13:07:59 +0000 (UTC)
Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com
[207.211.31.120])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits))
(No client certificate requested)
by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 3A2B9801019
for ; Thu, 21 May 2020 13:07:59 +0000 (UTC)
Received: from mail-qt1-f196.google.com (mail-qt1-f196.google.com
[209.85.160.196]) (Using TLS) by relay.mimecast.com with ESMTP id
us-mta-363-OHl--EGwPayjhmQeqdNFWA-1; Thu, 21 May 2020 09:07:54 -0400
Received: by mail-qt1-f196.google.com with SMTP id m44so5353672qtm.8;
Thu, 21 May 2020 06:07:54 -0700 (PDT)
Received: from rekt.ibmuc.com ([2804:431:c7c6:e0b9:8f39:f7d8:19fe:be67])
by smtp.gmail.com with ESMTPSA id
e27sm4557800qkl.47.2020.05.21.06.07.50
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Thu, 21 May 2020 06:07:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1590066499;
h=from:from:sender:sender:reply-to:subject:subject:date:date:
message-id:message-id:to:to:cc: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=XY0sR/b134Qks1vDglm//6KgGqpeTMKMTd8muzb3MrA=;
b=O5rR0kXm3QTizN/7nSvF7mY13YZ+Y8RoUqXu3CIKlP48N8/vWNCcr0xyKRQ4RDQFYURPLe
6KPNRrFsXjHFcfaCy6FobjCU8I3Ni1Jz7gtqPTCcC0YVssAJiJiuA6sPOjqJzvtvK98lOF
Cyc5v4CMGbkwXiQdJspW3+B/4emtLa0=
X-MC-Unique: ZCKd1Os2Mya47ykyZ6c_zg-1
X-MC-Unique: OHl--EGwPayjhmQeqdNFWA-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
:references:mime-version:content-transfer-encoding;
bh=XY0sR/b134Qks1vDglm//6KgGqpeTMKMTd8muzb3MrA=;
b=A4+5wB6dW9VhUIJY8Ky/oTLuY4vgLGohZI6dLSKXlT5AeQuceCMuriPFJFmLmAGw9k
zlKHLMafeoLw83/eshy0NGQXz2SD4zrzWez1YmW1PRVs4cpY2uZD4Bdw2oC/oVxyk1e/
msb9F3ZWcqNnVbn5VkDFt5pEDWancl9kNg8kxlTNIcz603FPvWnBiq0ZJ39CH9/OieWE
3XFOwIaVeXx/IKlGGX2YbJAAqHL4Lr2+R+ut/Sm2mcbAnvhlGbBwYX71sJzaJEosqhId
hIuIq9QZpKMypqEEbM1truDhycGRCwU5/tqsDSMmvs/V9NDsba3XYbXahHC0dG4PJs5i
9tew==
X-Gm-Message-State: AOAM533DniLbLhfkfHWBAam/67/u3d6wg1X1mIp4n5Yi7ohmt4RoZqai
2hreGduUbFzDX33000bVFnlCyGdaTo8=
X-Google-Smtp-Source:
ABdhPJzET6ZV4NmkeLMibnAioWIgLr5vF4Xd5oN4bBJ5tC1zqqQIoI9bVmBR/bwWGBtvBgZvivVkmA==
X-Received: by 2002:aed:2d02:: with SMTP id h2mr9741544qtd.83.1590066472973;
Thu, 21 May 2020 06:07:52 -0700 (PDT)
From: Daniel Henrique Barboza
To: libvir-list@redhat.com
Subject: [PATCH v5 05/10] conf, qemu, security,
tests: introducing 'def->tpms' array
Date: Thu, 21 May 2020 10:07:25 -0300
Message-Id: <20200521130730.3426950-6-danielhb413@gmail.com>
In-Reply-To: <20200521130730.3426950-1-danielhb413@gmail.com>
References: <20200521130730.3426950-1-danielhb413@gmail.com>
MIME-Version: 1.0
X-Scanned-By: MIMEDefang 2.78 on 10.11.54.3
X-loop: libvir-list@redhat.com
Cc: Daniel Henrique Barboza , jtomko@redhat.com,
stefanb@linux.ibm.com, sathnaga@linux.vnet.ibm.com,
david@gibson.dropbear.id.au
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.11
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Transfer-Encoding: quoted-printable
X-ZohoMail-DKIM: pass (identity @redhat.com)
Content-Type: text/plain; charset="utf-8"
A TPM Proxy device can coexist with a regular TPM, but the
current domain definition supports only a single TPM device
in the 'tpm' pointer. This patch replaces this existing pointer
in the domain definition to an array of TPM devices.
All files that references the old pointer were adapted to
handle the new array instead. virDomainDefParseXML() TPM related
code was adapted to handle the parsing of an extra TPM device.
TPM validations after this new scenario will be updated in
the next patch.
Signed-off-by: Daniel Henrique Barboza
Reviewed-by: Stefan Berger
Tested-by: Satheesh Rajendran
---
src/conf/domain_audit.c | 4 +--
src/conf/domain_conf.c | 50 +++++++++++++++++++------------
src/conf/domain_conf.h | 6 +++-
src/qemu/qemu_alias.c | 4 +--
src/qemu/qemu_cgroup.c | 10 ++++---
src/qemu/qemu_command.c | 34 ++++++++++++++-------
src/qemu/qemu_domain.c | 31 +++++++++++++-------
src/qemu/qemu_domain_address.c | 11 ++++---
src/qemu/qemu_extdevice.c | 18 +++++++-----
src/qemu/qemu_tpm.c | 52 +++++++++++++++++++++++++--------
src/security/security_dac.c | 8 ++---
src/security/security_selinux.c | 32 ++++++++++++--------
src/security/virt-aa-helper.c | 9 ++++--
tests/qemuxml2argvtest.c | 13 +++++----
14 files changed, 186 insertions(+), 96 deletions(-)
diff --git a/src/conf/domain_audit.c b/src/conf/domain_audit.c
index 1b0abb21a0..8bc6633af4 100644
--- a/src/conf/domain_audit.c
+++ b/src/conf/domain_audit.c
@@ -821,8 +821,8 @@ virDomainAuditStart(virDomainObjPtr vm, const char *rea=
son, bool success)
for (i =3D 0; i < vm->def->nrngs; i++)
virDomainAuditRNG(vm, NULL, vm->def->rngs[i], "start", true);
=20
- if (vm->def->tpm)
- virDomainAuditTPM(vm, vm->def->tpm, "start", true);
+ for (i =3D 0; i < vm->def->ntpms; i++)
+ virDomainAuditTPM(vm, vm->def->tpms[i], "start", true);
=20
for (i =3D 0; i < vm->def->nshmems; i++)
virDomainAuditShmem(vm, vm->def->shmems[i], "start", true);
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index c201fc901d..be90762af4 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -1165,6 +1165,7 @@ VIR_ENUM_IMPL(virDomainTPMModel,
"tpm-tis",
"tpm-crb",
"tpm-spapr",
+ "spapr-tpm-proxy",
);
=20
VIR_ENUM_IMPL(virDomainTPMBackend,
@@ -3479,7 +3480,9 @@ void virDomainDefFree(virDomainDefPtr def)
virDomainMemoryDefFree(def->mems[i]);
VIR_FREE(def->mems);
=20
- virDomainTPMDefFree(def->tpm);
+ for (i =3D 0; i < def->ntpms; i++)
+ virDomainTPMDefFree(def->tpms[i]);
+ VIR_FREE(def->tpms);
=20
for (i =3D 0; i < def->npanics; i++)
virDomainPanicDefFree(def->panics[i]);
@@ -4312,10 +4315,10 @@ virDomainDeviceInfoIterateInternal(virDomainDefPtr =
def,
if ((rc =3D cb(def, &device, &def->shmems[i]->info, opaque)) !=3D =
0)
return rc;
}
- if (def->tpm) {
- device.type =3D VIR_DOMAIN_DEVICE_TPM;
- device.data.tpm =3D def->tpm;
- if ((rc =3D cb(def, &device, &def->tpm->info, opaque)) !=3D 0)
+ device.type =3D VIR_DOMAIN_DEVICE_TPM;
+ for (i =3D 0; i < def->ntpms; i++) {
+ device.data.tpm =3D def->tpms[i];
+ if ((rc =3D cb(def, &device, &def->tpms[i]->info, opaque)) !=3D 0)
return rc;
}
device.type =3D VIR_DOMAIN_DEVICE_PANIC;
@@ -21964,15 +21967,23 @@ virDomainDefParseXML(xmlDocPtr xml,
if ((n =3D virXPathNodeSet("./devices/tpm", ctxt, &nodes)) < 0)
goto error;
=20
- if (n > 1) {
+ if (n > 2) {
virReportError(VIR_ERR_XML_ERROR, "%s",
- _("only a single TPM device is supported"));
+ _("a maximum of two TPM devices is supported, one o=
f "
+ "them being a TPM Proxy device"));
goto error;
}
=20
- if (n > 0) {
- if (!(def->tpm =3D virDomainTPMDefParseXML(xmlopt, nodes[0], ctxt,=
flags)))
+ if (n && VIR_ALLOC_N(def->tpms, n) < 0)
+ goto error;
+
+ for (i =3D 0; i < n; i++) {
+ virDomainTPMDefPtr tpm =3D virDomainTPMDefParseXML(xmlopt, nodes[i=
],
+ ctxt, flags);
+ if (!tpm)
goto error;
+
+ def->tpms[def->ntpms++] =3D tpm;
}
VIR_FREE(nodes);
=20
@@ -24334,16 +24345,19 @@ virDomainDefCheckABIStabilityFlags(virDomainDefPt=
r src,
goto error;
}
=20
- if (src->tpm && dst->tpm) {
- if (!virDomainTPMDefCheckABIStability(src->tpm, dst->tpm))
- goto error;
- } else if (src->tpm || dst->tpm) {
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
- _("Either both target and source domains or none of=
"
- "them must have TPM device present"));
+ if (src->ntpms !=3D dst->ntpms) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+ _("Target domain TPM device count %zu "
+ "does not match source %zu"),
+ dst->ntpms, src->ntpms);
goto error;
}
=20
+ for (i =3D 0; i < src->ntpms; i++) {
+ if (!virDomainTPMDefCheckABIStability(src->tpms[i], dst->tpms[i]))
+ goto error;
+ }
+
if (src->nmems !=3D dst->nmems) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("Target domain memory device count %zu "
@@ -29784,8 +29798,8 @@ virDomainDefFormatInternalSetRootName(virDomainDefP=
tr def,
goto error;
}
=20
- if (def->tpm) {
- if (virDomainTPMDefFormat(buf, def->tpm, flags) < 0)
+ for (n =3D 0; n < def->ntpms; n++) {
+ if (virDomainTPMDefFormat(buf, def->tpms[n], flags) < 0)
goto error;
}
=20
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index ddc75d8de2..32ae272cac 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -1293,6 +1293,7 @@ typedef enum {
VIR_DOMAIN_TPM_MODEL_TIS,
VIR_DOMAIN_TPM_MODEL_CRB,
VIR_DOMAIN_TPM_MODEL_SPAPR,
+ VIR_DOMAIN_TPM_MODEL_SPAPR_PROXY,
=20
VIR_DOMAIN_TPM_MODEL_LAST
} virDomainTPMModel;
@@ -2623,11 +2624,14 @@ struct _virDomainDef {
size_t npanics;
virDomainPanicDefPtr *panics;
=20
+ /* At maximum 2 TPMs on the domain, if a TPM Proxy is present. */
+ size_t ntpms;
+ virDomainTPMDefPtr *tpms;
+
/* Only 1 */
virDomainWatchdogDefPtr watchdog;
virDomainMemballoonDefPtr memballoon;
virDomainNVRAMDefPtr nvram;
- virDomainTPMDefPtr tpm;
virCPUDefPtr cpu;
virSysinfoDefPtr sysinfo;
virDomainRedirFilterDefPtr redirfilter;
diff --git a/src/qemu/qemu_alias.c b/src/qemu/qemu_alias.c
index d6527cb046..85fdb85940 100644
--- a/src/qemu/qemu_alias.c
+++ b/src/qemu/qemu_alias.c
@@ -669,8 +669,8 @@ qemuAssignDeviceAliases(virDomainDefPtr def, virQEMUCap=
sPtr qemuCaps)
if (qemuAssignDeviceRNGAlias(def, def->rngs[i]) < 0)
return -1;
}
- if (def->tpm) {
- if (qemuAssignDeviceTPMAlias(def->tpm, 0) < 0)
+ for (i =3D 0; i < def->ntpms; i++) {
+ if (qemuAssignDeviceTPMAlias(def->tpms[i], 0) < 0)
return -1;
}
for (i =3D 0; i < def->nmems; i++) {
diff --git a/src/qemu/qemu_cgroup.c b/src/qemu/qemu_cgroup.c
index d92202f847..eb0f03d4aa 100644
--- a/src/qemu/qemu_cgroup.c
+++ b/src/qemu/qemu_cgroup.c
@@ -332,10 +332,10 @@ qemuSetupChardevCgroupCB(virDomainDefPtr def G_GNUC_U=
NUSED,
=20
=20
static int
-qemuSetupTPMCgroup(virDomainObjPtr vm)
+qemuSetupTPMCgroup(virDomainObjPtr vm,
+ virDomainTPMDefPtr dev)
{
int ret =3D 0;
- virDomainTPMDefPtr dev =3D vm->def->tpm;
=20
switch (dev->type) {
case VIR_DOMAIN_TPM_TYPE_PASSTHROUGH:
@@ -805,8 +805,10 @@ qemuSetupDevicesCgroup(virDomainObjPtr vm)
vm) < 0)
return -1;
=20
- if (vm->def->tpm && qemuSetupTPMCgroup(vm) < 0)
- return -1;
+ for (i =3D 0; i < vm->def->ntpms; i++) {
+ if (qemuSetupTPMCgroup(vm, vm->def->tpms[i]) < 0)
+ return -1;
+ }
=20
for (i =3D 0; i < vm->def->nhostdevs; i++) {
/* This may allow /dev/vfio/vfio multiple times, but that
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 419eca5675..59caff08f2 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -8890,10 +8890,10 @@ qemuBuildDomainLoaderCommandLine(virCommandPtr cmd,
=20
static char *
qemuBuildTPMDevStr(const virDomainDef *def,
+ virDomainTPMDefPtr tpm,
virQEMUCapsPtr qemuCaps)
{
g_auto(virBuffer) buf =3D VIR_BUFFER_INITIALIZER;
- virDomainTPMDef *tpm =3D def->tpm;
const char *model =3D virDomainTPMModelTypeToString(tpm->model);
=20
virBufferAsprintf(&buf, "%s,tpmdev=3Dtpm-%s,id=3D%s",
@@ -8932,13 +8932,12 @@ qemuBuildTPMOpenBackendFDs(const char *tpmdev,
=20
=20
static char *
-qemuBuildTPMBackendStr(const virDomainDef *def,
- virCommandPtr cmd,
+qemuBuildTPMBackendStr(virCommandPtr cmd,
+ virDomainTPMDefPtr tpm,
int *tpmfd,
int *cancelfd,
char **chardev)
{
- const virDomainTPMDef *tpm =3D def->tpm;
g_auto(virBuffer) buf =3D VIR_BUFFER_INITIALIZER;
g_autofree char *cancel_path =3D NULL;
g_autofree char *devset =3D NULL;
@@ -8992,6 +8991,7 @@ qemuBuildTPMBackendStr(const virDomainDef *def,
static int
qemuBuildTPMCommandLine(virCommandPtr cmd,
const virDomainDef *def,
+ virDomainTPMDefPtr tpm,
virQEMUCapsPtr qemuCaps)
{
char *optstr;
@@ -9000,10 +9000,7 @@ qemuBuildTPMCommandLine(virCommandPtr cmd,
int cancelfd =3D -1;
char *fdset;
=20
- if (!def->tpm)
- return 0;
-
- if (!(optstr =3D qemuBuildTPMBackendStr(def, cmd,
+ if (!(optstr =3D qemuBuildTPMBackendStr(cmd, tpm,
&tpmfd, &cancelfd,
&chardev)))
return -1;
@@ -9032,7 +9029,7 @@ qemuBuildTPMCommandLine(virCommandPtr cmd,
VIR_FREE(fdset);
}
=20
- if (!(optstr =3D qemuBuildTPMDevStr(def, qemuCaps)))
+ if (!(optstr =3D qemuBuildTPMDevStr(def, tpm, qemuCaps)))
return -1;
=20
virCommandAddArgList(cmd, "-device", optstr, NULL);
@@ -9041,6 +9038,23 @@ qemuBuildTPMCommandLine(virCommandPtr cmd,
return 0;
}
=20
+
+static int
+qemuBuildTPMsCommandLine(virCommandPtr cmd,
+ const virDomainDef *def,
+ virQEMUCapsPtr qemuCaps)
+{
+ size_t i;
+
+ for (i =3D 0; i < def->ntpms; i++) {
+ if (qemuBuildTPMCommandLine(cmd, def, def->tpms[i], qemuCaps) < 0)
+ return -1;
+ }
+
+ return 0;
+}
+
+
static int
qemuBuildSEVCommandLine(virDomainObjPtr vm, virCommandPtr cmd,
virDomainSEVDefPtr sev)
@@ -9720,7 +9734,7 @@ qemuBuildCommandLine(virQEMUDriverPtr driver,
chardevStdioLogd) < 0)
return NULL;
=20
- if (qemuBuildTPMCommandLine(cmd, def, qemuCaps) < 0)
+ if (qemuBuildTPMsCommandLine(cmd, def, qemuCaps) < 0)
return NULL;
=20
if (qemuBuildInputCommandLine(cmd, def, qemuCaps) < 0)
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index d5e3d1a3cc..3173fc3a3b 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -11585,16 +11585,9 @@ qemuDomainSetupAllChardevs(virQEMUDriverConfigPtr =
cfg G_GNUC_UNUSED,
=20
static int
qemuDomainSetupTPM(virQEMUDriverConfigPtr cfg G_GNUC_UNUSED,
- virDomainObjPtr vm,
+ virDomainTPMDefPtr dev,
const struct qemuDomainCreateDeviceData *data)
{
- virDomainTPMDefPtr dev =3D vm->def->tpm;
-
- if (!dev)
- return 0;
-
- VIR_DEBUG("Setting up TPM");
-
switch (dev->type) {
case VIR_DOMAIN_TPM_TYPE_PASSTHROUGH:
if (qemuDomainCreateDevice(dev->data.passthrough.source.data.file.=
path,
@@ -11608,7 +11601,25 @@ qemuDomainSetupTPM(virQEMUDriverConfigPtr cfg G_GN=
UC_UNUSED,
break;
}
=20
- VIR_DEBUG("Setup TPM");
+ return 0;
+}
+
+
+static int
+qemuDomainSetupAllTPMs(virQEMUDriverConfigPtr cfg G_GNUC_UNUSED,
+ virDomainObjPtr vm,
+ const struct qemuDomainCreateDeviceData *data)
+{
+ size_t i;
+
+ VIR_DEBUG("Setting up TPMs");
+
+ for (i =3D 0; i < vm->def->ntpms; i++) {
+ if (qemuDomainSetupTPM(cfg, vm->def->tpms[i], data) < 0)
+ return -1;
+ }
+
+ VIR_DEBUG("Setup all TPMs");
return 0;
}
=20
@@ -11834,7 +11845,7 @@ qemuDomainBuildNamespace(virQEMUDriverConfigPtr cfg,
if (qemuDomainSetupAllChardevs(cfg, vm, &data) < 0)
goto cleanup;
=20
- if (qemuDomainSetupTPM(cfg, vm, &data) < 0)
+ if (qemuDomainSetupAllTPMs(cfg, vm, &data) < 0)
goto cleanup;
=20
if (qemuDomainSetupAllGraphics(cfg, vm, &data) < 0)
diff --git a/src/qemu/qemu_domain_address.c b/src/qemu/qemu_domain_address.c
index 07431343ed..4c26070022 100644
--- a/src/qemu/qemu_domain_address.c
+++ b/src/qemu/qemu_domain_address.c
@@ -268,10 +268,13 @@ qemuDomainAssignSpaprVIOAddresses(virDomainDefPtr def)
return -1;
}
=20
- if (def->tpm) {
- if (qemuDomainIsPSeries(def))
- def->tpm->info.type =3D VIR_DOMAIN_DEVICE_ADDRESS_TYPE_SPAPRVI=
O;
- if (qemuDomainAssignSpaprVIOAddress(def, &def->tpm->info,
+ for (i =3D 0; i < def->ntpms; i++) {
+ virDomainTPMDefPtr tpm =3D def->tpms[i];
+
+ if (tpm->model !=3D VIR_DOMAIN_TPM_MODEL_SPAPR_PROXY &&
+ qemuDomainIsPSeries(def))
+ tpm->info.type =3D VIR_DOMAIN_DEVICE_ADDRESS_TYPE_SPAPRVIO;
+ if (qemuDomainAssignSpaprVIOAddress(def, &tpm->info,
VIO_ADDR_TPM) < 0)
return -1;
}
diff --git a/src/qemu/qemu_extdevice.c b/src/qemu/qemu_extdevice.c
index 2ff3f68f5d..db18c82640 100644
--- a/src/qemu/qemu_extdevice.c
+++ b/src/qemu/qemu_extdevice.c
@@ -73,7 +73,7 @@ static int
qemuExtDevicesInitPaths(virQEMUDriverPtr driver,
virDomainDefPtr def)
{
- if (def->tpm)
+ if (def->ntpms > 0)
return qemuExtTPMInitPaths(driver, def);
=20
return 0;
@@ -132,7 +132,7 @@ qemuExtDevicesPrepareHost(virQEMUDriverPtr driver,
virDomainDefPtr def =3D vm->def;
size_t i;
=20
- if (def->tpm &&
+ if (def->ntpms > 0 &&
qemuExtTPMPrepareHost(driver, def) < 0)
return -1;
=20
@@ -155,7 +155,7 @@ qemuExtDevicesCleanupHost(virQEMUDriverPtr driver,
if (qemuExtDevicesInitPaths(driver, def) < 0)
return;
=20
- if (def->tpm)
+ if (def->ntpms > 0)
qemuExtTPMCleanupHost(def);
}
=20
@@ -181,7 +181,7 @@ qemuExtDevicesStart(virQEMUDriverPtr driver,
}
}
=20
- if (def->tpm && qemuExtTPMStart(driver, vm, incomingMigration) < 0)
+ if (def->ntpms > 0 && qemuExtTPMStart(driver, vm, incomingMigration) <=
0)
return -1;
=20
for (i =3D 0; i < def->nnets; i++) {
@@ -223,7 +223,7 @@ qemuExtDevicesStop(virQEMUDriverPtr driver,
qemuExtVhostUserGPUStop(driver, vm, video);
}
=20
- if (def->tpm)
+ if (def->ntpms > 0)
qemuExtTPMStop(driver, vm);
=20
for (i =3D 0; i < def->nnets; i++) {
@@ -253,8 +253,10 @@ qemuExtDevicesHasDevice(virDomainDefPtr def)
return true;
}
=20
- if (def->tpm && def->tpm->type =3D=3D VIR_DOMAIN_TPM_TYPE_EMULATOR)
- return true;
+ for (i =3D 0; i < def->ntpms; i++) {
+ if (def->tpms[i]->type =3D=3D VIR_DOMAIN_TPM_TYPE_EMULATOR)
+ return true;
+ }
=20
for (i =3D 0; i < def->nfss; i++) {
virDomainFSDefPtr fs =3D def->fss[i];
@@ -294,7 +296,7 @@ qemuExtDevicesSetupCgroup(virQEMUDriverPtr driver,
return -1;
}
=20
- if (def->tpm &&
+ if (def->ntpms > 0 &&
qemuExtTPMSetupCgroup(driver, def, cgroup) < 0)
return -1;
=20
diff --git a/src/qemu/qemu_tpm.c b/src/qemu/qemu_tpm.c
index afec0e5328..8adb0e42b8 100644
--- a/src/qemu/qemu_tpm.c
+++ b/src/qemu/qemu_tpm.c
@@ -679,10 +679,15 @@ qemuExtTPMInitPaths(virQEMUDriverPtr driver,
virDomainDefPtr def)
{
g_autoptr(virQEMUDriverConfig) cfg =3D virQEMUDriverGetConfig(driver);
+ size_t i;
=20
- if (def->tpm->type =3D=3D VIR_DOMAIN_TPM_TYPE_EMULATOR)
- return qemuTPMEmulatorInitPaths(def->tpm, cfg->swtpmStorageDir,
+ for (i =3D 0; i < def->ntpms; i++) {
+ if (def->tpms[i]->type !=3D VIR_DOMAIN_TPM_TYPE_EMULATOR)
+ continue;
+
+ return qemuTPMEmulatorInitPaths(def->tpms[i], cfg->swtpmStorageDir,
def->uuid);
+ }
=20
return 0;
}
@@ -694,13 +699,17 @@ qemuExtTPMPrepareHost(virQEMUDriverPtr driver,
{
g_autoptr(virQEMUDriverConfig) cfg =3D virQEMUDriverGetConfig(driver);
g_autofree char *shortName =3D NULL;
+ size_t i;
+
+ for (i =3D 0; i < def->ntpms; i++) {
+ if (def->tpms[i]->type !=3D VIR_DOMAIN_TPM_TYPE_EMULATOR)
+ continue;
=20
- if (def->tpm->type =3D=3D VIR_DOMAIN_TPM_TYPE_EMULATOR) {
shortName =3D virDomainDefGetShortName(def);
if (!shortName)
return -1;
=20
- return qemuTPMEmulatorPrepareHost(def->tpm, cfg->swtpmLogDir,
+ return qemuTPMEmulatorPrepareHost(def->tpms[i], cfg->swtpmLogDir,
def->name, cfg->swtpm_user,
cfg->swtpm_group,
cfg->swtpmStateDir, cfg->user,
@@ -714,8 +723,14 @@ qemuExtTPMPrepareHost(virQEMUDriverPtr driver,
void
qemuExtTPMCleanupHost(virDomainDefPtr def)
{
- if (def->tpm->type =3D=3D VIR_DOMAIN_TPM_TYPE_EMULATOR)
- qemuTPMDeleteEmulatorStorage(def->tpm);
+ size_t i;
+
+ for (i =3D 0; i < def->ntpms; i++) {
+ if (def->tpms[i]->type !=3D VIR_DOMAIN_TPM_TYPE_EMULATOR)
+ continue;
+
+ qemuTPMDeleteEmulatorStorage(def->tpms[i]);
+ }
}
=20
=20
@@ -733,13 +748,13 @@ qemuExtTPMCleanupHost(virDomainDefPtr def)
static int
qemuExtTPMStartEmulator(virQEMUDriverPtr driver,
virDomainObjPtr vm,
+ virDomainTPMDefPtr tpm,
bool incomingMigration)
{
g_autoptr(virCommand) cmd =3D NULL;
int exitstatus =3D 0;
g_autofree char *errbuf =3D NULL;
g_autoptr(virQEMUDriverConfig) cfg =3D NULL;
- virDomainTPMDefPtr tpm =3D vm->def->tpm;
g_autofree char *shortName =3D virDomainDefGetShortName(vm->def);
int cmdret =3D 0, timeout, rc;
pid_t pid;
@@ -807,10 +822,15 @@ qemuExtTPMStart(virQEMUDriverPtr driver,
virDomainObjPtr vm,
bool incomingMigration)
{
- virDomainTPMDefPtr tpm =3D vm->def->tpm;
+ size_t i;
+
+ for (i =3D 0; i < vm->def->ntpms; i++) {
+ if (vm->def->tpms[i]->type !=3D VIR_DOMAIN_TPM_TYPE_EMULATOR)
+ continue;
=20
- if (tpm->type =3D=3D VIR_DOMAIN_TPM_TYPE_EMULATOR)
- return qemuExtTPMStartEmulator(driver, vm, incomingMigration);
+ return qemuExtTPMStartEmulator(driver, vm, vm->def->tpms[i],
+ incomingMigration);
+ }
=20
return 0;
}
@@ -822,8 +842,12 @@ qemuExtTPMStop(virQEMUDriverPtr driver,
{
g_autoptr(virQEMUDriverConfig) cfg =3D virQEMUDriverGetConfig(driver);
g_autofree char *shortName =3D NULL;
+ size_t i;
+
+ for (i =3D 0; i < vm->def->ntpms; i++) {
+ if (vm->def->tpms[i]->type !=3D VIR_DOMAIN_TPM_TYPE_EMULATOR)
+ continue;
=20
- if (vm->def->tpm->type =3D=3D VIR_DOMAIN_TPM_TYPE_EMULATOR) {
shortName =3D virDomainDefGetShortName(vm->def);
if (!shortName)
return;
@@ -845,8 +869,12 @@ qemuExtTPMSetupCgroup(virQEMUDriverPtr driver,
g_autofree char *shortName =3D NULL;
int rc;
pid_t pid;
+ size_t i;
+
+ for (i =3D 0; i < def->ntpms; i++) {
+ if (def->tpms[i]->type !=3D VIR_DOMAIN_TPM_TYPE_EMULATOR)
+ continue;
=20
- if (def->tpm->type =3D=3D VIR_DOMAIN_TPM_TYPE_EMULATOR) {
shortName =3D virDomainDefGetShortName(def);
if (!shortName)
return -1;
diff --git a/src/security/security_dac.c b/src/security/security_dac.c
index bdc2d7edf3..79123f384c 100644
--- a/src/security/security_dac.c
+++ b/src/security/security_dac.c
@@ -1973,10 +1973,10 @@ virSecurityDACRestoreAllLabel(virSecurityManagerPtr=
mgr,
&chardevData) < 0)
rc =3D -1;
=20
- if (def->tpm) {
+ for (i =3D 0; i < def->ntpms; i++) {
if (virSecurityDACRestoreTPMFileLabel(mgr,
def,
- def->tpm) < 0)
+ def->tpms[i]) < 0)
rc =3D -1;
}
=20
@@ -2152,10 +2152,10 @@ virSecurityDACSetAllLabel(virSecurityManagerPtr mgr,
&chardevData) < 0)
return -1;
=20
- if (def->tpm) {
+ for (i =3D 0; i < def->ntpms; i++) {
if (virSecurityDACSetTPMFileLabel(mgr,
def,
- def->tpm) < 0)
+ def->tpms[i]) < 0)
return -1;
}
=20
diff --git a/src/security/security_selinux.c b/src/security/security_selinu=
x.c
index 914a252df1..39928aef3e 100644
--- a/src/security/security_selinux.c
+++ b/src/security/security_selinux.c
@@ -2758,8 +2758,8 @@ virSecuritySELinuxRestoreAllLabel(virSecurityManagerP=
tr mgr,
return -1;
}
=20
- if (def->tpm) {
- if (virSecuritySELinuxRestoreTPMFileLabelInt(mgr, def, def->tpm) <=
0)
+ for (i =3D 0; i < def->ntpms; i++) {
+ if (virSecuritySELinuxRestoreTPMFileLabelInt(mgr, def, def->tpms[i=
]) < 0)
rc =3D -1;
}
=20
@@ -3166,8 +3166,8 @@ virSecuritySELinuxSetAllLabel(virSecurityManagerPtr m=
gr,
return -1;
}
=20
- if (def->tpm) {
- if (virSecuritySELinuxSetTPMFileLabel(mgr, def, def->tpm) < 0)
+ for (i =3D 0; i < def->ntpms; i++) {
+ if (virSecuritySELinuxSetTPMFileLabel(mgr, def, def->tpms[i]) < 0)
return -1;
}
=20
@@ -3487,19 +3487,23 @@ virSecuritySELinuxSetTPMLabels(virSecurityManagerPt=
r mgr,
virDomainDefPtr def)
{
int ret =3D 0;
+ size_t i;
virSecurityLabelDefPtr seclabel;
=20
seclabel =3D virDomainDefGetSecurityLabelDef(def, SECURITY_SELINUX_NAM=
E);
if (seclabel =3D=3D NULL)
return 0;
=20
- if (def->tpm->type =3D=3D VIR_DOMAIN_TPM_TYPE_EMULATOR) {
+ for (i =3D 0; i < def->ntpms; i++) {
+ if (def->tpms[i]->type !=3D VIR_DOMAIN_TPM_TYPE_EMULATOR)
+ continue;
+
ret =3D virSecuritySELinuxSetFileLabels(
- mgr, def->tpm->data.emulator.storagepath,
+ mgr, def->tpms[i]->data.emulator.storagepath,
seclabel);
- if (ret =3D=3D 0 && def->tpm->data.emulator.logfile)
+ if (ret =3D=3D 0 && def->tpms[i]->data.emulator.logfile)
ret =3D virSecuritySELinuxSetFileLabels(
- mgr, def->tpm->data.emulator.logfile,
+ mgr, def->tpms[i]->data.emulator.logfile,
seclabel);
}
=20
@@ -3512,13 +3516,17 @@ virSecuritySELinuxRestoreTPMLabels(virSecurityManag=
erPtr mgr,
virDomainDefPtr def)
{
int ret =3D 0;
+ size_t i;
+
+ for (i =3D 0; i < def->ntpms; i++) {
+ if (def->tpms[i]->type !=3D VIR_DOMAIN_TPM_TYPE_EMULATOR)
+ continue;
=20
- if (def->tpm->type =3D=3D VIR_DOMAIN_TPM_TYPE_EMULATOR) {
ret =3D virSecuritySELinuxRestoreFileLabels(
- mgr, def->tpm->data.emulator.storagepath);
- if (ret =3D=3D 0 && def->tpm->data.emulator.logfile)
+ mgr, def->tpms[i]->data.emulator.storagepath);
+ if (ret =3D=3D 0 && def->tpms[i]->data.emulator.logfile)
ret =3D virSecuritySELinuxRestoreFileLabels(
- mgr, def->tpm->data.emulator.logfile);
+ mgr, def->tpms[i]->data.emulator.logfile);
}
=20
return ret;
diff --git a/src/security/virt-aa-helper.c b/src/security/virt-aa-helper.c
index 6e8f77e4dd..7abb6e70be 100644
--- a/src/security/virt-aa-helper.c
+++ b/src/security/virt-aa-helper.c
@@ -1206,14 +1206,17 @@ get_files(vahControl * ctl)
}
=20
=20
- if (ctl->def->tpm) {
+ if (ctl->def->ntpms > 0) {
char *shortName =3D NULL;
const char *tpmpath =3D NULL;
=20
- if (ctl->def->tpm->type =3D=3D VIR_DOMAIN_TPM_TYPE_EMULATOR) {
+ for (i =3D 0; i < ctl->def->ntpms; i++) {
+ if (ctl->def->tpms[i]->type !=3D VIR_DOMAIN_TPM_TYPE_EMULATOR)
+ continue;
+
shortName =3D virDomainDefGetShortName(ctl->def);
=20
- switch (ctl->def->tpm->version) {
+ switch (ctl->def->tpms[i]->version) {
case VIR_DOMAIN_TPM_VERSION_1_2:
tpmpath =3D "tpm1.2";
break;
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index c40ce64cbf..5b27cf9ae4 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -437,12 +437,13 @@ testCompareXMLToArgvCreateArgs(virQEMUDriverPtr drv,
vsockPriv->vhostfd =3D 6789;
}
=20
- if (vm->def->tpm) {
- if (vm->def->tpm->type =3D=3D VIR_DOMAIN_TPM_TYPE_EMULATOR) {
- VIR_FREE(vm->def->tpm->data.emulator.source.data.file.path);
- vm->def->tpm->data.emulator.source.data.file.path =3D g_strdup=
("/dev/test");
- vm->def->tpm->data.emulator.source.type =3D VIR_DOMAIN_CHR_TYP=
E_FILE;
- }
+ for (i =3D 0; i < vm->def->ntpms; i++) {
+ if (vm->def->tpms[i]->type !=3D VIR_DOMAIN_TPM_TYPE_EMULATOR)
+ continue;
+
+ VIR_FREE(vm->def->tpms[i]->data.emulator.source.data.file.path);
+ vm->def->tpms[i]->data.emulator.source.data.file.path =3D g_strdup=
("/dev/test");
+ vm->def->tpms[i]->data.emulator.source.type =3D VIR_DOMAIN_CHR_TYP=
E_FILE;
}
=20
for (i =3D 0; i < vm->def->nvideos; i++) {
--=20
2.26.2
From nobody Wed Apr 24 11:46:37 2024
Delivered-To: importer@patchew.org
Received-SPF: pass (zohomail.com: domain of redhat.com designates
207.211.31.81 as permitted sender) client-ip=207.211.31.81;
envelope-from=libvir-list-bounces@redhat.com;
helo=us-smtp-delivery-1.mimecast.com;
Authentication-Results: mx.zohomail.com;
dkim=pass;
spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as
permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com;
dmarc=fail(p=none dis=none) header.from=gmail.com
ARC-Seal: i=1; a=rsa-sha256; t=1590066492; cv=none;
d=zohomail.com; s=zohoarc;
b=XpM+Ix6kuwATajmkn3GItoEOR52jrV0eOn8eDuLRd97Yo+P4jKY8vthcnBAOc9N0/dB+yLBb/nREDrDSxijJrLdY1tdBbPjAwBuggwL37upK/16GFAnKd+Qxe3bm21hC8KSfGT6dzvS9NkmBQeGg4VLWcT/dz2pZfoDuiEbBDD8=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com;
s=zohoarc;
t=1590066492;
h=Content-Type:Content-Transfer-Encoding:Cc: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=cQqaH70E7W3n3EP+AzfvNhvpxFLQHz8oZAJ/er8SJYE=;
b=jKxl/UcVwDxc6ADRzbPU689r/sqqgnOaUtsUx1COo12uAlttmP+SQkQTWIcQcUk6hWUOOvnGLGwiSgV9XTShDtRbr9mHoP17pMI8+L2o7c32pYKVYc0CxY6JliT5gFbN0uCvBTuUobKBJujdjc+5RTYnDCeYGpskwIdrnSBcHd0=
ARC-Authentication-Results: i=1; mx.zohomail.com;
dkim=pass;
spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as
permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com;
dmarc=fail header.from= (p=none dis=none)
header.from=
Return-Path:
Received: from us-smtp-delivery-1.mimecast.com (us-smtp-1.mimecast.com
[207.211.31.81]) by mx.zohomail.com
with SMTPS id 159006649203565.9347394621791;
Thu, 21 May 2020 06:08:12 -0700 (PDT)
Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com
[209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id
us-mta-173-ikdX1fFiPC2G1miAYrVhNQ-1; Thu, 21 May 2020 09:08:08 -0400
Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com
[10.5.11.22])
(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
(No client certificate requested)
by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 81E441005512;
Thu, 21 May 2020 13:08:03 +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 5A72B1062234;
Thu, 21 May 2020 13:08:03 +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 2DC7154D03;
Thu, 21 May 2020 13:08:03 +0000 (UTC)
Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com
[10.11.54.5])
by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP
id 04LD80vR029944 for ;
Thu, 21 May 2020 09:08:00 -0400
Received: by smtp.corp.redhat.com (Postfix)
id A00D6DBF04; Thu, 21 May 2020 13:08:00 +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 9C2A6DBF01
for ; Thu, 21 May 2020 13:08:00 +0000 (UTC)
Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com
[205.139.110.120])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits))
(No client certificate requested)
by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 837C6800294
for ; Thu, 21 May 2020 13:08:00 +0000 (UTC)
Received: from mail-qk1-f195.google.com (mail-qk1-f195.google.com
[209.85.222.195]) (Using TLS) by relay.mimecast.com with ESMTP id
us-mta-226-Qr6u2FKkPxqWTSYfAwxIew-1; Thu, 21 May 2020 09:07:56 -0400
Received: by mail-qk1-f195.google.com with SMTP id f83so7008892qke.13;
Thu, 21 May 2020 06:07:56 -0700 (PDT)
Received: from rekt.ibmuc.com ([2804:431:c7c6:e0b9:8f39:f7d8:19fe:be67])
by smtp.gmail.com with ESMTPSA id
e27sm4557800qkl.47.2020.05.21.06.07.53
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Thu, 21 May 2020 06:07:54 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1590066490;
h=from:from:sender:sender:reply-to:subject:subject:date:date:
message-id:message-id:to:to:cc: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=cQqaH70E7W3n3EP+AzfvNhvpxFLQHz8oZAJ/er8SJYE=;
b=h0qYN57RYT98UNZtFitR9RkxV0zkPNz6Jr32wA9bdZMHjAJIhuVBbR7ecCg6Rduwke1ehK
rIuvXfFW2B5S9cQsHWQ1hCLtUy6FWgV4MluLs1ExyN+jCDP5v/AlZkuHo9zJbNVOPlr/Qk
tX0SAn8MOx8isc9F7mfstyBIB2UcYzQ=
X-MC-Unique: ikdX1fFiPC2G1miAYrVhNQ-1
X-MC-Unique: Qr6u2FKkPxqWTSYfAwxIew-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
:references:mime-version:content-transfer-encoding;
bh=cQqaH70E7W3n3EP+AzfvNhvpxFLQHz8oZAJ/er8SJYE=;
b=GPwjliToCdKONAjMJ4qSYxxLhvP8++kgnt91IUia8NVSvWKqS/Jhro8MPl/31xyR9F
sZKneDXqEK7Sxh5vkIG9321hjEQnTjU4Ht9wzznAF7h7EMy/H7WEc6+8LYwUcR1znWYN
8R+vDisMw8e85DohAkM6u4ZC+bePzI37q/Xg9m7yVPus7mVsLuFHMnF4vb9jqaczruBS
/a1U84HokDgRZ6bwcEjhrKSHFuK/t1EKCWmJL13CII8ivBYOpjQEDCBDufU6E4XhdCIn
pQ+XaUndELw8QZVtpohDW+0cF/IMbViK6HmwsztT2A9oUOwuHEQ51H/TvhcoyDmfGqBN
uI4A==
X-Gm-Message-State: AOAM532wIPZr+X/ZIurjuL6sW7cllbt64RlgKEDfc8yA/CpMUJrpVrql
9ZQC0lNxNCIvUIWV4omrGIjOqYLSoyE=
X-Google-Smtp-Source:
ABdhPJxqjRnGtIbCEa2OG/Ae2hD6b341pZcsx26JJhJu1BpReHWi3ScGrAuV/DppARkTaEKeuCLxCQ==
X-Received: by 2002:a05:620a:94d:: with SMTP id
w13mr9178401qkw.383.1590066475334;
Thu, 21 May 2020 06:07:55 -0700 (PDT)
From: Daniel Henrique Barboza
To: libvir-list@redhat.com
Subject: [PATCH v5 06/10] qemu: add validations after TPM Proxy model
introduction
Date: Thu, 21 May 2020 10:07:26 -0300
Message-Id: <20200521130730.3426950-7-danielhb413@gmail.com>
In-Reply-To: <20200521130730.3426950-1-danielhb413@gmail.com>
References: <20200521130730.3426950-1-danielhb413@gmail.com>
MIME-Version: 1.0
X-Scanned-By: MIMEDefang 2.79 on 10.11.54.5
X-loop: libvir-list@redhat.com
Cc: Daniel Henrique Barboza , jtomko@redhat.com,
stefanb@linux.ibm.com, sathnaga@linux.vnet.ibm.com,
david@gibson.dropbear.id.au
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.84 on 10.5.11.22
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Transfer-Encoding: quoted-printable
X-ZohoMail-DKIM: pass (identity @redhat.com)
Content-Type: text/plain; charset="utf-8"
Previous patch handled the conversion of def->tpm to the
array def->tpms and the XML parsing logic. This patch handles
the validations needed to ensure the intended behavior.
The existing qemuValidateDomainDeviceDefTPM() function was updated
to guarantee that the VIR_DOMAIN_TPM_MODEL_SPAPR_PROXY model is
exclusive to PPC64 guests and to the VIR_DOMAIN_TPM_TYPE_PASSTHROUGH
backend.
A new function called qemuDomainDefTPMsPostParse() was added to guarantee
that the following combinations in the same domain are valid:
- a single TPM device
- a single TPM Proxy device
- a single TPM + single TPM Proxy devices
And these combinations in the same domain are NOT valid:
- 2 or more TPM devices
- 2 or more TPM Proxy devices
Signed-off-by: Daniel Henrique Barboza
Reviewed-by: Stefan Berger
Tested-by: Satheesh Rajendran
---
src/qemu/qemu_domain.c | 37 +++++++++++++++++++++++++++++++++++++
src/qemu/qemu_validate.c | 19 +++++++++++++++++++
2 files changed, 56 insertions(+)
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 3173fc3a3b..b1b50f05d4 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -4953,6 +4953,40 @@ qemuDomainDefTsegPostParse(virDomainDefPtr def,
}
=20
=20
+static int
+qemuDomainDefTPMsPostParse(virDomainDefPtr def)
+{
+ virDomainTPMDefPtr proxyTPM =3D NULL;
+ virDomainTPMDefPtr regularTPM =3D NULL;
+ size_t i;
+
+ if (def->ntpms < 2)
+ return 0;
+
+ for (i =3D 0; i < def->ntpms; i++) {
+ virDomainTPMDefPtr tpm =3D def->tpms[i];
+
+ if (tpm->model =3D=3D VIR_DOMAIN_TPM_MODEL_SPAPR_PROXY) {
+ if (proxyTPM) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+ _("only a single TPM Proxy device is suppor=
ted"));
+ return -1;
+ } else {
+ proxyTPM =3D tpm;
+ }
+ } else if (regularTPM) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+ _("only a single TPM non-proxy device is suppor=
ted"));
+ return -1;
+ } else {
+ regularTPM =3D tpm;
+ }
+ }
+
+ return 0;
+}
+
+
static int
qemuDomainDefPostParseBasic(virDomainDefPtr def,
void *opaque G_GNUC_UNUSED)
@@ -5039,6 +5073,9 @@ qemuDomainDefPostParse(virDomainDefPtr def,
if (qemuDomainDefTsegPostParse(def, qemuCaps) < 0)
return -1;
=20
+ if (qemuDomainDefTPMsPostParse(def) < 0)
+ return -1;
+
return 0;
}
=20
diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c
index 584d1375b8..28e02ebefc 100644
--- a/src/qemu/qemu_validate.c
+++ b/src/qemu/qemu_validate.c
@@ -3623,6 +3623,25 @@ qemuValidateDomainDeviceDefTPM(virDomainTPMDef *tpm,
case VIR_DOMAIN_TPM_MODEL_SPAPR:
flag =3D QEMU_CAPS_DEVICE_TPM_SPAPR;
break;
+ case VIR_DOMAIN_TPM_MODEL_SPAPR_PROXY:
+ if (!ARCH_IS_PPC64(def->os.arch)) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+ _("TPM Proxy model %s is only available for "
+ "PPC64 guests"),
+ virDomainTPMModelTypeToString(tpm->model));
+ return -1;
+ }
+
+ /* TPM Proxy devices have 'passthrough' backend */
+ if (tpm->type !=3D VIR_DOMAIN_TPM_TYPE_PASSTHROUGH) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+ _("TPM Proxy model %s requires "
+ "'Passthrough' backend"),
+ virDomainTPMModelTypeToString(tpm->model));
+ }
+
+ flag =3D QEMU_CAPS_DEVICE_SPAPR_TPM_PROXY;
+ break;
case VIR_DOMAIN_TPM_MODEL_LAST:
default:
virReportEnumRangeError(virDomainTPMModel, tpm->model);
--=20
2.26.2
From nobody Wed Apr 24 11:46:37 2024
Delivered-To: importer@patchew.org
Received-SPF: pass (zohomail.com: domain of redhat.com designates
205.139.110.120 as permitted sender) client-ip=205.139.110.120;
envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-1.mimecast.com;
Authentication-Results: mx.zohomail.com;
dkim=pass;
spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.120 as
permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com;
dmarc=fail(p=none dis=none) header.from=gmail.com
ARC-Seal: i=1; a=rsa-sha256; t=1590066494; cv=none;
d=zohomail.com; s=zohoarc;
b=NOVLCWlwES5C3wnnkrBYVXuW5XWCe15AONa6YNFfS+fMLUF4IAIEJNu+f8QxWExFpKz1719aVCBb1hq00c/zHYu8wSCxSYNRVGgTPddux05g8E4+oOoErYj+23fZHpeMK27iQ8Fhk6XOuSTTzXRhyeHsoMtto55JYbKyKx4RBzs=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com;
s=zohoarc;
t=1590066494;
h=Content-Type:Content-Transfer-Encoding:Cc: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=lbITHzeqUzzz3szv786Dez0XgsGON5wumTD51umI2w0=;
b=Ojl2I7V96v/x17mtCubs3LEYAwv9lE1bNm3GTBSTTL2yVDbS3fGOmCGLNcBbmV+TChyOfRyJ5SdaPdk2R+4NARub3H0NJmx447ljGtIiEj9HkPjUdo07bZNsmNdDxhx1n79NM8TuvdEg18c0KFUzB6qqhdWHB4BGehP6gzLvH6k=
ARC-Authentication-Results: i=1; mx.zohomail.com;
dkim=pass;
spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.120 as
permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com;
dmarc=fail header.from= (p=none dis=none)
header.from=
Return-Path:
Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com
[205.139.110.120]) by mx.zohomail.com
with SMTPS id 1590066494700349.3083338573665;
Thu, 21 May 2020 06:08:14 -0700 (PDT)
Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com
[209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id
us-mta-454-eFUxWy-3PqKhTn3KP_CimQ-1; Thu, 21 May 2020 09:08:11 -0400
Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com
[10.5.11.23])
(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
(No client certificate requested)
by mimecast-mx01.redhat.com (Postfix) with ESMTPS id BB42B1B18BC3;
Thu, 21 May 2020 13:08:05 +0000 (UTC)
Received: from colo-mx.corp.redhat.com
(colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20])
by smtp.corp.redhat.com (Postfix) with ESMTPS id 97A603420F;
Thu, 21 May 2020 13:08:05 +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 677571809554;
Thu, 21 May 2020 13:08:05 +0000 (UTC)
Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com
[10.11.54.6])
by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP
id 04LD83Np029959 for ;
Thu, 21 May 2020 09:08:03 -0400
Received: by smtp.corp.redhat.com (Postfix)
id 930F72157F23; Thu, 21 May 2020 13:08:03 +0000 (UTC)
Received: from mimecast-mx02.redhat.com
(mimecast04.extmail.prod.ext.rdu2.redhat.com [10.11.55.20])
by smtp.corp.redhat.com (Postfix) with ESMTPS id 8CE2D2166BA3
for ; Thu, 21 May 2020 13:08:03 +0000 (UTC)
Received: from us-smtp-1.mimecast.com (us-smtp-1.mimecast.com
[205.139.110.61])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits))
(No client certificate requested)
by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 63F231049883
for ; Thu, 21 May 2020 13:08:03 +0000 (UTC)
Received: from mail-qv1-f65.google.com (mail-qv1-f65.google.com
[209.85.219.65]) (Using TLS) by relay.mimecast.com with ESMTP id
us-mta-214-dkEiDW1qMIWiY2m_HTlb0g-1; Thu, 21 May 2020 09:07:58 -0400
Received: by mail-qv1-f65.google.com with SMTP id x13so3018342qvr.2;
Thu, 21 May 2020 06:07:58 -0700 (PDT)
Received: from rekt.ibmuc.com ([2804:431:c7c6:e0b9:8f39:f7d8:19fe:be67])
by smtp.gmail.com with ESMTPSA id
e27sm4557800qkl.47.2020.05.21.06.07.55
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Thu, 21 May 2020 06:07:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1590066493;
h=from:from:sender:sender:reply-to:subject:subject:date:date:
message-id:message-id:to:to:cc: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=lbITHzeqUzzz3szv786Dez0XgsGON5wumTD51umI2w0=;
b=PKFVRPjEKWeftbe8LA4mpOgS/dXivqEhu8Xpt3CQSZI+P2GiqUhuN244rhOPiUCt+Eolzl
VRSVU7qBCs6lu8c+6O46bUdLkpY+9Xxfu3kjHoH0U5gFIo08LfsGc1eLT2J+in3iifg5Kv
LzmBG4tvMzVfGX/j4F89AMyqKltdgbQ=
X-MC-Unique: eFUxWy-3PqKhTn3KP_CimQ-1
X-MC-Unique: dkEiDW1qMIWiY2m_HTlb0g-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
:references:mime-version:content-transfer-encoding;
bh=lbITHzeqUzzz3szv786Dez0XgsGON5wumTD51umI2w0=;
b=SrswJNKPCCSBEhAfqNBT4vH2mzFfRIO7W8NCvHYKaQh2kKlc6gmP0m1iJ/n19IekQq
2qN4BGdAMsm9bwTE+MgrYW/MK55nRpOt4ck2ynRnfmDfNipP+KmSjThO8oasruPi/vCD
1B0bbUrZxWBwsmdGEs/5GafgoY3UetjFt6KvkwaJ52yRHKTuD+UklMCVZ107QafE8EFD
wXLugCOdqhIaPhD6nZ+plsIs2eEA0y7FWHLcuoZp/1N2J/dBezv+7fIshmUpi4+ms9I7
EzcReP1pbBGSbDgxskSlXGda1/sNokGRmGMd+oCZmH/QQlAxEztOxsbuFxdzA5uBk/qf
sOsA==
X-Gm-Message-State: AOAM532dwUNfMlcRBMSe5tDwMKnhaTTr9kGaCkYfJutkl7n0N8B5ieH3
E7KNR4iLxKe+D9sv697mowhDMo9Yxk4=
X-Google-Smtp-Source:
ABdhPJziROXpdz85wLaHZUpwyNh4rlm+LdcYLJsfWk7m9tPsBKGURnQiiVoGgva3UaB05DFYMOXMiQ==
X-Received: by 2002:a0c:fd24:: with SMTP id i4mr9788661qvs.69.1590066477493;
Thu, 21 May 2020 06:07:57 -0700 (PDT)
From: Daniel Henrique Barboza
To: libvir-list@redhat.com
Subject: [PATCH v5 07/10] tests: add XML schema tests for the TPM Proxy device
Date: Thu, 21 May 2020 10:07:27 -0300
Message-Id: <20200521130730.3426950-8-danielhb413@gmail.com>
In-Reply-To: <20200521130730.3426950-1-danielhb413@gmail.com>
References: <20200521130730.3426950-1-danielhb413@gmail.com>
MIME-Version: 1.0
X-Scanned-By: MIMEDefang 2.78 on 10.11.54.6
X-loop: libvir-list@redhat.com
Cc: Daniel Henrique Barboza , jtomko@redhat.com,
stefanb@linux.ibm.com, sathnaga@linux.vnet.ibm.com,
david@gibson.dropbear.id.au
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.84 on 10.5.11.23
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Transfer-Encoding: quoted-printable
X-ZohoMail-DKIM: pass (identity @redhat.com)
Content-Type: text/plain; charset="utf-8"
This tests aims to exercise how a TPM Proxy device can be
added in the domain, either alone or with a regular TPM
device. It also ensures that we do not allow bogus scenarios
to slip by.
Reviewed-by: Stefan Berger
Signed-off-by: Daniel Henrique Barboza
Tested-by: Satheesh Rajendran
---
tests/qemuxml2argvdata/ppc64-tpm-double.xml | 34 ++++++++++++++
.../ppc64-tpmproxy-double.xml | 38 +++++++++++++++
.../ppc64-tpmproxy-single.xml | 33 +++++++++++++
.../ppc64-tpmproxy-with-tpm.xml | 36 +++++++++++++++
tests/qemuxml2argvtest.c | 12 +++++
.../ppc64-tpmproxy-single.ppc64-latest.xml | 42 +++++++++++++++++
.../ppc64-tpmproxy-with-tpm.ppc64-latest.xml | 46 +++++++++++++++++++
tests/qemuxml2xmltest.c | 2 +
8 files changed, 243 insertions(+)
create mode 100644 tests/qemuxml2argvdata/ppc64-tpm-double.xml
create mode 100644 tests/qemuxml2argvdata/ppc64-tpmproxy-double.xml
create mode 100644 tests/qemuxml2argvdata/ppc64-tpmproxy-single.xml
create mode 100644 tests/qemuxml2argvdata/ppc64-tpmproxy-with-tpm.xml
create mode 100644 tests/qemuxml2xmloutdata/ppc64-tpmproxy-single.ppc64-la=
test.xml
create mode 100644 tests/qemuxml2xmloutdata/ppc64-tpmproxy-with-tpm.ppc64-=
latest.xml
diff --git a/tests/qemuxml2argvdata/ppc64-tpm-double.xml b/tests/qemuxml2ar=
gvdata/ppc64-tpm-double.xml
new file mode 100644
index 0000000000..8730547a4d
--- /dev/null
+++ b/tests/qemuxml2argvdata/ppc64-tpm-double.xml
@@ -0,0 +1,34 @@
+
+ QEMUGuest1
+ c7a5fdbd-edaf-9455-926a-d65c16db1809
+ 219100
+ 219100
+ 1
+
+ hvm
+
+
+
+
+
+
+
+ destroy
+ restart
+ restart
+
+ /usr/bin/qemu-system-ppc64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/qemuxml2argvdata/ppc64-tpmproxy-double.xml b/tests/qemux=
ml2argvdata/ppc64-tpmproxy-double.xml
new file mode 100644
index 0000000000..12abda509e
--- /dev/null
+++ b/tests/qemuxml2argvdata/ppc64-tpmproxy-double.xml
@@ -0,0 +1,38 @@
+
+ QEMUGuest1
+ c7a5fdbd-edaf-9455-926a-d65c16db1809
+ 219100
+ 219100
+ 1
+
+ hvm
+
+
+
+
+
+
+
+ destroy
+ restart
+ restart
+
+ /usr/bin/qemu-system-ppc64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/qemuxml2argvdata/ppc64-tpmproxy-single.xml b/tests/qemux=
ml2argvdata/ppc64-tpmproxy-single.xml
new file mode 100644
index 0000000000..729a2cdf28
--- /dev/null
+++ b/tests/qemuxml2argvdata/ppc64-tpmproxy-single.xml
@@ -0,0 +1,33 @@
+
+ QEMUGuest1
+ c7a5fdbd-edaf-9455-926a-d65c16db1809
+ 219100
+ 219100
+ 1
+
+ hvm
+
+
+
+
+
+
+
+ destroy
+ restart
+ restart
+
+ /usr/bin/qemu-system-ppc64
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/qemuxml2argvdata/ppc64-tpmproxy-with-tpm.xml b/tests/qem=
uxml2argvdata/ppc64-tpmproxy-with-tpm.xml
new file mode 100644
index 0000000000..a61ec9845c
--- /dev/null
+++ b/tests/qemuxml2argvdata/ppc64-tpmproxy-with-tpm.xml
@@ -0,0 +1,36 @@
+
+ QEMUGuest1
+ c7a5fdbd-edaf-9455-926a-d65c16db1809
+ 219100
+ 219100
+ 1
+
+ hvm
+
+
+
+
+
+
+
+ destroy
+ restart
+ restart
+
+ /usr/bin/qemu-system-ppc64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index 5b27cf9ae4..1db9c89e12 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -3054,6 +3054,18 @@ mymain(void)
QEMU_CAPS_NEC_USB_XHCI,
QEMU_CAPS_DEVICE_QEMU_XHCI);
=20
+ DO_TEST_PARSE_ERROR("ppc64-tpmproxy-double",
+ QEMU_CAPS_DEVICE_SPAPR_PCI_HOST_BRIDGE,
+ QEMU_CAPS_PCI_OHCI,
+ QEMU_CAPS_DEVICE_TPM_PASSTHROUGH,
+ QEMU_CAPS_DEVICE_SPAPR_TPM_PROXY);
+
+ DO_TEST_PARSE_ERROR("ppc64-tpm-double",
+ QEMU_CAPS_DEVICE_SPAPR_PCI_HOST_BRIDGE,
+ QEMU_CAPS_PCI_OHCI,
+ QEMU_CAPS_DEVICE_TPM_PASSTHROUGH,
+ QEMU_CAPS_DEVICE_SPAPR_TPM_PROXY);
+
DO_TEST("aarch64-usb-controller-qemu-xhci",
QEMU_CAPS_OBJECT_GPEX,
QEMU_CAPS_NEC_USB_XHCI,
diff --git a/tests/qemuxml2xmloutdata/ppc64-tpmproxy-single.ppc64-latest.xm=
l b/tests/qemuxml2xmloutdata/ppc64-tpmproxy-single.ppc64-latest.xml
new file mode 100644
index 0000000000..4e0e5f24b8
--- /dev/null
+++ b/tests/qemuxml2xmloutdata/ppc64-tpmproxy-single.ppc64-latest.xml
@@ -0,0 +1,42 @@
+
+ QEMUGuest1
+ c7a5fdbd-edaf-9455-926a-d65c16db1809
+ 219100
+ 219100
+ 1
+
+ hvm
+
+
+
+
+
+
+
+
+ POWER9
+
+
+ destroy
+ restart
+ restart
+
+ /usr/bin/qemu-system-ppc64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/qemuxml2xmloutdata/ppc64-tpmproxy-with-tpm.ppc64-latest.=
xml b/tests/qemuxml2xmloutdata/ppc64-tpmproxy-with-tpm.ppc64-latest.xml
new file mode 100644
index 0000000000..9b64f914f0
--- /dev/null
+++ b/tests/qemuxml2xmloutdata/ppc64-tpmproxy-with-tpm.ppc64-latest.xml
@@ -0,0 +1,46 @@
+
+ QEMUGuest1
+ c7a5fdbd-edaf-9455-926a-d65c16db1809
+ 219100
+ 219100
+ 1
+
+ hvm
+
+
+
+
+
+
+
+
+ POWER9
+
+
+ destroy
+ restart
+ restart
+
+ /usr/bin/qemu-system-ppc64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c
index 033f81013e..8360d5eeca 100644
--- a/tests/qemuxml2xmltest.c
+++ b/tests/qemuxml2xmltest.c
@@ -609,6 +609,8 @@ mymain(void)
DO_TEST("controller-usb-order",
QEMU_CAPS_PIIX_DISABLE_S3,
QEMU_CAPS_PIIX_DISABLE_S4);
+ DO_TEST_CAPS_ARCH_LATEST("ppc64-tpmproxy-single", "ppc64");
+ DO_TEST_CAPS_ARCH_LATEST("ppc64-tpmproxy-with-tpm", "ppc64");
=20
DO_TEST_FULL("seclabel-dynamic-baselabel", WHEN_INACTIVE,
ARG_QEMU_CAPS, NONE);
--=20
2.26.2
From nobody Wed Apr 24 11:46:37 2024
Delivered-To: importer@patchew.org
Received-SPF: pass (zohomail.com: domain of redhat.com designates
207.211.31.120 as permitted sender) client-ip=207.211.31.120;
envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-1.mimecast.com;
Authentication-Results: mx.zohomail.com;
dkim=pass;
spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 as
permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com;
dmarc=fail(p=none dis=none) header.from=gmail.com
ARC-Seal: i=1; a=rsa-sha256; t=1590066503; cv=none;
d=zohomail.com; s=zohoarc;
b=XBV2xHpSnA+GhEiUkHT9PI/2DwgqDqp8enuLsIuHsAAT0NhGxLDIIhflN71L5knnsyjCAYAUH6H4Xa7FD+fll5O5cdzCp9goPPyu7PE1Lu35UAkpi2qRYm1umjaokFSS8EIqbIOhtgQR4Dy0PcZjJ1HXCyUAfqMow4LucPfg7TM=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com;
s=zohoarc;
t=1590066503;
h=Content-Type:Content-Transfer-Encoding:Cc: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=oejyhIac5sVOaan1A2iSLJ6IzdKutcta4oskSM4jREM=;
b=k8tTSTAamCqmTqp1sAQijGpGI9J6rSF36PKID5ot/KaZjmGrPbrvg5mE1x8l3Fh4PVDDgUddcWNNtJw1jRF7PNST8CaZFKay5owCF6z8ARo6rAhro4b79dyVo2xgYL7/y8hCj1uOn31DUmkKRKhofEFHwgwtJWeHOWo23oXLYAY=
ARC-Authentication-Results: i=1; mx.zohomail.com;
dkim=pass;
spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 as
permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com;
dmarc=fail header.from= (p=none dis=none)
header.from=
Return-Path:
Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com
[207.211.31.120]) by mx.zohomail.com
with SMTPS id 1590066503350331.50232427425897;
Thu, 21 May 2020 06:08:23 -0700 (PDT)
Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com
[209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id
us-mta-285-tW9uxzGSPVmZILArBVYS5Q-1; Thu, 21 May 2020 09:08:19 -0400
Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com
[10.5.11.14])
(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
(No client certificate requested)
by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 1F14C7BAD;
Thu, 21 May 2020 13:08:13 +0000 (UTC)
Received: from colo-mx.corp.redhat.com
(colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20])
by smtp.corp.redhat.com (Postfix) with ESMTPS id F28A75D9CC;
Thu, 21 May 2020 13:08:12 +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 C4223180CB27;
Thu, 21 May 2020 13:08:12 +0000 (UTC)
Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com
[10.11.54.4])
by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP
id 04LD8818029975 for ;
Thu, 21 May 2020 09:08:08 -0400
Received: by smtp.corp.redhat.com (Postfix)
id 853D4202696C; Thu, 21 May 2020 13:08:08 +0000 (UTC)
Received: from mimecast-mx02.redhat.com
(mimecast03.extmail.prod.ext.rdu2.redhat.com [10.11.55.19])
by smtp.corp.redhat.com (Postfix) with ESMTPS id 809752028DCC
for ; Thu, 21 May 2020 13:08:03 +0000 (UTC)
Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com
[205.139.110.120])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits))
(No client certificate requested)
by mimecast-mx02.redhat.com (Postfix) with ESMTPS id EB4ED801009
for ; Thu, 21 May 2020 13:08:02 +0000 (UTC)
Received: from mail-qt1-f193.google.com (mail-qt1-f193.google.com
[209.85.160.193]) (Using TLS) by relay.mimecast.com with ESMTP id
us-mta-296-0VaSfR0jNpa-avsx-Z-7Cg-1; Thu, 21 May 2020 09:08:00 -0400
Received: by mail-qt1-f193.google.com with SMTP id a23so5400262qto.1;
Thu, 21 May 2020 06:08:00 -0700 (PDT)
Received: from rekt.ibmuc.com ([2804:431:c7c6:e0b9:8f39:f7d8:19fe:be67])
by smtp.gmail.com with ESMTPSA id
e27sm4557800qkl.47.2020.05.21.06.07.57
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Thu, 21 May 2020 06:07:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1590066502;
h=from:from:sender:sender:reply-to:subject:subject:date:date:
message-id:message-id:to:to:cc: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=oejyhIac5sVOaan1A2iSLJ6IzdKutcta4oskSM4jREM=;
b=SGgphqj3/kVk4WAgd7RTHEuHs9uUsGswqg8eXFye86mGitcK/ibF1zSQTTrnbYZUuRd35Z
60KS9rg4dkdlF/omAuVaeO/zmzxvm8gSsq3cKgeGisiT6f7/O8mWodR1TTZCwmyr8yEcJ8
Vmui8hh63MYnAak1KuDWkx0iOP4JmqQ=
X-MC-Unique: tW9uxzGSPVmZILArBVYS5Q-1
X-MC-Unique: 0VaSfR0jNpa-avsx-Z-7Cg-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
:references:mime-version:content-transfer-encoding;
bh=oejyhIac5sVOaan1A2iSLJ6IzdKutcta4oskSM4jREM=;
b=Nqs27urg0MfiZixMqU6HbOL1eJofiO0B/By3+b70ZjrYrPhGEAXmUbu0cvjZttVFdp
MwFj+p12j9MjWYJxEFl1T/irXZXcMxQDZu1ufMeAD4O8pvOdQ53IswVUjcgjs4sa8WaK
DmmnAcXhv4QnfKNAQVQIwahMi/3/4m95GvDeUA1UUndZ5hdyQWCYOl0Fwlq/kBam3Yt2
1GF2CDEeXPnDd0llen4RyrVmTeLsKCy2a3qDID5WTZy9fPxfVyHbSLtETd89NSdTXOXm
MPwDfX44HN14mQMqwzTHuCg5G1CJ5UQn16JWSTQkt46N0sLwrEzZhz6rNV4v8mbmLDfw
t7Qg==
X-Gm-Message-State: AOAM533e3Wgb8kmFEo0cPSWP3XX0SFwel7RXw3uTfYaN8eyDZEh7YMXq
ienMZMB5f+zSUM3mn0/NxPucdOA82DA=
X-Google-Smtp-Source:
ABdhPJzTrb1cJuGpca8xcyOMOvs/iB5EN+RxkCILlLSl7Rwi9aCmZyjwXhtbVsOUpwi4ncuVjJCimw==
X-Received: by 2002:ac8:3a22:: with SMTP id
w31mr10518071qte.156.1590066479592;
Thu, 21 May 2020 06:07:59 -0700 (PDT)
From: Daniel Henrique Barboza
To: libvir-list@redhat.com
Subject: [PATCH v5 08/10] qemu: build command line for the TPM Proxy device
Date: Thu, 21 May 2020 10:07:28 -0300
Message-Id: <20200521130730.3426950-9-danielhb413@gmail.com>
In-Reply-To: <20200521130730.3426950-1-danielhb413@gmail.com>
References: <20200521130730.3426950-1-danielhb413@gmail.com>
MIME-Version: 1.0
X-Scanned-By: MIMEDefang 2.78 on 10.11.54.4
X-loop: libvir-list@redhat.com
Cc: Daniel Henrique Barboza , jtomko@redhat.com,
stefanb@linux.ibm.com, sathnaga@linux.vnet.ibm.com,
david@gibson.dropbear.id.au
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.14
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Transfer-Encoding: quoted-printable
X-ZohoMail-DKIM: pass (identity @redhat.com)
Content-Type: text/plain; charset="utf-8"
This patch wraps it up all the wiring done in previous patches,
enabling a PPC64 guest to launch a guest using a TPM Proxy
device.
Note that device validation is already being done in qemu_validate.c,
qemuValidateDomainDeviceDefTPM(), on domain define time. We don't
need to verify QEMU capabilities for this device again inside
qemu_command.c.
Reviewed-by: Stefan Berger
Signed-off-by: Daniel Henrique Barboza
Tested-by: Satheesh Rajendran
---
src/qemu/qemu_alias.c | 5 ++++-
src/qemu/qemu_command.c | 27 ++++++++++++++++++++++++++-
2 files changed, 30 insertions(+), 2 deletions(-)
diff --git a/src/qemu/qemu_alias.c b/src/qemu/qemu_alias.c
index 85fdb85940..bb7145d630 100644
--- a/src/qemu/qemu_alias.c
+++ b/src/qemu/qemu_alias.c
@@ -408,7 +408,10 @@ qemuAssignDeviceTPMAlias(virDomainTPMDefPtr tpm,
if (tpm->info.alias)
return 0;
=20
- tpm->info.alias =3D g_strdup_printf("tpm%d", idx);
+ if (tpm->model =3D=3D VIR_DOMAIN_TPM_MODEL_SPAPR_PROXY)
+ tpm->info.alias =3D g_strdup_printf("tpmproxy%d", idx);
+ else
+ tpm->info.alias =3D g_strdup_printf("tpm%d", idx);
return 0;
}
=20
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 59caff08f2..ab3828ec57 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -9039,6 +9039,26 @@ qemuBuildTPMCommandLine(virCommandPtr cmd,
}
=20
=20
+static int
+qemuBuildTPMProxyCommandLine(virCommandPtr cmd,
+ virDomainTPMDefPtr tpm)
+{
+ g_auto(virBuffer) buf =3D VIR_BUFFER_INITIALIZER;
+ const char *filePath =3D NULL;
+
+ filePath =3D tpm->data.passthrough.source.data.file.path;
+
+ virCommandAddArg(cmd, "-device");
+ virBufferAsprintf(&buf, "%s,id=3D%s,host-path=3D",
+ virDomainTPMModelTypeToString(tpm->model),
+ tpm->info.alias);
+ virQEMUBuildBufferEscapeComma(&buf, filePath);
+ virCommandAddArgBuffer(cmd, &buf);
+
+ return 0;
+}
+
+
static int
qemuBuildTPMsCommandLine(virCommandPtr cmd,
const virDomainDef *def,
@@ -9047,8 +9067,13 @@ qemuBuildTPMsCommandLine(virCommandPtr cmd,
size_t i;
=20
for (i =3D 0; i < def->ntpms; i++) {
- if (qemuBuildTPMCommandLine(cmd, def, def->tpms[i], qemuCaps) < 0)
+ if (def->tpms[i]->model =3D=3D VIR_DOMAIN_TPM_MODEL_SPAPR_PROXY) {
+ if (qemuBuildTPMProxyCommandLine(cmd, def->tpms[i]) < 0)
+ return -1;
+ } else if (qemuBuildTPMCommandLine(cmd, def,
+ def->tpms[i], qemuCaps) < 0) {
return -1;
+ }
}
=20
return 0;
--=20
2.26.2
From nobody Wed Apr 24 11:46:37 2024
Delivered-To: importer@patchew.org
Received-SPF: pass (zohomail.com: domain of redhat.com designates
207.211.31.81 as permitted sender) client-ip=207.211.31.81;
envelope-from=libvir-list-bounces@redhat.com;
helo=us-smtp-delivery-1.mimecast.com;
Authentication-Results: mx.zohomail.com;
dkim=pass;
spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as
permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com;
dmarc=fail(p=none dis=none) header.from=gmail.com
ARC-Seal: i=1; a=rsa-sha256; t=1590066505; cv=none;
d=zohomail.com; s=zohoarc;
b=LouSD+aPV+Rccrb4azjtTdZfYs3Nup0yPZWeH3KkW7141z3EKzGoO0OBskZAsoG6jjFROiPHI99/+aRYx1CVnLWa29TGHFrk2os2TPjc7Ws1R79VarSgCdZ6n0xl0Cf3Nmas1oCH2K+cW0MezASmDRKXriDAlRNrWvIQoa/QyBw=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com;
s=zohoarc;
t=1590066505;
h=Content-Type:Content-Transfer-Encoding:Cc: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=UlT6pMl0hlctPkZ/dkCd1L+QSLk4j4mgGdzf5a7AaYI=;
b=Rm/iWt3zd8b+T3deiDn0XCL2T4L3Ut6g8oGn+npNV8WhuEnbefFYeJCa1M9Etdbfs4zms/0mvbZDM+xXtvqx4wsTrZwtvYL4h/XkxC94adDnkEADIxLRIq0wGDRHRe1M9JHE5NcpNjO2a/gPnDfkxl6ICP0WsnmkPGtoLekkLDU=
ARC-Authentication-Results: i=1; mx.zohomail.com;
dkim=pass;
spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as
permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com;
dmarc=fail header.from= (p=none dis=none)
header.from=
Return-Path:
Received: from us-smtp-delivery-1.mimecast.com (us-smtp-2.mimecast.com
[207.211.31.81]) by mx.zohomail.com
with SMTPS id 1590066505268935.9500966153736;
Thu, 21 May 2020 06:08:25 -0700 (PDT)
Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com
[209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id
us-mta-409-VKZMdBmwP8-zn2ac3Si_8w-1; Thu, 21 May 2020 09:08:21 -0400
Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com
[10.5.11.22])
(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
(No client certificate requested)
by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 73F4980B71F;
Thu, 21 May 2020 13:08:15 +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 4EE511062234;
Thu, 21 May 2020 13:08:15 +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 1F65354D03;
Thu, 21 May 2020 13:08:15 +0000 (UTC)
Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com
[10.11.54.4])
by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP
id 04LD8A4F029983 for ;
Thu, 21 May 2020 09:08:10 -0400
Received: by smtp.corp.redhat.com (Postfix)
id E84892026DFD; Thu, 21 May 2020 13:08:09 +0000 (UTC)
Received: from mimecast-mx02.redhat.com
(mimecast01.extmail.prod.ext.rdu2.redhat.com [10.11.55.17])
by smtp.corp.redhat.com (Postfix) with ESMTPS id E40C82026D69
for ; Thu, 21 May 2020 13:08:09 +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-SHA384 (256/256 bits))
(No client certificate requested)
by mimecast-mx02.redhat.com (Postfix) with ESMTPS id BDBEC8ECB48
for ; Thu, 21 May 2020 13:08:09 +0000 (UTC)
Received: from mail-qt1-f196.google.com (mail-qt1-f196.google.com
[209.85.160.196]) (Using TLS) by relay.mimecast.com with ESMTP id
us-mta-271-Z334oRkrNneBoRxbz_V15A-1; Thu, 21 May 2020 09:08:03 -0400
Received: by mail-qt1-f196.google.com with SMTP id m64so5382984qtd.4;
Thu, 21 May 2020 06:08:02 -0700 (PDT)
Received: from rekt.ibmuc.com ([2804:431:c7c6:e0b9:8f39:f7d8:19fe:be67])
by smtp.gmail.com with ESMTPSA id
e27sm4557800qkl.47.2020.05.21.06.07.59
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Thu, 21 May 2020 06:08:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1590066504;
h=from:from:sender:sender:reply-to:subject:subject:date:date:
message-id:message-id:to:to:cc: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=UlT6pMl0hlctPkZ/dkCd1L+QSLk4j4mgGdzf5a7AaYI=;
b=Kq6kVz2UfDmVTI9b1cbc0eq/FWieHXTDDiUh7oODUQqds1SLyb9OexthK540H13udrysUu
Yd7Xq4aKT+5zvtG1TkpJYOsepHbnP0IgBfPaeOBiHigE/9ONkjvTJTNtOe4KyLSLayf55K
5CZMU0BOzqG1a9PIRbqjViQdo8GD43o=
X-MC-Unique: VKZMdBmwP8-zn2ac3Si_8w-1
X-MC-Unique: Z334oRkrNneBoRxbz_V15A-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
:references:mime-version:content-transfer-encoding;
bh=UlT6pMl0hlctPkZ/dkCd1L+QSLk4j4mgGdzf5a7AaYI=;
b=EsRkO70ZTs6Y8kSeK2cDWVWeBqi7SFe0/UbwIrrkToQ7ijViuJmRouKleSkKE8xII1
r9s1UH6jPkFX7gCxMFy3jJKRyJ70e4Qd6sr23sUiwoy45PfsQ7701FMNQxFrtcLYrSEx
Z4/BlayOX2ig5vXIoOYzLwTjlDmbUnQ6JJSVVk5LqfOaP20kyQTBY06abCnPr+cGh3BF
bKoUWdfNXHe4+fMoqrh6FoBQ5SGiB7KPoTX5Kx3p7+Rf432fXCjisxxVFVicTpwkToCM
hWYmgllRD83WhZEqFBhRVy91etjoVS4Zx2vBIK48wQTCk8ccrP2VfKgDKR0KFGydNa4t
Eenw==
X-Gm-Message-State: AOAM532TZFJhd/dti83UnJS9XQM8szrCRdeyhMw8Hmf27UB3yjTywWiK
dhY/brzm4Vl56NAVTC4U2tWYC0MsVyI=
X-Google-Smtp-Source:
ABdhPJzeoEEUGwJId7yc/BrKyBDf2zdt+LaZLVk/60J5+/Rp234RdEsmuG87vV4RdTiw87J+5eqBSA==
X-Received: by 2002:ac8:393a:: with SMTP id s55mr10453678qtb.48.1590066481748;
Thu, 21 May 2020 06:08:01 -0700 (PDT)
From: Daniel Henrique Barboza
To: libvir-list@redhat.com
Subject: [PATCH v5 09/10] tests/qemuxml2argvtest.c: add TPM Proxy command line
tests
Date: Thu, 21 May 2020 10:07:29 -0300
Message-Id: <20200521130730.3426950-10-danielhb413@gmail.com>
In-Reply-To: <20200521130730.3426950-1-danielhb413@gmail.com>
References: <20200521130730.3426950-1-danielhb413@gmail.com>
MIME-Version: 1.0
X-Scanned-By: MIMEDefang 2.78 on 10.11.54.4
X-loop: libvir-list@redhat.com
Cc: Daniel Henrique Barboza , jtomko@redhat.com,
stefanb@linux.ibm.com, sathnaga@linux.vnet.ibm.com,
david@gibson.dropbear.id.au
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.84 on 10.5.11.22
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Transfer-Encoding: quoted-printable
X-ZohoMail-DKIM: pass (identity @redhat.com)
Content-Type: text/plain; charset="utf-8"
Add tests for both supported scenarios: a single TPM Proxy and
a TPM Proxy with a regular TPM device in the same domain.
Reviewed-by: Stefan Berger
Signed-off-by: Daniel Henrique Barboza
Tested-by: Satheesh Rajendran
---
.../ppc64-tpmproxy-single.ppc64-latest.args | 34 +++++++++++++++++
.../ppc64-tpmproxy-with-tpm.ppc64-latest.args | 37 +++++++++++++++++++
tests/qemuxml2argvtest.c | 3 ++
3 files changed, 74 insertions(+)
create mode 100644 tests/qemuxml2argvdata/ppc64-tpmproxy-single.ppc64-late=
st.args
create mode 100644 tests/qemuxml2argvdata/ppc64-tpmproxy-with-tpm.ppc64-la=
test.args
diff --git a/tests/qemuxml2argvdata/ppc64-tpmproxy-single.ppc64-latest.args=
b/tests/qemuxml2argvdata/ppc64-tpmproxy-single.ppc64-latest.args
new file mode 100644
index 0000000000..f606cee16b
--- /dev/null
+++ b/tests/qemuxml2argvdata/ppc64-tpmproxy-single.ppc64-latest.args
@@ -0,0 +1,34 @@
+LC_ALL=3DC \
+PATH=3D/bin \
+HOME=3D/tmp/lib/domain--1-QEMUGuest1 \
+USER=3Dtest \
+LOGNAME=3Dtest \
+XDG_DATA_HOME=3D/tmp/lib/domain--1-QEMUGuest1/.local/share \
+XDG_CACHE_HOME=3D/tmp/lib/domain--1-QEMUGuest1/.cache \
+XDG_CONFIG_HOME=3D/tmp/lib/domain--1-QEMUGuest1/.config \
+QEMU_AUDIO_DRV=3Dnone \
+/usr/bin/qemu-system-ppc64 \
+-name guest=3DQEMUGuest1,debug-threads=3Don \
+-S \
+-object secret,id=3DmasterKey0,format=3Draw,\
+file=3D/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
+-machine pseries,accel=3Dtcg,usb=3Doff,dump-guest-core=3Doff \
+-cpu POWER9 \
+-m 256 \
+-overcommit mem-lock=3Doff \
+-smp 1,sockets=3D1,cores=3D1,threads=3D1 \
+-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
+-display none \
+-no-user-config \
+-nodefaults \
+-chardev socket,id=3Dcharmonitor,fd=3D1729,server,nowait \
+-mon chardev=3Dcharmonitor,id=3Dmonitor,mode=3Dcontrol \
+-rtc base=3Dutc \
+-no-shutdown \
+-boot strict=3Don \
+-device pci-ohci,id=3Dusb,bus=3Dpci.0,addr=3D0x1 \
+-device spapr-tpm-proxy,id=3Dtpmproxy0,host-path=3D/dev/tpmrm0 \
+-device virtio-balloon-pci,id=3Dballoon0,bus=3Dpci.0,addr=3D0x6 \
+-sandbox on,obsolete=3Ddeny,elevateprivileges=3Ddeny,spawn=3Ddeny,\
+resourcecontrol=3Ddeny \
+-msg timestamp=3Don
diff --git a/tests/qemuxml2argvdata/ppc64-tpmproxy-with-tpm.ppc64-latest.ar=
gs b/tests/qemuxml2argvdata/ppc64-tpmproxy-with-tpm.ppc64-latest.args
new file mode 100644
index 0000000000..83eb58ae19
--- /dev/null
+++ b/tests/qemuxml2argvdata/ppc64-tpmproxy-with-tpm.ppc64-latest.args
@@ -0,0 +1,37 @@
+LC_ALL=3DC \
+PATH=3D/bin \
+HOME=3D/tmp/lib/domain--1-QEMUGuest1 \
+USER=3Dtest \
+LOGNAME=3Dtest \
+XDG_DATA_HOME=3D/tmp/lib/domain--1-QEMUGuest1/.local/share \
+XDG_CACHE_HOME=3D/tmp/lib/domain--1-QEMUGuest1/.cache \
+XDG_CONFIG_HOME=3D/tmp/lib/domain--1-QEMUGuest1/.config \
+QEMU_AUDIO_DRV=3Dnone \
+/usr/bin/qemu-system-ppc64 \
+-name guest=3DQEMUGuest1,debug-threads=3Don \
+-S \
+-object secret,id=3DmasterKey0,format=3Draw,\
+file=3D/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
+-machine pseries,accel=3Dtcg,usb=3Doff,dump-guest-core=3Doff \
+-cpu POWER9 \
+-m 256 \
+-overcommit mem-lock=3Doff \
+-smp 1,sockets=3D1,cores=3D1,threads=3D1 \
+-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
+-display none \
+-no-user-config \
+-nodefaults \
+-chardev socket,id=3Dcharmonitor,fd=3D1729,server,nowait \
+-mon chardev=3Dcharmonitor,id=3Dmonitor,mode=3Dcontrol \
+-rtc base=3Dutc \
+-no-shutdown \
+-boot strict=3Don \
+-device pci-ohci,id=3Dusb,bus=3Dpci.0,addr=3D0x1 \
+-device spapr-tpm-proxy,id=3Dtpmproxy0,host-path=3D/dev/tpmrm0 \
+-tpmdev emulator,id=3Dtpm-tpm0,chardev=3Dchrtpm \
+-chardev socket,id=3Dchrtpm,path=3D/dev/test \
+-device tpm-spapr,tpmdev=3Dtpm-tpm0,id=3Dtpm0,reg=3D0x00004000 \
+-device virtio-balloon-pci,id=3Dballoon0,bus=3Dpci.0,addr=3D0x6 \
+-sandbox on,obsolete=3Ddeny,elevateprivileges=3Ddeny,spawn=3Ddeny,\
+resourcecontrol=3Ddeny \
+-msg timestamp=3Don
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index 1db9c89e12..a494be7b81 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -3066,6 +3066,9 @@ mymain(void)
QEMU_CAPS_DEVICE_TPM_PASSTHROUGH,
QEMU_CAPS_DEVICE_SPAPR_TPM_PROXY);
=20
+ DO_TEST_CAPS_LATEST_PPC64("ppc64-tpmproxy-single");
+ DO_TEST_CAPS_LATEST_PPC64("ppc64-tpmproxy-with-tpm");
+
DO_TEST("aarch64-usb-controller-qemu-xhci",
QEMU_CAPS_OBJECT_GPEX,
QEMU_CAPS_NEC_USB_XHCI,
--=20
2.26.2
From nobody Wed Apr 24 11:46:37 2024
Delivered-To: importer@patchew.org
Received-SPF: pass (zohomail.com: domain of redhat.com designates
207.211.31.120 as permitted sender) client-ip=207.211.31.120;
envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-1.mimecast.com;
Authentication-Results: mx.zohomail.com;
dkim=pass;
spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 as
permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com;
dmarc=fail(p=none dis=none) header.from=gmail.com
ARC-Seal: i=1; a=rsa-sha256; t=1590066508; cv=none;
d=zohomail.com; s=zohoarc;
b=GuChyMVFxbsu47tDpCz1+ixXhzYQw4e5c2TuuAIiUGL65kw/JDjs9+xHicbHSjhH2zTb8RmBACECGcwATyTfVEcjmZDr0C4EwAmgx+Xzs99IvJfl8HVwvPZCnpGPuu2w0RxCb1+B6MQtXAnN1dTqRhdzi+VVuK6JDe8ij4hHJgY=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com;
s=zohoarc;
t=1590066508;
h=Content-Type:Content-Transfer-Encoding:Cc: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=wyDKJGEN6pEEt0exP7NWGgrjegmIHYfoH/W8uOcNhVw=;
b=km011LEQsLthFz1I/8Vhl0UyOIjTuIVXzet6D2C6mW38rs2a4SHyLEXTra6pkKueyl7FJ8uI5X3YhsmP2nl6ufwripSwDEK4JRnJlhBWWZ2WTRIwxwCs1WEnW63Gq0g5YRl1ndWqNsQtc9D+HwZN1lOM941O1OBRtL6tPcA5V3c=
ARC-Authentication-Results: i=1; mx.zohomail.com;
dkim=pass;
spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 as
permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com;
dmarc=fail header.from= (p=none dis=none)
header.from=
Return-Path:
Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com
[207.211.31.120]) by mx.zohomail.com
with SMTPS id 1590066508131683.5847265112412;
Thu, 21 May 2020 06:08:28 -0700 (PDT)
Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com
[209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id
us-mta-497-1X01-PA0PWKdRWhhsX7-QQ-1; Thu, 21 May 2020 09:08:24 -0400
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 BBE318018AD;
Thu, 21 May 2020 13:08:17 +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 9C23782EEF;
Thu, 21 May 2020 13:08:17 +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 6BE9454D0E;
Thu, 21 May 2020 13:08:17 +0000 (UTC)
Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com
[10.11.54.6])
by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP
id 04LD8AV9029992 for ;
Thu, 21 May 2020 09:08:10 -0400
Received: by smtp.corp.redhat.com (Postfix)
id 66E512156A2E; Thu, 21 May 2020 13:08:10 +0000 (UTC)
Received: from mimecast-mx02.redhat.com
(mimecast03.extmail.prod.ext.rdu2.redhat.com [10.11.55.19])
by smtp.corp.redhat.com (Postfix) with ESMTPS id 57D2D2157F25
for ; Thu, 21 May 2020 13:08:10 +0000 (UTC)
Received: from us-smtp-1.mimecast.com (us-smtp-1.mimecast.com
[205.139.110.61])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits))
(No client certificate requested)
by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 072AB80270D
for ; Thu, 21 May 2020 13:08:10 +0000 (UTC)
Received: from mail-qk1-f195.google.com (mail-qk1-f195.google.com
[209.85.222.195]) (Using TLS) by relay.mimecast.com with ESMTP id
us-mta-288-ofov0stkNWKM7QJTR2quTQ-1; Thu, 21 May 2020 09:08:05 -0400
Received: by mail-qk1-f195.google.com with SMTP id i14so7041292qka.10;
Thu, 21 May 2020 06:08:04 -0700 (PDT)
Received: from rekt.ibmuc.com ([2804:431:c7c6:e0b9:8f39:f7d8:19fe:be67])
by smtp.gmail.com with ESMTPSA id
e27sm4557800qkl.47.2020.05.21.06.08.02
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Thu, 21 May 2020 06:08:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1590066507;
h=from:from:sender:sender:reply-to:subject:subject:date:date:
message-id:message-id:to:to:cc: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=wyDKJGEN6pEEt0exP7NWGgrjegmIHYfoH/W8uOcNhVw=;
b=JHdoQvkKM4MMtovaqNBl8rfCHtd48pu4jPOt0auIWdyGLaUH99j57gjgoBkBLlCg0o26Sl
Krpvy1NYoqzImPduOnLHrPV0JJDSa8zE8SpLpYsPgiROzSCpQGWdScRZOf0DFIhwZJU/O1
c4kd6domMErKsEVYnZT8kSLQ5g/JZxs=
X-MC-Unique: 1X01-PA0PWKdRWhhsX7-QQ-1
X-MC-Unique: ofov0stkNWKM7QJTR2quTQ-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
:references:mime-version:content-transfer-encoding;
bh=wyDKJGEN6pEEt0exP7NWGgrjegmIHYfoH/W8uOcNhVw=;
b=NfD1KyCqHdQztcwnj/y1gkEcsQDx8yufwm74Ut1Cb+bGLbIEUx+jcTIyvuEcyOUKgS
2l6IUh9zTjKvbxB1UlEHb7A5xShEn4138MhcECzJIXjGFGjAWneTY+5NvIh2uNvnk1B7
BlDyUmkmXrvlLXZ4Q8GuJ141lUEqHf/jUHkCFXjQENwPcpoZTKVzip18w8rYOIX9swcE
sDpS1TjDlo8EUHoaDldd+8kTsAIyvnW0MefuGTmCfJuGUkN3EFmYlnlLOeLOddRC8JUZ
FEXR+pHVjLktHYwKD6+e4U76TzSBuXVlFs0j4sKjMxaYCK9ddMUtD/OTVgs0W2ZDsVKA
45YA==
X-Gm-Message-State: AOAM532y/scF+qYszwdjR2oh8lzP6oLCOv2QXjyLbTHHm3y5cRXTu31a
a6m3OpbDoVKoTQWcLUjXxOiDJcLrg2M=
X-Google-Smtp-Source:
ABdhPJwnP8AQY6qmqnra8u+5bDxCY3l/GHUNeUjjVXyhN270aGshI+Tu1V9ULQlycT62/W7d8hcopw==
X-Received: by 2002:a05:620a:7f0:: with SMTP id
k16mr9777496qkk.18.1590066484288;
Thu, 21 May 2020 06:08:04 -0700 (PDT)
From: Daniel Henrique Barboza
To: libvir-list@redhat.com
Subject: [PATCH v5 10/10] docs/news.xml: update for the new TPM Proxy device
Date: Thu, 21 May 2020 10:07:30 -0300
Message-Id: <20200521130730.3426950-11-danielhb413@gmail.com>
In-Reply-To: <20200521130730.3426950-1-danielhb413@gmail.com>
References: <20200521130730.3426950-1-danielhb413@gmail.com>
MIME-Version: 1.0
X-Scanned-By: MIMEDefang 2.78 on 10.11.54.6
X-loop: libvir-list@redhat.com
Cc: Daniel Henrique Barboza , jtomko@redhat.com,
stefanb@linux.ibm.com, sathnaga@linux.vnet.ibm.com,
david@gibson.dropbear.id.au
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
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Transfer-Encoding: quoted-printable
X-ZohoMail-DKIM: pass (identity @redhat.com)
Content-Type: text/plain; charset="utf-8"
Reviewed-by: Stefan Berger
Signed-off-by: Daniel Henrique Barboza
Tested-by: Satheesh Rajendran
---
docs/news.xml | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/docs/news.xml b/docs/news.xml
index 4cef804aac..c22a0f0a18 100644
--- a/docs/news.xml
+++ b/docs/news.xml
@@ -44,6 +44,23 @@
+
+
+ qemu: add TPM Proxy device support
+
+
+ libvirt can now create guests using a new device type called
+ "TPM Proxy". The TPM Proxy connects to a TPM Resource Manager
+ present in the host, enabling the guest to run in secure virtual
+ machine mode with the help of an Ultravisor. Adding a TPM Proxy =
to
+ a pSeries guest brings no security benefits unless the guest is
+ running on a PPC64 host that has Ultravisor and TPM Resource Man=
ager
+ support. Only one TPM Proxy is allowed per guest. A guest using
+ a TPM Proxy device can instantiate another TPM device at the same
+ time. This device is supported only for pSeries guests via the n=
ew
+ 'spapr-tpm-proxy' model of the TPM 'passthrough' backend.
+
+
--=20
2.26.2