From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id E3543D80D0C for ; Tue, 2 Apr 2024 18:16:27 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=7EA8XcqmDdkWm3giAR+7qm99qFJH/9OLUFOs1pxQDKs=; c=relaxed/simple; d=groups.io; h=Message-ID:Date:User-Agent:Subject:From:To:CC:References:In-Reply-To:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Resent-Date:Resent-From:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type:Content-Transfer-Encoding; s=20240206; t=1712081786; v=1; b=3iOMRX7Q2FYhKPQ23W9goTkRgXtUIf8d4vCObiLx3e4lByXHqcfq3CRUGPMNjm8bMsvcy8fS 6vaBT/ABxba7A1NQGrrh3mnkyYjagDg/APYzydBuQkOPx2enpLFBmXhPWlzxdi7JRyb0ODguLgA u/sCuQkw4Af4HHerbIXNgJp5ybHDBA1nEg6j9AjuO1fW8iXUHQnz8PNIYnStMLG0p4ol/EROh5o kALS8CBTcIGorxPBUBgRvw+cFAhld6Bhb1IUnD+flfws6FHlM6R7YvBVxjPB37TylUB5hYWQmQg +6MAQgZm/UKsYP3/jkPKqK6H+1pE1v8H9jgirzcow8Fkg== X-Received: by 127.0.0.2 with SMTP id wVjpYY7687511x6MisZb2Cax; Tue, 02 Apr 2024 11:16:26 -0700 X-Received: from NAM04-BN8-obe.outbound.protection.outlook.com (NAM04-BN8-obe.outbound.protection.outlook.com [40.107.100.93]) by mx.groups.io with SMTP id smtpd.web10.2439.1712081785520908906 for ; Tue, 02 Apr 2024 11:16:25 -0700 X-Received: from BL1PR12MB5732.namprd12.prod.outlook.com (2603:10b6:208:387::17) by SN7PR12MB6816.namprd12.prod.outlook.com (2603:10b6:806:264::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Tue, 2 Apr 2024 18:16:21 +0000 X-Received: from BL1PR12MB5732.namprd12.prod.outlook.com ([fe80::1032:4da5:7572:508]) by BL1PR12MB5732.namprd12.prod.outlook.com ([fe80::1032:4da5:7572:508%6]) with mapi id 15.20.7409.042; Tue, 2 Apr 2024 18:16:21 +0000 Message-ID: <6a19a0ef-6e4f-7375-b2a8-9790c7056709@amd.com> Date: Tue, 2 Apr 2024 13:16:18 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Subject: Re: [edk2-devel] [PATCH v3 00/24] Provide SEV-SNP support for running under an SVSM From: "Lendacky, Thomas via groups.io" To: devel@edk2.groups.io, Jiewen Yao , Liming Gao , Ray Ni , Zhiguang Liu , Michael D Kinney , Gua Guo , Guo Dong , James Lu , Sean Rhodes , Rahul Kumar CC: Ard Biesheuvel , Erdem Aktas , Gerd Hoffmann , Min Xu , Michael Roth , Anatol Belski , Anthony Perard , =?UTF-8?Q?Corvin_K=c3=b6hne?= , Jianyong Wu , Rebecca Cran References: In-Reply-To: X-ClientProxiedBy: DM6PR06CA0092.namprd06.prod.outlook.com (2603:10b6:5:336::25) To BL1PR12MB5732.namprd12.prod.outlook.com (2603:10b6:208:387::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL1PR12MB5732:EE_|SN7PR12MB6816:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Message-Info: KUVMdqAEXtSRh3EC+L8uH7j8xqOos6Lm3y58OJNJriZaHphx27QFFmfAdJRei6o7KIZwD124+i3UEnNY9o9oy+gv73gSYpbrZ1IYChgrTy8GBPJnJ5tPzYcvGlSNdpqt/8IX6VYgbSaRGRQzgY1K6bkca6jWaY98qrZZj1/Jp4Bj8Vi39MofO/lKsOnHsdILMdjfGsY41ZsHINuvO2wqCK6VSYsgyRfCgNDqepgFuuhARS0M4qFsQXsJQVeFLZAXLHTsrqhSgEAdw2EW4WoHr57l0b4l6vqKHgrNn2FyLN0iVzNFQdYU+p8JA54uEX4VpHkhiRq/z9GpDWU5fWulmquZP7nH9eApBv4XVkxz4Rt2ZM1JHCFR2bC9RrFP89jtQMQmHcFy6HfFAY4CbGk4mXM10aw17b8wS0xey5X0VK02Hw/UEJwYBE8pwouegsiJta24X+wgYhdSkqTbh/UQWVg7G8IJir4yl1VkZlwouO3GA9/fXVK4/1JzhfTVPNa5IUaoXj09+3Ff4DWcQlIthLH/zhmX6aaaKszx3vMOaRXQsEVPt7Rh5PzipXcavyEwnAiLDQWRSYAGjradHIQvwbVFBLw3dHT/hZplxtarFuRPvIPMVEqoCXF7ryCGwD0Z4IbkFDtomZ5pzKEinWo5lemJ/jatxEE+BpgGx8ZR9Kw= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?UsuoAeLq77vgh2bNT0kQrJqF9yeVEieNzSJLiEVPVhmdVkF+4NRPjpJketoO?= =?us-ascii?Q?rhC15RjBHzNOMFDWwYyXIKhJhP5y0/1zav6IZhp8vv/8YLacjnQSJU5GZ6e9?= =?us-ascii?Q?Zxs9UgY8rmL6pRHUhyjhOvwfXD17XQHoxIWwwL2ol+UGBdke+81J0Fgj1vLq?= =?us-ascii?Q?61DVaIFGJqGek6OYvdj2FZH5HifN0itYmBFdBsYcwmJS0Q1PoQaz4yVpR3j9?= =?us-ascii?Q?Ac4stkn/FQ4AkrN5xOMrOHrZCpk86fMdktz9CH+Nin9HvuvzJMzZvWs97+Rs?= =?us-ascii?Q?fa+e025fNpKa0SP7vXTfhfNuSUo9arkfN3B/1qaB/YouZC2IesZbirG6yz9h?= =?us-ascii?Q?O/fi6J3EQUuSZI0IAtWg+t75y/UW2lx3AqUYvADMc2FQw1jB7bteFFG2oDBT?= =?us-ascii?Q?T1urluVXL0wPcfwjTtc2h1RQCr0EkY4zHsfogL8NamanEvcjnwMKvlb4UtBp?= =?us-ascii?Q?ZfGcUS2UdBr4nKDp0tY5HiPwrClSMVz+kJq4AOEcIIXXZ98FpKja4gyHASt9?= =?us-ascii?Q?JXQMYIsIOr+/0PqFWM2RrWQLEjY+FqH2pIRxVHbsggA9SPgXoUyT48E29t2w?= =?us-ascii?Q?OMgcRjSNHG+YoHlu/1nYfdg7h05IDUopK5xCW3DmOuKe9YtUoFTXlihr45mE?= =?us-ascii?Q?joplsXTwk776sErO1D6QkSsHQ73C5680NXGXV7VmWHrvAcRudGkgojh6YwDp?= =?us-ascii?Q?8S4z4xaSy86HQHUGsWRY2zwoMVGrLi5xQon5b//cJUAHy4R2ecIPgk4q30/0?= =?us-ascii?Q?J50msIPi9KxGhuhdydFFaNPldcz0U0JVSowC89fIESEs/4jG95xzK+m5XK3E?= =?us-ascii?Q?e7Ae+1lZdAwYRVhh6wP/a8++LOEaDHvVEV6yQ3bcMZ7H8IoFKNhS16efFvks?= =?us-ascii?Q?6FVVePpgRYAlz+eIg74MfRT1hI+6XTgzvR7Xr/Cs7BSyQwB9Z3oreMrkqxi5?= =?us-ascii?Q?g8gtQeOU1PYaHhBWT3YOShjih9pNCI6a5kdrWjFbLTYv/mfyCCiBAMrQkSMC?= =?us-ascii?Q?feylXF5vcCruNRhEjHKtEYIQl2p4Rruc18YH5iBtyk23PzMz7zBUbG966fjL?= =?us-ascii?Q?TbHuFHAijsqyFuJw8qTR6jdyN0JEbP2KvOufmbdmbNErICPAMHmtrk5CT+kv?= =?us-ascii?Q?B69ybRMLa8SorUZ8EU7MMxGyXynjd2JkrCz5TMbLcvDNdvSqo6N6nRIq1KWg?= =?us-ascii?Q?Oin5G39h3hpjE9S7tiholCEQEmKgC4Kn+cHrTQPFgC7JC1eUv81QjsVIBaiu?= =?us-ascii?Q?j/OTksMCVksWvWyOzdS31311EEeWlFpO3SwwKSENler7LS4wzdl8h170Vndc?= =?us-ascii?Q?23VY9yLzZM0YZdQE/2xusws0AUzC4zTvaeiQrHgNom7hFPrPgSI+WjTgEw/F?= =?us-ascii?Q?Ua7KE0L2G0eej84jAGSUJ3u9EnClGkXs0BWCiTnrPFLygVjph0MiEVnxGd5E?= =?us-ascii?Q?TSOOt1jpJaHsTrEQDuKAKk28FTL9I7xaF+gV6bVMW82L/sLF9zSwuqcQ08sb?= =?us-ascii?Q?pCjgQA4KURPT2VvlMHU6zjhrz8BYJM8YRm5o+vVkebqPRugfde5tguh+03Q1?= =?us-ascii?Q?CsVh10pq/jWLyaycNPJ2yHQ7vxqp5/1Biu98ofLY?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: e91a79fb-ebf3-4b45-271c-08dc5340ffb8 X-MS-Exchange-CrossTenant-AuthSource: BL1PR12MB5732.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Apr 2024 18:16:21.4676 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: e524CBDBdINCQDV3SpYICq/PXJLDDS/w4t1XInptQEOf9eSZnt7TclgtbTz05IyytESIevW9KBcKTBVxB2nB4g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB6816 Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Resent-Date: Tue, 02 Apr 2024 11:16:25 -0700 Resent-From: thomas.lendacky@amd.com Reply-To: devel@edk2.groups.io,thomas.lendacky@amd.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: GNTxaA0QWgnFpZf2evNEi00Ix7686176AA= Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20240206 header.b=3iOMRX7Q; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io; dmarc=pass (policy=none) header.from=groups.io Re-pinging the list/maintainers. Still awaiting feedback/reviews/acks on=20 the changes. Thanks, Tom On 3/26/24 13:34, Tom Lendacky wrote: > Any issues with this version of the series? Still looking for=20 > Reviewed-by's for the MdePkg, UefiCpuPkg and UefiPayloadPkg related=20 > patches. >=20 > Once I get those, I'll submit the edk2-platform patches to support the=20 > new library as a response to these patches for a quick review. >=20 > Thanks, > Tom >=20 > On 3/8/24 09:29, Tom Lendacky wrote: >> >> BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4654 >> >> This series adds SEV-SNP support for running OVMF under an Secure VM >> Service Module (SVSM) at a less privileged VM Privilege Level (VMPL). >> By running at a less priviledged VMPL, the SVSM can be used to provide >> services, e.g. a virtual TPM, for the guest OS within the SEV-SNP >> confidential VM (CVM) rather than trust such services from the=20 >> hypervisor. >> >> Currently, OVMF expects to run at the highest VMPL, VMPL0, and there are >> certain SNP related operations that require that VMPL level.=20 >> Specifically, >> the PVALIDATE instruction and the RMPADJUST instruction when setting the >> the VMSA attribute of a page (used when starting APs). >> >> If OVMF is to run at a less privileged VMPL, e.g. VMPL2, then it must >> use an SVSM (which is running at VMPL0) to perform the operations that >> it is no longer able to perform. >> >> When running under an SVSM, OVMF must know the APIC IDs of the vCPUs tha= t >> it will be starting. As a result, the GHCB APIC ID retrieval action must >> be performed. Since this service can also work with SEV-SNP running at >> VMPL0, the patches to make use of this feature are near the beginning of >> the series. >> >> How OVMF interacts with and uses the SVSM is documented in the SVSM >> specification [1] and the GHCB specification [2]. >> >> This support creates a new AmdSvsmLib library that is used by MpInitLib. >> The edk2-platforms repo requires updates/patches to add the new library >> requirement. To accomodate that, this series could be split between: >> >> patch number 12: >> =C2=A0=C2=A0 UefiCpuPkg/AmdSvsmLib: Create the AmdSvsmLib library to sup= port an=20 >> SVSM >> >> and patch number 13: >> =C2=A0=C2=A0 UefiPayloadPkg: Prepare UefiPayloadPkg to use the AmdSvsmLi= b library >> >> The updates to edk2-platforms can be applied at the split. >> >> This series introduces support to run OVMF under an SVSM. It consists >> of: >> =C2=A0=C2=A0 - Retrieving the list of vCPU APIC IDs and starting up all = APs without >> =C2=A0=C2=A0=C2=A0=C2=A0 performing a broadcast SIPI >> =C2=A0=C2=A0 - Reorganizing the page state change support to not directl= y use the >> =C2=A0=C2=A0=C2=A0=C2=A0 GHCB buffer since an SVSM will use the calling = area buffer, instead >> =C2=A0=C2=A0 - Detecting the presence of an SVSM >> =C2=A0=C2=A0 - When not running at VMPL0, invoking the SVSM for page val= idation and >> =C2=A0=C2=A0=C2=A0=C2=A0 VMSA page creation/deletion >> =C2=A0=C2=A0 - Detecting and allowing OVMF to run in a VMPL other than 0= when an >> =C2=A0=C2=A0=C2=A0=C2=A0 SVSM is present >> >> The series is based off of commit: >> >> =C2=A0=C2=A0 e60529df58e4 ("UefiPayloadPkg: Make Dsc accomodative of oth= er archs") >> >> [1]=20 >> https://www.amd.com/content/dam/amd/en/documents/epyc-technical-docs/spe= cifications/58019.pdf >> [2]=20 >> https://www.amd.com/content/dam/amd/en/documents/epyc-technical-docs/spe= cifications/56421.pdf >> >> Cc: Anatol Belski >> Cc: Anthony Perard >> Cc: Ard Biesheuvel >> Cc: Corvin K=C3=B6hne >> Cc: Erdem Aktas >> Cc: Gerd Hoffmann >> Cc: Gua Guo >> Cc: Guo Dong >> Cc: James Lu >> Cc: Jianyong Wu >> Cc: Jiewen Yao >> Cc: Laszlo Ersek >> Cc: Liming Gao >> Cc: Michael D Kinney >> Cc: Michael Roth >> Cc: Min Xu >> Cc: Rahul Kumar >> Cc: Ray Ni >> Cc: Rebecca Cran >> Cc: Sean Rhodes >> Cc: Zhiguang Liu >> >> --- >> >> Changes in v3: >> - Renamed CcSvsmLib to a more AMD-specific AmdSvsmLib with corresponding >> =C2=A0=C2=A0 function name changes >> - Moved the GHCB APIC ID list GUID definition from MdePkg to UefiCpuPkg >> =C2=A0=C2=A0 and change the name from gEfiApicIdsGuid to gGhcbApicIdsGui= d >> - Separated the OvmfPkg changes for the AmdSvsmLib into two patches: >> =C2=A0=C2=A0 - First patch adds usage of the AmdSvsmLib NULL library >> =C2=A0=C2=A0 - Second patch adds the OVMF AmdSvsmLib implementation >> - Updated the commit message for the OVMF AmdSvsmLib implementation to >> =C2=A0=C2=A0 indicate that the base functionality for PVALIDATE and RMPA= DJUST was >> =C2=A0=C2=A0 copied from the original locations in prep for converting t= hose sites >> =C2=A0=C2=A0 to using the library API. >> >> Changes in v2: >> - Move the APIC IDs retrieval support to the beginning of the patch=20 >> series >> =C2=A0=C2=A0=C2=A0=C2=A0 - Use a GUIDed HOB to hold the APIC ID list ins= tead of a PCD >> - Split up Page State Change reorganization into multiple patches >> - Created CcSvsmLib library instead of extending CcExitLib >> =C2=A0=C2=A0=C2=A0=C2=A0 - This will require a corresponding update to e= dk2-platform DSC=20 >> files >> =C2=A0=C2=A0=C2=A0=C2=A0 - Removed Ray Ni's Acked-by since it is not a m= inor change >> - Variable name changes and other misc changes >> >> Tom Lendacky (24): >> =C2=A0=C2=A0 OvmfPkg/BaseMemEncryptLib: Fix error check from AsmRmpAdjus= t() >> =C2=A0=C2=A0 MdePkg: GHCB APIC ID retrieval support definitions >> =C2=A0=C2=A0 UefiCpuPkg/MpInitLib: Always use AP Create if GhcbApicIds H= OB is >> =C2=A0=C2=A0=C2=A0=C2=A0 present >> =C2=A0=C2=A0 OvmfPkg/PlatformPei: Retrieve APIC IDs from the hypervisor >> =C2=A0=C2=A0 OvmfPkg/BaseMemEncryptSevLib: Fix uncrustify errors >> =C2=A0=C2=A0 OvmfPkg/BaseMemEncryptSevLib: Calculate memory size for Pag= e State >> =C2=A0=C2=A0=C2=A0=C2=A0 Change >> =C2=A0=C2=A0 MdePkg: Avoid hardcoded value for number of Page State Chan= ge entries >> =C2=A0=C2=A0 OvmfPkg/BaseMemEncryptSevLib: Re-organize page state change= support >> =C2=A0=C2=A0 OvmfPkg/BaseMemEncryptSevLib: Maximize Page State Change ef= ficiency >> =C2=A0=C2=A0 MdePkg/Register/Amd: Define the SVSM related information >> =C2=A0=C2=A0 MdePkg/BaseLib: Add a new VMGEXIT instruction invocation fo= r SVSM >> =C2=A0=C2=A0 UefiCpuPkg/AmdSvsmLib: Create the AmdSvsmLib library to sup= port an >> =C2=A0=C2=A0=C2=A0=C2=A0 SVSM >> =C2=A0=C2=A0 UefiPayloadPkg: Prepare UefiPayloadPkg to use the AmdSvsmLi= b library >> =C2=A0=C2=A0 Ovmfpkg: Prepare OvmfPkg to use the AmdSvsmLib library >> =C2=A0=C2=A0 Ovmfpkg/AmdSvsmLib: Create AmdSvsmLib to handle SVSM relate= d services >> =C2=A0=C2=A0 UefiCpuPkg/MpInitLib: Use AmdSvsmSnpVmsaRmpAdjust() to set/= clear VMSA >> =C2=A0=C2=A0 OvmfPkg/BaseMemEncryptSevLib: Use AmdSvsmSnpPvalidate() to = validate >> =C2=A0=C2=A0=C2=A0=C2=A0 pages >> =C2=A0=C2=A0 OvmfPkg: Create a calling area used to communicate with the= SVSM >> =C2=A0=C2=A0 OvmfPkg/AmdSvsmLib: Add support for the SVSM_CORE_PVALIDATE= call >> =C2=A0=C2=A0 OvmfPkg/BaseMemEncryptSevLib: Maximize Page State Change ef= ficiency >> =C2=A0=C2=A0 OvmfPkg/AmdSvsmLib: Add support for the SVSM create/delete = vCPU calls >> =C2=A0=C2=A0 UefiCpuPkg/MpInitLib: AP creation support under an SVSM >> =C2=A0=C2=A0 Ovmfpkg/CcExitLib: Provide SVSM discovery support >> =C2=A0=C2=A0 OvmfPkg/BaseMemEncryptLib: Check for presence of an SVSM wh= en not at >> =C2=A0=C2=A0=C2=A0=C2=A0 VMPL0 >> >> =20 >> OvmfPkg/OvmfPkg.dec =20 >> |=C2=A0=C2=A0 4 + >> =20 >> UefiCpuPkg/UefiCpuPkg.dec =20 >> |=C2=A0=C2=A0 8 +- >> =20 >> OvmfPkg/AmdSev/AmdSevX64.dsc =20 >> |=C2=A0=C2=A0 1 + >> =20 >> OvmfPkg/Bhyve/BhyveX64.dsc =20 >> |=C2=A0=C2=A0 1 + >> =20 >> OvmfPkg/CloudHv/CloudHvX64.dsc =20 >> |=C2=A0=C2=A0 1 + >> =20 >> OvmfPkg/IntelTdx/IntelTdxX64.dsc =20 >> |=C2=A0=C2=A0 1 + >> =20 >> OvmfPkg/Microvm/MicrovmX64.dsc =20 >> |=C2=A0=C2=A0 1 + >> =20 >> OvmfPkg/OvmfPkgIa32.dsc =20 >> |=C2=A0=C2=A0 1 + >> =20 >> OvmfPkg/OvmfPkgIa32X64.dsc =20 >> |=C2=A0=C2=A0 3 +- >> =20 >> OvmfPkg/OvmfPkgX64.dsc =20 >> |=C2=A0=C2=A0 1 + >> =20 >> OvmfPkg/OvmfXen.dsc =20 >> |=C2=A0=C2=A0 1 + >> =20 >> UefiCpuPkg/UefiCpuPkg.dsc =20 >> |=C2=A0=C2=A0 4 +- >> =20 >> UefiPayloadPkg/UefiPayloadPkg.dsc =20 >> |=C2=A0=C2=A0 1 + >> =20 >> OvmfPkg/AmdSev/AmdSevX64.fdf =20 >> |=C2=A0=C2=A0 9 +- >> =20 >> OvmfPkg/OvmfPkgX64.fdf =20 >> |=C2=A0=C2=A0 3 + >> =20 >> MdePkg/Library/BaseLib/BaseLib.inf =20 >> |=C2=A0=C2=A0 2 + >> =20 >> OvmfPkg/Library/AmdSvsmLib/AmdSvsmLib.inf =20 >> |=C2=A0 38 ++ >> =20 >> OvmfPkg/Library/BaseMemEncryptSevLib/DxeMemEncryptSevLib.inf =20 >> |=C2=A0=C2=A0 3 +- >> =20 >> OvmfPkg/Library/BaseMemEncryptSevLib/PeiMemEncryptSevLib.inf =20 >> |=C2=A0=C2=A0 3 +- >> =20 >> OvmfPkg/Library/BaseMemEncryptSevLib/SecMemEncryptSevLib.inf =20 >> |=C2=A0=C2=A0 3 +- >> =20 >> OvmfPkg/Library/CcExitLib/CcExitLib.inf =20 >> |=C2=A0=C2=A0 3 +- >> =20 >> OvmfPkg/Library/CcExitLib/SecCcExitLib.inf =20 >> |=C2=A0=C2=A0 3 +- >> =20 >> OvmfPkg/PlatformPei/PlatformPei.inf =20 >> |=C2=A0=C2=A0 3 + >> =20 >> OvmfPkg/ResetVector/ResetVector.inf =20 >> |=C2=A0=C2=A0 2 + >> =20 >> UefiCpuPkg/Library/AmdSvsmLibNull/AmdSvsmLibNull.inf =20 >> |=C2=A0 27 ++ >> =20 >> UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf =20 >> |=C2=A0=C2=A0 2 + >> =20 >> UefiCpuPkg/Library/MpInitLib/PeiMpInitLib.inf =20 >> |=C2=A0=C2=A0 2 + >> =20 >> MdePkg/Include/Library/BaseLib.h =20 >> |=C2=A0 39 ++ >> =20 >> MdePkg/Include/Register/Amd/Fam17Msr.h =20 >> |=C2=A0 19 +- >> =20 >> MdePkg/Include/Register/Amd/Ghcb.h =20 >> |=C2=A0 19 +- >> =20 >> MdePkg/Include/Register/Amd/Msr.h =20 >> |=C2=A0=C2=A0 3 +- >> =20 >> MdePkg/Include/Register/Amd/Svsm.h =20 >> | 101 ++++ >> =20 >> MdePkg/Include/Register/Amd/SvsmMsr.h =20 >> |=C2=A0 35 ++ >> =20 >> OvmfPkg/Include/WorkArea.h =20 >> |=C2=A0=C2=A0 9 +- >> =20 >> OvmfPkg/Library/BaseMemEncryptSevLib/X64/SnpPageStateChange.h =20 >> |=C2=A0=C2=A0 6 +- >> =20 >> UefiCpuPkg/Include/Guid/GhcbApicIds.h =20 >> |=C2=A0 17 + >> =20 >> UefiCpuPkg/Include/Library/AmdSvsmLib.h =20 >> | 101 ++++ >> =20 >> UefiCpuPkg/Library/MpInitLib/MpLib.h =20 >> |=C2=A0 29 +- >> =20 >> OvmfPkg/Library/AmdSvsmLib/AmdSvsmLib.c =20 >> | 500 ++++++++++++++++++++ >> =20 >> OvmfPkg/Library/BaseMemEncryptSevLib/X64/DxeSnpSystemRamValidate.c =20 >> |=C2=A0 11 +- >> =20 >> OvmfPkg/Library/BaseMemEncryptSevLib/X64/PeiDxeVirtualMemory.c =20 >> |=C2=A0 27 +- >> =20 >> OvmfPkg/Library/BaseMemEncryptSevLib/X64/PeiSnpSystemRamValidate.c =20 >> |=C2=A0 22 +- >> =20 >> OvmfPkg/Library/BaseMemEncryptSevLib/X64/SecSnpSystemRamValidate.c =20 >> |=C2=A0 31 +- >> =20 >> OvmfPkg/Library/BaseMemEncryptSevLib/X64/SnpPageStateChangeInternal.c=20 >> | 206 ++++---- >> =20 >> OvmfPkg/Library/CcExitLib/CcExitVcHandler.c =20 >> |=C2=A0 29 +- >> =20 >> OvmfPkg/PlatformPei/AmdSev.c =20 >> | 103 +++- >> =20 >> UefiCpuPkg/Library/AmdSvsmLibNull/AmdSvsmLibNull.c =20 >> | 108 +++++ >> =20 >> UefiCpuPkg/Library/MpInitLib/Ia32/AmdSev.c =20 >> |=C2=A0 21 +- >> =20 >> UefiCpuPkg/Library/MpInitLib/MpLib.c =20 >> |=C2=A0=C2=A0 9 +- >> =20 >> UefiCpuPkg/Library/MpInitLib/X64/AmdSev.c =20 >> | 134 ++++-- >> =20 >> MdePkg/Library/BaseLib/Ia32/VmgExitSvsm.nasm =20 >> |=C2=A0 39 ++ >> =20 >> MdePkg/Library/BaseLib/X64/VmgExitSvsm.nasm =20 >> |=C2=A0 94 ++++ >> =20 >> OvmfPkg/ResetVector/ResetVector.nasmb =20 >> |=C2=A0=C2=A0 6 +- >> =20 >> OvmfPkg/ResetVector/X64/OvmfSevMetadata.asm =20 >> |=C2=A0 11 +- >> =20 >> UefiCpuPkg/Library/AmdSvsmLibNull/AmdSvsmLibNull.uni =20 >> |=C2=A0 13 + >> =C2=A0 55 files changed, 1641 insertions(+), 232 deletions(-) >> =C2=A0 create mode 100644 OvmfPkg/Library/AmdSvsmLib/AmdSvsmLib.inf >> =C2=A0 create mode 100644 UefiCpuPkg/Library/AmdSvsmLibNull/AmdSvsmLibNu= ll.inf >> =C2=A0 create mode 100644 MdePkg/Include/Register/Amd/Svsm.h >> =C2=A0 create mode 100644 MdePkg/Include/Register/Amd/SvsmMsr.h >> =C2=A0 create mode 100644 UefiCpuPkg/Include/Guid/GhcbApicIds.h >> =C2=A0 create mode 100644 UefiCpuPkg/Include/Library/AmdSvsmLib.h >> =C2=A0 create mode 100644 OvmfPkg/Library/AmdSvsmLib/AmdSvsmLib.c >> =C2=A0 create mode 100644 UefiCpuPkg/Library/AmdSvsmLibNull/AmdSvsmLibNu= ll.c >> =C2=A0 create mode 100644 MdePkg/Library/BaseLib/Ia32/VmgExitSvsm.nasm >> =C2=A0 create mode 100644 MdePkg/Library/BaseLib/X64/VmgExitSvsm.nasm >> =C2=A0 create mode 100644 UefiCpuPkg/Library/AmdSvsmLibNull/AmdSvsmLibNu= ll.uni >> -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#117337): https://edk2.groups.io/g/devel/message/117337 Mute This Topic: https://groups.io/mt/104810672/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-