From nobody Sat Feb 7 08:28:14 2026 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 1528307473474470.3567923287284; Wed, 6 Jun 2018 10:51:13 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.24]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 57CEB81E11; Wed, 6 Jun 2018 17:51:11 +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 0C618308BDAE; Wed, 6 Jun 2018 17:51:11 +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 788EE1801218; Wed, 6 Jun 2018 17:51:10 +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 w56Hp4Ij016137 for ; Wed, 6 Jun 2018 13:51:04 -0400 Received: by smtp.corp.redhat.com (Postfix) id 961C72657E; Wed, 6 Jun 2018 17:51:04 +0000 (UTC) Received: from mx1.redhat.com (ext-mx09.extmail.prod.ext.phx2.redhat.com [10.5.110.38]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 8D5CE28D05 for ; Wed, 6 Jun 2018 17:51:00 +0000 (UTC) Received: from NAM03-BY2-obe.outbound.protection.outlook.com (mail-by2nam03on0063.outbound.protection.outlook.com [104.47.42.63]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 0CD28CD67C for ; Wed, 6 Jun 2018 17:50:59 +0000 (UTC) Received: from wsp141597wss.amd.com (165.204.78.1) by DM5PR12MB2456.namprd12.prod.outlook.com (2603:10b6:4:b4::37) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.820.15; Wed, 6 Jun 2018 17:50:50 +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=uK03y7yA/k6I5ObIfeEDI2dZBEr+LY7aFfsJdNH9TvM=; b=4/4T5BP5HfOUdmWLGl23ODD1RvSitBw1oqEIEC3SHi7MLEK9iA/cjulpisnwviMl8L1VZI0d1ZXP7SOefANJU9LiHa/kr7sSaGsp3bU94wYcwVGY324lDTpoFQr+UR0+SF6BdFyoeFMG4ygcSr+gsDyWpTqWuC4ngbabfcbbeN0= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=brijesh.singh@amd.com; From: Brijesh Singh To: libvir-list@redhat.com Date: Wed, 6 Jun 2018 12:50:09 -0500 Message-Id: <20180606175017.104019-4-brijesh.singh@amd.com> In-Reply-To: <20180606175017.104019-1-brijesh.singh@amd.com> References: <20180606175017.104019-1-brijesh.singh@amd.com> MIME-Version: 1.0 X-Originating-IP: [165.204.78.1] X-ClientProxiedBy: SN4PR0201CA0014.namprd02.prod.outlook.com (2603:10b6:803:2b::24) To DM5PR12MB2456.namprd12.prod.outlook.com (2603:10b6:4:b4::37) 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:DM5PR12MB2456; X-Microsoft-Exchange-Diagnostics: 1; DM5PR12MB2456; 3:dtuF7Q7Y5VDgGxzqeBSbkZUAo2axAZDTEKaMJy8m/6G8mqoIdMIvf80o8XenO6K9ykxKhdzyv9kygepg58DVJY1O+ULzOUW0ffvK5OwOZ7ohsMeaETojn89QxXdwFeg6Zs7T+WqzNWHZ79wAZSpL/xkZfwJvzqLB46JfodBALLC2ZTI+dofCqmCz9QAI7ZS1698lrBUn0aN9W26GfwGoDrHBFK2VDKV8U0Tboo8AQaiMIjAnYUDVvkQ4iwPKFNeW; 25:CkxAgP7jtz31G9lGTm31HQsoi/engfqG8tDazr6NImIdzXz0EXD9dzYwngTvIW+vurqCgkW1x/cmqSQ1IN8Yuf7FbNWsZ7KDv2Q1E+CWSM7nHrZ5EyyA4C08p7x1QJujR5ldFbilYoIk0rMDq7KBsACahKRuvBFBR5INHXTAUBmMGCRxSdU+iQFUEc0LJ5h+wZ1ca3rF1Nsceq2jeuARBH6a2dHvARbQ2REXlkzJmF+9evNNNwzeVx3hi/sgE8RaOpRKmZw+t0AdByc1pPwa9IvREcn2KSEd98Ub6/8bOowJrXXbNOaMCwf+RuZOHOEMr/s1G1YBXTSgb/FGhtkv4w==; 31:0shZaeEkYWR/yKuP+YH0BBAIzG8cpya31gZ+YUkVnqIn9+6FuouoNBgUGBE9LziGa0XUEwIXhA9DEATop4yvsdSFkoJTjuJOUaPeZEUDcr8khFNQ4s3zgOdxEpC/cfoXhK8LjhXvI25S7W4eaEMizuq8XAaEMutZATA+dCxevpwEPsVlCium3B59LumqeYTk94YLAtdisDvdhNXeGMJ/anRsKL3v0uZ2JbQSYzNoYv8= X-MS-TrafficTypeDiagnostic: DM5PR12MB2456: X-Microsoft-Exchange-Diagnostics: 1; DM5PR12MB2456; 20:FJzsN3T7lKxH0V9B/F7d/nH5yVwTgWPb/N57pESqwKTwdhx9ddCBknWTNP6BdbqN8c9QiG2m0aFE6lv/yR4knEyRZzQngRdWe7IhIh2fnPSXRS5BJ8qdc+Gv5F5k4eMOfSf1yYlZ1Y0BVjF/ltHIwDVaANKBg6JjtbjWibv7qsVWT20PY/ATB/FqvRXBjdar2Ol/N6jKM3gcCiryVN7Xv0tNgNyTNnlLsNgNPz2PdcC1Bi38Q2anqAZyTzNEjeR+xLkPgWlEZDg0LFemOdhqJLYSXzg5Wohns+ByuXYtXJk91TMVtJXu13/morfjC68j3wHsL48sop41wJqJNvC9p307w4tolekT92RoNc8yt3i0OI6LUv0X1OaLZCnorHbq31nSOVMuGKOJbZXPrVTv4ku7+u+/TR2q3PdMoH1BhpAe8b83vDE9QYMre8JBBIBOCVIHFrzI8Kwwo33Xpk+3BB7vU+n144RFlkMMjj0LC4/6nz2BEUypIrIC7IjWVan3; 4:v1z1o+8hkk0tZw18YAcZgfzhc5onMaGPVZqd2CiOOP6s8oyn1feE6B9ViajonTtT8hwvtXGzzZGWelxCFrkqo8nZyy5GFmlHQWCZ4kRnZ9Nd4og1uBCPpiD6J2O8gt+FrFIj0umwzZ0v+evt0UoE1IjtG1ftPs1DSJ3jzw4iUzRyOK9GPpSvd+KHiOHkmKaKSUYknnh6+/SUncg1bn/ZaZFKcpGbx+dRNMYfUrH1i6NBpQzAXhbDVRuijPNTh27HS/UgyeVBKnVtM+WwJUIfZuD6AI6sMlRNfZUlivFT8UodBQKjNLv4Enr4SlntYuTm X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(3002001)(3231254)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123558120)(20161123564045)(6072148)(201708071742011)(7699016); SRVR:DM5PR12MB2456; BCL:0; PCL:0; RULEID:; SRVR:DM5PR12MB2456; X-Forefront-PRVS: 06952FC175 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(366004)(346002)(376002)(39860400002)(39380400002)(396003)(199004)(189003)(2906002)(2351001)(305945005)(6116002)(3846002)(7736002)(59450400001)(1076002)(2361001)(7696005)(50226002)(8936002)(52116002)(51416003)(76176011)(5660300001)(48376002)(81156014)(8676002)(36756003)(81166006)(4326008)(386003)(53416004)(53936002)(26005)(106356001)(105586002)(186003)(97736004)(16526019)(50466002)(316002)(16586007)(54906003)(25786009)(47776003)(66066001)(68736007)(86362001)(6486002)(6916009)(6666003)(956004)(476003)(11346002)(2616005)(44832011)(486006)(446003)(478600001); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR12MB2456; H:wsp141597wss.amd.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX: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; DM5PR12MB2456; 23:bQtDJbPkK60BWhaXX14g+/J242k0flpfFr2NHEcDL?= =?us-ascii?Q?3p+XGWyN2x/GrkhpdNbnImklqtm2HlF+nex0IYamI5qpreq9WmynomlDJjI5?= =?us-ascii?Q?Of6mlltkgCGd9LhxWJl/V7kGe3P5f874Nj3i5Ngskhsn/v9i/FfdIN0+LUVr?= =?us-ascii?Q?aMdPvUrogHCvm1dDZbWNT/pBMziQXoQ2K/pCR3lOuhFFXmuwLX4jTkmE4IQ8?= =?us-ascii?Q?KN8roffdVlR6GmANi5Xi1PhB+RDMxQneVxq+780qD31D/4PgOIW7+iBWL++8?= =?us-ascii?Q?mB8aBbrKf3v8ox5ngqUbU7sx3xmXVppXbbMLTR1FxkaThnSpPLZNwjTQbDKZ?= =?us-ascii?Q?Y4IlGdSURZz5OYYBwwarEMXVrk97WsI0vdmF1wbvcOvdL5Fo9n4a5Co6WGm1?= =?us-ascii?Q?B7syRuFLA+osRibNeqaPkZQ/rZAliAjgK3bHpv630EzDRjQ9MfyBWBakblUy?= =?us-ascii?Q?RnNNcGayRBse7CCHp/5NNhnGei/BRmsim51VbgVXcBSJpcuLLp9xuWKNy5wc?= =?us-ascii?Q?aIPOqnILkWGxk1JQ1wOAaQseRSu4NCl93+OpY35JUjYdBENdR9naGwTg17YY?= =?us-ascii?Q?2g6kIP3p+k07laOSFSRqr0ks0o0ZrIJ8NxMuP/d318hzRwhiWO/GaTYi0vHV?= =?us-ascii?Q?f64STZQD79yl62sLhezpAaufumnlJpnfZbN1BYcdIj1uxrHQ23Ky8mwWRt5x?= =?us-ascii?Q?4DHn6Zl5FqNuoK8T6YWLJfCZL3PiYiT2gQ+edyCozJhtMqi7BIjmv7IgDKgO?= =?us-ascii?Q?HDSIpZgDN/n9t01e2ced+g6HhLJGdc+e1plwNxfNSr052jtN8nwbEMaUyN+U?= =?us-ascii?Q?nux7uqA5vk++duw4iIPwQX2ui33GnEjEFG3s79TFptKwjN0P8WqnIfxCjBH+?= =?us-ascii?Q?6HJg35jsDVsvNrHLUt0I5hluQrO08iAEBOkjvd7NAP0RPtlUhHJ9MMkBeNbX?= =?us-ascii?Q?MNNGXRzUFgg6LKcxMHiDRuFMrC/XFxbhNL4iWUIG44N9MSlpGjHeGBS0cFZ2?= =?us-ascii?Q?p46Agv1jaPoTTb0fJssnC8AnTQxm4yJwvjBSLMyBmtgsA/s52zsU95TByuYS?= =?us-ascii?Q?HDjRCFnxlpNoJqQxK0fzfyG7lhTJeQw+c6zo4XZbuntXhWkKM7qTqCoPqv+X?= =?us-ascii?Q?YOaWJD2B3STblC0Mm125/Tv1JPUokjus/BYxFMwemz88webzjOYAe5M74OkD?= =?us-ascii?Q?XYsNTerO5Y4yk1MpPl+HCnvwiLHkgrfxi6CtXv3aYeyRCENoCK7Katl08FLK?= =?us-ascii?Q?KklqZZDA6pTggEKHVk1gDTOeERaI9GQksN2O7JeDoTW7UtyohuwpM/3l23G5?= =?us-ascii?Q?qtZiHBHydA9B5t7lYbtnaE=3D?= X-Microsoft-Antispam-Message-Info: oDkQuMq2T/Ixk+5yn1PhmQVNlxqL5JsYmtVDYuDGlgSVofIt0wP/PXVKFoFV1T2b3F7uD/Kb7Ahm2h/aIrymGFS4Z5AG5VhQBJ1np9Jr9GqdCaJO/+r4KmqN4YJjF/OUvzRqKw7v2XLiO8jQDNt7LnlVpJBVbxFLAQ13JX44zcEcdJhCvaa/CJ7qNmP1NE5u X-Microsoft-Exchange-Diagnostics: 1; DM5PR12MB2456; 6:jlc5sP1sIqBbu2d79HKlMk4f3k9YTKJU5v38UIGyaas1T0dQLVt91Zd5phh9LBzihUfgT8WPFcg6pm8hrZkKHIbjsajjVsn3kuwH/dNr4puYLDfbcWQtx4XmcdvpLC6gXr33TdVWBRxu0w+Jb4u9CrFPY5a8BvcBx14WNjuvKs8Njs3ojnO9eABghSChZeqgGLJHwC2fVrErSTs2RDrTa6dUhFz4FP8CCINfaG75neAIlqvqhwJ8conrsLh0RdFGRmSE9mPOixXi9h2YvrSJpKiXqd5ecMS3XxUaFAy5WAZDugduS8SYHVWzrV8xLQYnKBDgelWq5O1Z24I82FA0NtonuuLZUeH6rmbFlKMCMO5fwyy9RfBTmIaNq+zEI2neqZa5f2hwqXjwxBtGDwWqx3zrGKc7Lbc81Nw2F558XDQJP/kW5t+xjA8a248IC7I+nauYT305S5l+9sGLp/88fg==; 5:ubIqyk+y5jDhwfykxlOivEZfsU1JkHb/BB616Is+ns5THYp+l6wDmIGhJbT6I3p3j0nfcxELihmLA+QMsAVcC96a3ort0cQOrD3n5Y3cwSgJNuXZwQYB7LL5UbLRJsoYM8lmoUwpxu11MO3IiZruItGTjMTJIwhd3PBNKTVYPEI=; 24:wWmXMcycxFitCv2swZLXYNjziVq6O+VHLN3SG0s4ncISph4+78p4VQV+fFpzHDL+FAMurJPOnYtYB22CAObsqv0A2YE1fEuhhA/ezGj1LNA= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM5PR12MB2456; 7:mPyc8K6XsqGKv2NXO8niO1zsKzYSmgkwW6gUbamqRjAHK3JAopzLBtftR8KQy4gWYfSBwwF5PYe7DJ6Qg1zRqxN5l0SNAKkJTvieSiwyrBm4dGDsO36cTeGjGsNqTFYMY5Z5snwsXXaT/FU7CCER+93bg1eHYE9dZmsoO819xFNtynmCfANV19t/24Al0bVOrS0DLQ/oPYfvYtmg0N3fQeSP5EKAiOnXVhJP9El3yZL+/iXgRJl93G1tyPFl1041; 20:KNwfhaMSvJLemT4LR1eXTCYcHWRkUMJTy3QieLjrc3LNWUgImHm0b7fedExjn7Ic32KcvYkvRF26rXgtPCA/n8MuWSB/dI+9n/msQV22O6iWapxXGwa+YyJQxREXpJ0TRhBBt4XPdfSJhOcAy0ALQzwCVLKRJwWWJY1xQb9feuN7nDnNuiMaLaqH6EjGD+DoDAr+ztq8w1+qJSyaq044SfjlOepFdH+y9bmlwMw/bEebt39naa/p+CnY/NoQJwWE X-MS-Office365-Filtering-Correlation-Id: 3a4e3693-190e-45ea-8c71-08d5cbd60ad1 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jun 2018 17:50:50.3831 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3a4e3693-190e-45ea-8c71-08d5cbd60ad1 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB2456 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.38]); Wed, 06 Jun 2018 17:50:59 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Wed, 06 Jun 2018 17:50:59 +0000 (UTC) for IP:'104.47.42.63' DOMAIN:'mail-by2nam03on0063.outbound.protection.outlook.com' HELO:'NAM03-BY2-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.42.63 mail-by2nam03on0063.outbound.protection.outlook.com 104.47.42.63 mail-by2nam03on0063.outbound.protection.outlook.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.38 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 v8 03/11] libvirt: add new public API to get SEV Info 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.24 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Wed, 06 Jun 2018 17:51:12 +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" The API can be used by application to retrieve the Platform Diffie-Hellman Key and Platform Certificate chain. Signed-off-by: Brijesh Singh <> Reviewed-by: Erik Skultety --- include/libvirt/libvirt-host.h | 42 +++++++++++++++++++++++++++++++++++++ src/driver-hypervisor.h | 6 ++++++ src/libvirt-host.c | 47 ++++++++++++++++++++++++++++++++++++++= ++++ src/libvirt_public.syms | 1 + 4 files changed, 96 insertions(+) diff --git a/include/libvirt/libvirt-host.h b/include/libvirt/libvirt-host.h index 84f4858..e46f88b 100644 --- a/include/libvirt/libvirt-host.h +++ b/include/libvirt/libvirt-host.h @@ -432,6 +432,48 @@ typedef virNodeCPUStats *virNodeCPUStatsPtr; =20 typedef virNodeMemoryStats *virNodeMemoryStatsPtr; =20 + +/** + * + * SEV Parameters + */ + +/** + * VIR_NODE_SEV_PDH: + * + * Marco represents the Platform Diffie-Hellman key, as VIR_TYPED_PARAMS_S= TRING. + */ +# define VIR_NODE_SEV_PDH "pdh" + +/** + * VIR_NODE_SEV_CERT_CHAIN: + * + * Marco represents the Platform certificate chain that includes the + * endorsement key (PEK), owner certificate authority (OCD) and chip + * endorsement key (CEK), as VIR_TYPED_PARAMS_STRING. + */ +# define VIR_NODE_SEV_CERT_CHAIN "cert-chain" + +/** + * VIR_NODE_SEV_CBITPOS: + * + * Marco represents the CBit Position used by hypervisor when SEV is enabl= ed. + */ +# define VIR_NODE_SEV_CBITPOS "cbitpos" + +/** + * VIR_NODE_SEV_REDUCED_PHYS_BITS: + * + * Marco represents the number of bits we lose in physical address space + * when SEV is enabled in the guest. + */ +# define VIR_NODE_SEV_REDUCED_PHYS_BITS "reduced-phys-bits" + +int virNodeGetSEVInfo (virConnectPtr conn, + virTypedParameterPtr *params, + int *nparams, + unsigned int flags); + /** * virConnectFlags * diff --git a/src/driver-hypervisor.h b/src/driver-hypervisor.h index aa99cbb..c50d2a0 100644 --- a/src/driver-hypervisor.h +++ b/src/driver-hypervisor.h @@ -1309,6 +1309,11 @@ typedef int unsigned int action, unsigned int flags); =20 +typedef int +(*virDrvNodeGetSEVInfo)(virConnectPtr conn, + virTypedParameterPtr *params, + int *nparams, + unsigned int flags); =20 typedef struct _virHypervisorDriver virHypervisorDriver; typedef virHypervisorDriver *virHypervisorDriverPtr; @@ -1558,6 +1563,7 @@ struct _virHypervisorDriver { virDrvDomainSetLifecycleAction domainSetLifecycleAction; virDrvConnectCompareHypervisorCPU connectCompareHypervisorCPU; virDrvConnectBaselineHypervisorCPU connectBaselineHypervisorCPU; + virDrvNodeGetSEVInfo nodeGetSEVInfo; }; =20 =20 diff --git a/src/libvirt-host.c b/src/libvirt-host.c index 3aaf558..2a633f0 100644 --- a/src/libvirt-host.c +++ b/src/libvirt-host.c @@ -1639,3 +1639,50 @@ virNodeAllocPages(virConnectPtr conn, virDispatchError(conn); return -1; } + +/* + * virNodeGetSEVInfo: + * @conn: pointer to the hypervisor connection + * @params: where to store SEV information; output + * @nparams: pointer to number of SEV parameters; output + * @flags: extra flags; not used yet, so callers should always pass 0 + * + * If hypervisor supports SEV then @params will contains PDH and + * certificate chain. + * + * Returns 0 in case of success, and -1 in case of failure. + */ +int +virNodeGetSEVInfo(virConnectPtr conn, + virTypedParameterPtr *params, + int *nparams, + unsigned int flags) +{ + VIR_DEBUG("conn=3D%p, params=3D%p, nparams=3D%p, flags=3D0x%x", + conn, params, nparams, flags); + + virResetLastError(); + + virCheckConnectReturn(conn, -1); + virCheckNonNullArgGoto(nparams, error); + virCheckNonNegativeArgGoto(*nparams, error); + virCheckReadOnlyGoto(conn->flags, error); + + if (VIR_DRV_SUPPORTS_FEATURE(conn->driver, conn, + VIR_DRV_FEATURE_TYPED_PARAM_STRING)) + flags |=3D VIR_TYPED_PARAM_STRING_OKAY; + + if (conn->driver->nodeGetSEVInfo) { + int ret; + ret =3D conn->driver->nodeGetSEVInfo(conn, params, nparams, flags); + if (ret < 0) + goto error; + return ret; + } + + virReportUnsupportedError(); + + error: + virDispatchError(conn); + return -1; +} diff --git a/src/libvirt_public.syms b/src/libvirt_public.syms index 4f54b84..524d5fd 100644 --- a/src/libvirt_public.syms +++ b/src/libvirt_public.syms @@ -796,6 +796,7 @@ LIBVIRT_4.5.0 { global: virGetLastErrorCode; virGetLastErrorDomain; + virNodeGetSEVInfo; } LIBVIRT_4.4.0; =20 # .... define new API here using predicted next version number .... --=20 2.7.4 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list