From nobody Tue May 13 23:01:05 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1528468987912177.27904023635995; Fri, 8 Jun 2018 07:43:07 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.26]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id CBB4C3084047; Fri, 8 Jun 2018 14:43:06 +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 8F8AE3001A57; Fri, 8 Jun 2018 14:43:06 +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 2866F4CA84; Fri, 8 Jun 2018 14:43:06 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w58EfcHS026238 for ; Fri, 8 Jun 2018 10:41:38 -0400 Received: by smtp.corp.redhat.com (Postfix) id 47C764529; Fri, 8 Jun 2018 14:41:38 +0000 (UTC) Received: from mx1.redhat.com (ext-mx10.extmail.prod.ext.phx2.redhat.com [10.5.110.39]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 3F20126E5C for ; Fri, 8 Jun 2018 14:41:37 +0000 (UTC) Received: from NAM03-CO1-obe.outbound.protection.outlook.com (mail-co1nam03on0047.outbound.protection.outlook.com [104.47.40.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 0EA625D675 for ; Fri, 8 Jun 2018 14:41:36 +0000 (UTC) Received: from localhost-010236106000.amd.com (165.204.78.1) by SN1PR12MB2461.namprd12.prod.outlook.com (2603:10b6:802:27::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.841.13; Fri, 8 Jun 2018 14:41:28 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amd-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6hAO6/HT+uCJv5onTpRYtLl3mUAkwfy33aLPaWdJj08=; b=gIvcmc/V78IvOUlwS8FMBRgG13DUl+QcSUIz3icUovUXBB7FMID16ubKDKxFUImkjA6Wc6OjNQh2EgZaPfBX+1300h39fbpl/4Q9Hq0CYEy1YOoOBjn54joyJ3XZ9s8n+hU+G111M0wyzAVn59mUw0EYxLAnDYOvsihBSnPYtro= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=brijesh.singh@amd.com; From: Brijesh Singh To: libvir-list@redhat.com Date: Fri, 8 Jun 2018 09:40:52 -0500 Message-Id: <20180608144101.34228-3-brijesh.singh@amd.com> In-Reply-To: <20180608144101.34228-1-brijesh.singh@amd.com> References: <20180608144101.34228-1-brijesh.singh@amd.com> MIME-Version: 1.0 X-Originating-IP: [165.204.78.1] X-ClientProxiedBy: SN4PR0501CA0133.namprd05.prod.outlook.com (2603:10b6:803:2c::11) To SN1PR12MB2461.namprd12.prod.outlook.com (2603:10b6:802:27::24) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(48565401081)(5600026)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:SN1PR12MB2461; X-Microsoft-Exchange-Diagnostics: 1; SN1PR12MB2461; 3:nom5rKCQGwNtEOyuJ2j7ahg4pjFVrfqv9y19T+k98JRFKEcmElTV8PxZhlzK1QtjjiretZrz+UR2X9lIGLh7oHZDBBo34FMZBRqcmFsM2xQYNgqyHVP/+6DDS1yMea3/6T0IjsxM61Z3E02DZOzqHcFSJCfWOaIbLNN2eNk45xzdMV8UPkna5gu1JW+OLkjNPKia18YbZ4xPmtKnoWYXjj3iM2Yae3v110xcl4G6kLIeFpFUmOZzdVBhgv+cdT80; 25:S5JI6Zmh1aCs2gdajgi6t6afHySNxTVaPQCDPabdBIfNDUnaEwQSB8jKMxnKxoX/2Nu/fbbTdPhuUmrsmh/SEpLrKIPg911vVnWySJA83LZ22ednUZ4MHY07OJrBLwKgl1DQ+SnEUPcJkrMQbT6oqibAfXTYbJ8jkIOZd9Nt5rooAwMZ1Xp7njyrRSWKH3C1KK/vh8sAgaRJWZLSyXDoyxKydRElWcMuvLjUJJs/h9b7vKOzRfB7MF+rBH4BRMlm8TlLzI4H/IWNw4SZMeHEz7nv0y0EFYTKanydmNpn2rz7vsVsBqdoPia6wKizCgK9PvAPj+u48sAlPeCc8qd0tw==; 31:9wHYkB9KBcegB0WSBejk5oRLm0GTWWMY69HQHbYHW1gn3WNCrMdGegOzp+oFUMphXCgzBjcb7mrDkkBBlsTi9Q3VE85kOpPtSpEe9/elRGhgW1UknJxlxDTTg0oJO7DeuYwPLrQ8v2MM6NFjA8AOYqFhefwWaz3uEPz03SKQ2OcMt8JNVoFzIUvd+XW2AA6iGQUbgkuiXTKuc/HZ9W4N6PX3DdYe3DYKpqwA3IvQ2P8= X-MS-TrafficTypeDiagnostic: SN1PR12MB2461: X-Microsoft-Exchange-Diagnostics: 1; SN1PR12MB2461; 20:+Zi4SSFS9+7CRrcQmyAQjeouA2m1JyHfOPApJz+xjBTzT6lmC79E76vX69Kmlxb2XH7ShzlQULHvATI5e26vWyoh7LQ7VuNBON4j9Oap/ndbanwQGIq0pvtt3/w/gLgYf9Xute7nl6CwdJG+jrefHmER3jGNnQYquX/KK9q/7iuSKIpO05BkmgcOf9RUxds9x6cn0p4eazRot2jQY0qvwA3EGalGinx1UZDtWlzIoL7GrrzVpCrOe0sMGjRU5BSBYALaLHfa8Sa6I9xV+ZPi4kxabX7T82gxfvzdcNsoD9kQg/6+0KasKHxivLsUM5lRdbC3u3wnnfRVSNiffPzJK3ABF9vtxIg03DnjnH+kDoeqw3TG3uORH83hCfq3QJfLUE9tsDUFXEXCkdl+Ime+igdxw0vq/pqEumw3Jk4sjtLLkfr36NLNA11PqTViewn58Xb/6s/IT1SLwnioON63vMiD8/8Acs4egmGBqFBJxIwa6drh0WkDux4iNL/nywrv; 4:7BPRk7fnraO0SQ0gNrLGGRJhyKj9bjISQXCgfajx7OntISVvhxX2IHaJiORTrqGzBCQN+c3Yw9tEj6upEdDnxvI3cq/7L1+p3nAPL9f5Fkt+TB6rsRjK5OKbr7UYBMSAKvjzZ0YevZDz8bRyI3HMBbpIIDqiEb+hhJPEAvD09F+scVCs282ZlYozcR535MTJHRQTfrL7PNgSi2dRCJn43vx0l2xTb85BXVosxr+DrKo37mKY6pq49gFfuHNnzAWkMh6TYUflK5NyqZf8vQOrwKxvsyBFkTM3KrfHi6S5apiia5SJ1LabrSDi++bbwq7bm2QvXP9ZoZnabd8xmtNbNw== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(20558992708506)(767451399110); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(10201501046)(93006095)(93001095)(3002001)(3231254)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123558120)(20161123564045)(6072148)(201708071742011)(7699016); SRVR:SN1PR12MB2461; BCL:0; PCL:0; RULEID:; SRVR:SN1PR12MB2461; X-Forefront-PRVS: 06973FFAD3 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6069001)(376002)(39860400002)(39380400002)(346002)(396003)(366004)(189003)(199004)(106356001)(68736007)(2361001)(105586002)(7736002)(4326008)(2351001)(53416004)(86362001)(575784001)(76506005)(5660300001)(606006)(50466002)(47776003)(6666003)(48376002)(81166006)(81156014)(66066001)(478600001)(6486002)(6306002)(25786009)(8676002)(6916009)(6116002)(3846002)(8936002)(1076002)(97736004)(50226002)(236005)(386003)(59450400001)(54906003)(51416003)(298455003)(76176011)(36756003)(52116002)(7696005)(53936002)(316002)(16586007)(476003)(956004)(2616005)(11346002)(446003)(44832011)(486006)(2906002)(16526019)(186003)(26005); DIR:OUT; SFP:1101; SCL:1; SRVR:SN1PR12MB2461; H:localhost-010236106000.amd.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; SN1PR12MB2461; 23:PkjQrvA2k7kv1UebHSN0nSWkO3k1CKrfja9dRNs7j?= =?us-ascii?Q?0HBfJDhpf/em2ef3a+cl0pG/GhB0MUiSdiX6zbgUDV7AUoMijJxvsfQDhqB+?= =?us-ascii?Q?6OgjX6LU8FXHkg7P27+UvFkqabD6P7Hhoqf49qwk3mGVnVnexses4J7cOc2s?= =?us-ascii?Q?pDE39XB/U4iDJQqmHDCWaJbp7Ad+KRQ8hc4wHvVXWRKo6TfoGo4r7ClWRTQc?= =?us-ascii?Q?Jdba1rCiGeZl/rjnzBDcR0/rsODlkqWk6+eI+2HbgwwsuL5s2zoPr3Q6x4mA?= =?us-ascii?Q?w62qbH3cZEyxxwFcRURQ4UDsG4zHhRmWuvckEJHEaWY2gKMOFABd0ylmr7Aw?= =?us-ascii?Q?wWLu4jZ/f57hn1t6SOX1Imi4Y3M49340w/NmlVLhhTi9HRLN89mNKUoZLy6E?= =?us-ascii?Q?A44uyjtk80tcSsEnlqn1dxE+ES1s2LklArteLAQDzaWZgJoaejaTdX0AavRe?= =?us-ascii?Q?/45gu1T2/VAFWsuFEQaHu1m/2k9RVIZD9Cahw9QY2m0NGRig8OHkCVWs+W+L?= =?us-ascii?Q?eFxnHuqR3DYIJzaRQu8TtRkZ0LRcxsTf4YSREFBqShgR1p7VkSCtQbTGyyXe?= =?us-ascii?Q?FwZylkZ9tZu6q5V7SCVQIPR7aODtHtpX/txQT2fwAjm7YWfoia2zOI4IdX/P?= =?us-ascii?Q?t75duxIJGYHXCxXEwMD/jZwSLtlQrnjoKq6tUqhPRk7y/+fhpDJCABkF8nEK?= =?us-ascii?Q?hdu+BaGbYu9pH4kttrHKEfsr+qkW+3zIzW1HmZoYOh6fC1W9JPXwbt+2c7/V?= =?us-ascii?Q?5yVQc7VV/wJeNkTCPxJO92lJ+zbyJ8adyiyatkVdUm5Gw+BgLqPha0v3d9pZ?= =?us-ascii?Q?PyjHUopoyeqnA42VGra58oMoq2+lboAwdQEVvgQILEYOlfXtcU+eRXJLnVQy?= =?us-ascii?Q?XtHnbHU87ORg8lP3t1i+NyOsSxRSKcOWEYXbPVw/M5LDTYVH3dExqfcQ9FjT?= =?us-ascii?Q?ik25JrvOVmlvnOqBk1NhMYrXZIbNFV54MWU5+EzJaqFZHb1WWjFJvL5k675e?= =?us-ascii?Q?QSdn47CVBN5E+/ISQJmjGLhcxmX1TUhotzMGQu9Zcz7ewPp/aAwyOFCeJmyT?= =?us-ascii?Q?olDWLkIZbAV9FhiJZXQRNxDiXVmbgSukbB9pj6cj7/cwGMSz9YrMR1QY8tFU?= =?us-ascii?Q?DOu+18NVM9jg/UAVKKCEyaVcNkRBsKGPNvdRBSncvbTVLkqAuLy0GGcLmBRZ?= =?us-ascii?Q?fxumbf59KtjeQwZ7hybS9hPC1pthVQ4UuazWNniGPh2PlFxKofbUWGVZrRZp?= =?us-ascii?Q?IFq6OSJCY9VGCaIRXRpIXGbQ20olBTD+DYeEojz11Af854aQYYG6P4mEgBBY?= =?us-ascii?Q?SG4qMz5LipWdHpWr7vdN8tsbsV+GMkDNEf78RGs8c6yD0VXGwMA4m8GHAhZH?= =?us-ascii?Q?Yqzs4Umvt+N0RzI0wIthVrHSFFx+QBglMQ619xQ+YJLp6GinJu8SpDyivtMn?= =?us-ascii?Q?QzQWYlubA=3D=3D?= X-Microsoft-Antispam-Message-Info: ZZEXtAbTRtu2qvONgPGHFRhfoiEUaAhdH+iiV6EeoH1O9Omu2/nb7iEvE122F1kI/jUj5pAcEF1PvTNBMisGFAWn/lU01Xk+rj3uS7+hg+q3GyGekB81D91mggZWoOyJhJUwjhErfSdHT89rRMIr9hczo92vhRqK94HlU2zd2l3Nu+pEW10+DOf3eghqC4uh X-Microsoft-Exchange-Diagnostics: 1; SN1PR12MB2461; 6:uG+Y85UYhwZKJnoHo6V1jLdlNN6xB3uBdDtdJx+SbD2Wv9hIznmE/G/OtomHkg3MdiRprPBFDOqC3CGAfWGEp4NjEy6OLduPtjRwuvmT9j91WOsGlMNiUhvrnWS3DEe6/abDkOH/jEOmmGnxMEDjYerPVTA7SCzq3JR+KYwghvOimIEUviwZ0Q3ZJIMxi5l7SG309B4311DCFo5+l4ozQpJ0abktAAy4vgVSDD/oUtNkI196XMq/jNr252TtV/tMMwpBIsNUCGRuiwvmt8+zY+eb165rwnTOC6sEE45DCM4kOv/VonDCwUAobk8Mnpr4R2nXBbiY4tlTMyXmrDbAwRM+8Odbg8046khSwr5OqgdltngguYUdixKvN8CFQP+aItyLOKc7ic60IW9MI9OD3JvA/LHf/8n83GGnhrs8XiEYkes3+cuYxqpUg06619+xUxCl9cgwFXPT8KP/gMZ34Q==; 5:YhO4TQSWNt8/js+lnwBW0/X+QTB0um3zddja5hrxKGIt8d6ApawQYH7iDJ1BQU0+3SNkoPoy8QXpZq4dB211Ks8eJ66L1XWPoez03lYta5aV99loQjW0/Rm3chE95jw2AEHt/5dYLXsPVaBwvnDSBppdmzP0eoE1NIcnMTz7cAQ=; 24:Icv7WsNFelYm2JE5zz4Ueyjdb/3WwpCeTgjBcLAKhBjeV+cpGdJvbInw4jDxPZSS6ZO+mOM8vebi2b/t2lUSwlpqCNm/FEf/yU2OWRo1fTw= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; SN1PR12MB2461; 7:WEM1d1dtCqfT5/Ud+MnfPnWpdUJAOz/n1028vs8EHsVvCuW8ZexmtdZq82a8p+uiDWj5mkME9zfWAyQ25Ck1oi3HgR/st7gYSRbolx/MmvcXIphG60GK7QjwApy2oldQfFkbp89Ce0rnGqqyb6Vhi9+Lw84t5dnqpV4HASmJl+KBWNyDmcLbJp4oqkgdox4/mVpjF6KFzNVgZoDEjdTfJ9SWIS0zHtqqdcIctBSGIgP0RhUV7JwEPBlfpDQq7vSJ; 20:CXZ2ZEkPMMINTWVDT+twU5klVeFxu2PjSM35k0f/qm4FFzZe1cgqy4Z36lXZk5OMa0UCVgam86+uLZ6FAM2ZQr0iFqTrCjn1P3zVzVR5AfRLXZoE/CBXxT1/4+D+yi3gronC9I+JyKi8AWiF1TvYoO84LcbI7ovkfm613QuebbZ0/XmNkR7eRCQ53RaW866QtQF39UnUE+ZMCz3MoD/BlAB2haYIkaeVECF9tkZnFiW2zkEUSI7/nyJWXxehBT2B X-MS-Office365-Filtering-Correlation-Id: 32ff650b-df38-49e0-9727-08d5cd4deb8a X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jun 2018 14:41:28.8866 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 32ff650b-df38-49e0-9727-08d5cd4deb8a X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR12MB2461 X-Greylist: Sender passed SPF test, Sender IP whitelisted by DNSRBL, ACL 207 matched, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Fri, 08 Jun 2018 14:41:36 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Fri, 08 Jun 2018 14:41:36 +0000 (UTC) for IP:'104.47.40.47' DOMAIN:'mail-co1nam03on0047.outbound.protection.outlook.com' HELO:'NAM03-CO1-obe.outbound.protection.outlook.com' FROM:'brijesh.singh@amd.com' RCPT:'' X-RedHat-Spam-Score: -0.021 (DKIM_SIGNED, DKIM_VALID, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, T_DKIMWL_WL_MED) 104.47.40.47 mail-co1nam03on0047.outbound.protection.outlook.com 104.47.40.47 mail-co1nam03on0047.outbound.protection.outlook.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.39 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-loop: libvir-list@redhat.com Cc: Tom Lendacky , Jon Grimm , Brijesh Singh , Borislav Petkov Subject: [libvirt] [PATCH v9 02/11] conf: expose SEV feature in domain capabilities 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: , Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.26 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.40]); Fri, 08 Jun 2018 14:43:07 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Extend hypervisor capabilities to include sev feature. When available, hypervisor supports launching an encrypted VM on AMD platform. The sev feature tag provides additional details like Platform Diffie-Hellman (PDH) key and certificate chain which can be used by the guest owner to establish a cryptographic session with the SEV firmware to negotiate keys used for attestation or to provide secret during launch. Signed-off-by: Brijesh Singh Reviewed-by: Erik Skultety --- docs/formatdomaincaps.html.in | 30 +++++++++++++++++++++++++++ docs/schemas/domaincaps.rng | 14 +++++++++++++ src/conf/domain_capabilities.c | 18 +++++++++++++++++ src/conf/domain_capabilities.h | 1 + src/qemu/qemu_capabilities.c | 46 ++++++++++++++++++++++++++++++++++++++= +++- 5 files changed, 108 insertions(+), 1 deletion(-) diff --git a/docs/formatdomaincaps.html.in b/docs/formatdomaincaps.html.in index e0814cb..6be553a 100644 --- a/docs/formatdomaincaps.html.in +++ b/docs/formatdomaincaps.html.in @@ -435,6 +435,10 @@ </gic> <vmcoreinfo supported=3D'yes'/> <genid supported=3D'yes'/> + <sev> + <cbitpos>47</cbitpos> + <reduced-phys-bits>1</reduced-phys-bits> + </sev> </features> </domainCapabilities> @@ -467,5 +471,31 @@ =20

Reports whether the genid feature can be used by the domain.

=20 +

SEV capabilities

+ +

AMD Secure Encrypted Virtualization (SEV) capabilities are exposed = under + the sev element. + SEV is an extension to the AMD-V architecture which supports running + virtual machines (VMs) under the control of a hypervisor. When support= ed, + guest owner can create a VM whose memory contents will be transparently + encrypted with a key unique to that VM.

+ +

+ For more details on SEV feature see: + + SEV API spec and \n"); + virBufferAdjustIndent(buf, 2); + virBufferAsprintf(buf, "%d\n", sev->cbitpos); + virBufferAsprintf(buf, "%d\n", + sev->reduced_phys_bits); + virBufferAdjustIndent(buf, -2); + virBufferAddLit(buf, "\n"); +} + =20 char * virDomainCapsFormat(virDomainCapsPtr const caps) @@ -600,6 +617,7 @@ virDomainCapsFormat(virDomainCapsPtr const caps) =20 virBufferAsprintf(&buf, "\n", caps->genid ? "yes" : "no"); + virDomainCapsFeatureSEVFormat(&buf, caps->sev); =20 virBufferAdjustIndent(&buf, -2); virBufferAddLit(&buf, "\n"); diff --git a/src/conf/domain_capabilities.h b/src/conf/domain_capabilities.h index 56c1903..755de13 100644 --- a/src/conf/domain_capabilities.h +++ b/src/conf/domain_capabilities.h @@ -169,6 +169,7 @@ struct _virDomainCaps { virDomainCapsFeatureGIC gic; bool vmcoreinfo; bool genid; + virSEVCapabilityPtr sev; /* add new domain features here */ }; =20 diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 8b3ffe1..1803ed9 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -5157,6 +5157,48 @@ virQEMUCapsFillDomainFeatureGICCaps(virQEMUCapsPtr q= emuCaps, } =20 =20 +/** + * virQEMUCapsFillDomainFeatureSEVCaps: + * @qemuCaps: QEMU capabilities + * @domCaps: domain capabilities + * + * Take the information about SEV capabilities that has been obtained + * using the 'query-sev-capabilities' QMP command and stored in @qemuCaps + * and convert it to a form suitable for @domCaps. + * + * Returns: 0 on success, -1 on failure + */ +static int +virQEMUCapsFillDomainFeatureSEVCaps(virQEMUCapsPtr qemuCaps, + virDomainCapsPtr domCaps) +{ + virSEVCapability *sev; + virSEVCapability *cap =3D qemuCaps->sevCapabilities; + int ret =3D -1; + + if (!cap) + return 0; + + if (VIR_ALLOC(sev) < 0) + return -1; + + if (VIR_STRDUP(sev->pdh, cap->pdh) < 0) + goto cleanup; + + if (VIR_STRDUP(sev->cert_chain, cap->cert_chain) < 0) + goto cleanup; + + sev->cbitpos =3D cap->cbitpos; + sev->reduced_phys_bits =3D cap->reduced_phys_bits; + VIR_STEAL_PTR(domCaps->sev, sev); + + ret =3D 0; + cleanup: + virSEVCapabilitiesFree(sev); + return ret; +} + + int virQEMUCapsFillDomainCaps(virCapsPtr caps, virDomainCapsPtr domCaps, @@ -5194,8 +5236,10 @@ virQEMUCapsFillDomainCaps(virCapsPtr caps, virQEMUCapsFillDomainDeviceGraphicsCaps(qemuCaps, graphics) < 0 || virQEMUCapsFillDomainDeviceVideoCaps(qemuCaps, video) < 0 || virQEMUCapsFillDomainDeviceHostdevCaps(qemuCaps, hostdev) < 0 || - virQEMUCapsFillDomainFeatureGICCaps(qemuCaps, domCaps) < 0) + virQEMUCapsFillDomainFeatureGICCaps(qemuCaps, domCaps) < 0 || + virQEMUCapsFillDomainFeatureSEVCaps(qemuCaps, domCaps) < 0) return -1; + return 0; } =20 --=20 2.7.4 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list