From nobody Tue Sep 9 19:03:24 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail header.i=@intel.com; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=intel.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1752132765424312.94911622207644; Thu, 10 Jul 2025 00:32:45 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 62B851543; Thu, 10 Jul 2025 03:32:44 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id A3D711566; Thu, 10 Jul 2025 03:23:50 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id B9F41C90; Thu, 10 Jul 2025 03:23:37 -0400 (EDT) Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id BE92D150C for ; Thu, 10 Jul 2025 03:23:05 -0400 (EDT) Received: from orviesa002.jf.intel.com ([10.64.159.142]) by orvoesa111.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Jul 2025 00:23:04 -0700 Received: from unknown (HELO gnr-sp-2s-612.sh.intel.com) ([10.112.230.229]) by orviesa002-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Jul 2025 00:23:01 -0700 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-3.0 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED, SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=3.4.4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1752132186; x=1783668186; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=11b5xiuaWrNQXN4uEejWMAFAV+UCGoFAWuSrQb2PugY=; b=CdqvXCNn9lCF0JdpXY8ryO36UkLKOu1FxbfL4rg48L8jwfyH6id8BI8P MaKkw7Oi2BSaEA1oZjGlVOnzIYXjHultM099iqbNt8MZjYKneCzpxoI60 +jfHIYUvzgjm57SBmRRuYPVXxozFN7y1ozZuwTc+pTC+dRKSZrThVhnFF D9vnE82VfkXAWUnEeel6jteq5K8jkdiBX/L4EtdrktLdwzSTLcXmKUikH p23dieQ3j8864RpQcfjJzIndO86Bu1bwRxpJTLtecpbaVybHgIEK+vf1t uZsJAl+YrULAnZhSVT4tLHxJgRxssUBtqZqy+1dHo8wWn10WW1IRgGA4V w==; X-CSE-ConnectionGUID: /nZkZ9g3SAuUfCh82APcQA== X-CSE-MsgGUID: TWarvXfmSimbd/PjQsR96Q== X-IronPort-AV: E=McAfee;i="6800,10657,11489"; a="54257258" X-IronPort-AV: E=Sophos;i="6.16,300,1744095600"; d="scan'208";a="54257258" X-CSE-ConnectionGUID: NasNBJ0FTfuCRXvcGIPZwA== X-CSE-MsgGUID: 4k0fOw9HQ1W0u/Bs/hPqJA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.16,300,1744095600"; d="scan'208";a="186997249" From: Zhenzhong Duan To: devel@lists.libvirt.org Subject: [PATCH v4 23/23] docs: domain: Add documentation for Intel TDX guest Date: Thu, 10 Jul 2025 03:21:25 -0400 Message-ID: <20250710072127.695558-24-zhenzhong.duan@intel.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250710072127.695558-1-zhenzhong.duan@intel.com> References: <20250710072127.695558-1-zhenzhong.duan@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Message-ID-Hash: E622S5GMETKFCZXNQG54NOVFLSVD2XVY X-Message-ID-Hash: E622S5GMETKFCZXNQG54NOVFLSVD2XVY X-MailFrom: zhenzhong.duan@intel.com X-Mailman-Rule-Hits: nonmember-moderation X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0 CC: phrdina@redhat.com, pkrempa@redhat.com, jjongsma@redhat.com, jsuchane@redhat.com, chenyi.qiang@intel.com, isaku.yamahata@intel.com, xiaoyao.li@intel.com, chao.p.peng@intel.com, Zhenzhong Duan X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1752132767650116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Zhenzhong Duan Reviewed-by: Daniel P. Berrang=C3=A9 --- docs/formatdomain.rst | 63 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/docs/formatdomain.rst b/docs/formatdomain.rst index 9a2f065590..b1cecde947 100644 --- a/docs/formatdomain.rst +++ b/docs/formatdomain.rst @@ -9528,6 +9528,69 @@ The ```` element then accepts the f= ollowing child elements: the SNP_LAUNCH_FINISH command in the SEV-SNP firmware ABI. =20 =20 +The contents of the ```` element is used to p= rovide +the guest owners input used for creating an encrypted VM using the Intel T= DX +(Trusted Domain eXtensions). Intel TDX refers to an Intel technology that +extends Virtual Machine Extensions (VMX) and Multi-Key Total Memory Encryp= tion +(MKTME) with a new kind of virtual machine guest called a Trust Domain (TD= ). +A TD runs in a CPU mode that is designed to protect the confidentiality of= its +memory contents and its CPU state from any other software, including the h= osting +Virtual Machine Monitor (VMM), unless explicitly shared by the TD itself. +Example configuration: + +:: + + + ... + + 0x10000001 + xxx + xxx + xxx + + + ... + + +``policy`` + The optional ``policy`` element provides the guest TD attributes which = is + passed by the host VMM as a guest TD initialization parameter as part of + TD_PARAMS, it exactly matches the definition of TD_PARAMS.ATTRIBUTES in + (Intel TDX Module Spec Table 22.2: ATTRIBUTES Definition). It is report= ed + to the guest TD by TDG.VP.INFO and as part of TDREPORT_STRUCT returned = by + TDG.MR.REPORT. The guest policy is 64bit unsigned with the fields shown + in Table: + + =3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + Bit(s) Description + =3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + 0 Guest TD runs in off-TD debug mode when set + 1:27 reserved + 28 Disable EPT violation conversion to #VE on guest TD access of PE= NDING pages when set + 29:63 reserved + =3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + +``mrConfigId`` + The optional ``mrConfigId`` element provides ID for non-owner-defined + configuration of the guest TD, e.g., run-time or OS configuration + (base64 encoded SHA384 digest). + +``@mrOwner`` + The optional ``@mrOwner`` element provides ID for the guest TD=E2=80=99= s owner + (base64 encoded SHA384 digest). + +``mrOwnerConfig`` + The optional ``mrOwnerConfig`` element provides ID for owner-defined + configuration of the guest TD, e.g., specific to the workload rather th= an + the run-time or OS (base64 encoded SHA384 digest). + +``quoteGenerationService`` + The optional ``quoteGenerationService`` subelement provides Quote Gener= ation + Service(QGS) daemon socket address configuration. It includes an option= al + ``path`` attribute to determine the UNIX socket address, when omitted, + ``/var/run/tdx-qgs/qgs.socket`` is used as default. User in TD guest ca= nnot + get TD quoting for attestation if this subelement is not provided. + Example configs =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =20 --=20 2.47.1