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 C596BAC11A3 for ; Wed, 3 Apr 2024 15:03:14 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=M0A5MJct5QMAZV12m+01XbSRUGxR3bYOA53q+eTvpkw=; c=relaxed/simple; d=groups.io; h=Message-ID:Date:User-Agent:Subject:To:CC:References:From: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=1712156593; v=1; b=RenTzhhjImTBo+AlfVCFVni5LJLHnxO2zFgOiUn8Qg0R+9xPgPa9Vx+/YQT0DthXxbwcyIev vxHSAsU+5UfSybt7rdpr+7yOmzyv8VyRZyRaozi2mjCh/zHvriXTuSMx4Ig4HDAaLjpHkC1qt31 MULbBDyRAcA9SsGvr2vZ/MWF9oZsb0iLS/G7ED+uYIbrU8z5pDkMugoNhpvur0M0WB3vzgutSRW LV2o3DrThT5SnzlYMy22Vqt25+Cne0I8rh66494etmPFCpJ+UoX/4glIj60xrMSQ89yl5LVpeiO DegJHEQO3Bo47YRRFohSzfON423yxJjNo4GtdlRKrJ6MA== X-Received: by 127.0.0.2 with SMTP id g0HBYY7687511xjL8rf6Z1pg; Wed, 03 Apr 2024 08:03:13 -0700 X-Received: from NAM12-BN8-obe.outbound.protection.outlook.com (NAM12-BN8-obe.outbound.protection.outlook.com [40.107.237.90]) by mx.groups.io with SMTP id smtpd.web11.13515.1712156592660252862 for ; Wed, 03 Apr 2024 08:03:12 -0700 X-Received: from BL1PR12MB5732.namprd12.prod.outlook.com (2603:10b6:208:387::17) by MN0PR12MB5835.namprd12.prod.outlook.com (2603:10b6:208:37a::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Wed, 3 Apr 2024 15:03:05 +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; Wed, 3 Apr 2024 15:03:05 +0000 Message-ID: <87653cff-5654-ea00-06bb-494fb9b26cbc@amd.com> Date: Wed, 3 Apr 2024 10:03:01 -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 To: "Ni, Ray" , "devel@edk2.groups.io" , "Yao, Jiewen" , Liming Gao , "Liu, Zhiguang" , "Kinney, Michael D" , "Guo, Gua" , "Dong, Guo" , "Lu, James" , "Rhodes, Sean" , "Kumar, Rahul R" CC: Ard Biesheuvel , "Aktas, Erdem" , Gerd Hoffmann , "Xu, Min M" , Michael Roth , Anatol Belski , Anthony Perard , =?UTF-8?Q?Corvin_K=c3=b6hne?= , Jianyong Wu , Rebecca Cran References: <6a19a0ef-6e4f-7375-b2a8-9790c7056709@amd.com> From: "Lendacky, Thomas via groups.io" In-Reply-To: X-ClientProxiedBy: DM6PR06CA0024.namprd06.prod.outlook.com (2603:10b6:5:120::37) To BL1PR12MB5732.namprd12.prod.outlook.com (2603:10b6:208:387::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL1PR12MB5732:EE_|MN0PR12MB5835:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Message-Info: LT5mpwJqUc0pASEfPy0R8gNNKPUkGmbp1pclBFFqpwAziFHcobHcZNX0lmAofvI3eQOU1W7ly5WRATmc6g4aYA2p/VvmdCUqQrMOJRJ9mt42yyw5D6VBukZYAGRGTSU+itILsxWuzNs2M8J2E24u+m6QdD0b9QTGPf6ai4pHuAgV1jjzK7EWiRcJ3WlvYJAq2OZKoQArI4AgbC2LbItLBNScIt1PyXzxYywQ5xW1PYqNGzAPje+OZzNdW78Y6bYELdpev7mxsVtJSLJyBUI5Y80eAkhJbxf3ctzjh1XUErg2nmzEwUpi6uiAxNr2q7zpP/AYDfBUF8M7D0Qd/xYEyQC0DZs1c1yUMzfFKj6zmbp2y8zGiZnGFZwffw+H4TKjlUfVSJwl3LA1av/uaPn0PK+Gdn6u0Zf2HqJYMEsWiVk7vOJn89IT3LJhyrNv6duQX7jh2gvYAlXC9fIXpH80yNOl2xAmIarjF+DyW+X02wgP6i4z1jeres7bb5bWJ6WDejsbamlFCPqssk+4qA0q0ytNG6s7Q2d80MRJBrIgEWyQ2wCgVc2HqgndyvZ1/sbCs0kCWKRAid8i3gd/zmRJec8M2BHvhENuIYNIKH9IFm1dWlBqyZKzjYaBjDzkY3SohmQbtouFzcjId+HzMv/L1nFlAKNar078+jNm0qhVGiE= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?0lZtrKxX235XWP+t+NRPUv3eRMV8oV2bckqE0Ng0Yb6Cj0U9iMTGhD1ol775?= =?us-ascii?Q?A5ogFMPQ4bio7ohbJ+MVI5a/dtIM+kZ5MXjTsnJtuDM4spMJOjXb/PVX5nrm?= =?us-ascii?Q?InHpqcfEn5NGzBCPA7V9i0b4F9JMzRi2TOFnpEJ1hY+YDCCu2n+Rb1Zie+Vu?= =?us-ascii?Q?Ipz64y3sJz3fmVjIwCNKN3FTYXDFl/rtX3E+8GpD2DhHoPllr7uk+Bpi3x22?= =?us-ascii?Q?HXxZLxn2CHuN71+KE/zYlzeQLJfc/Za4nnE5lEshk33NRd7RWCN+W3Xpyq1l?= =?us-ascii?Q?Ptc2lsiApU0NcHHfixDp8PG+zn/k1qAwclZ2xHkIarfTlh6tNG2tSkYTAahc?= =?us-ascii?Q?7sjH5J+yow+Yic+/ni+KP2EJPqln/9C0S1lPSFPw6QkIPoQXujucjJT+FXDO?= =?us-ascii?Q?coGFVDc5UTBq5pVLIcWACxy/iXJlhPw9bhFJQaLzDF3Ss8w6Z0AmEvXzGIMO?= =?us-ascii?Q?jIQFzRJaeLXKdt0JhDTYaVMZbnsXos7xc/Zoz9PowhWQrBfVkiaWyTrhHUgu?= =?us-ascii?Q?VlEYAQjHNZnIb1D7MYSTi9vQ3PgteX464qLUManQJJYXJO7CAmoZ5a/VFmc3?= =?us-ascii?Q?1uaWvxtx2ALmU3wEjcymtQ5yMwzltlgezGptsurmik+cUC3L4iaA6kBHrv27?= =?us-ascii?Q?dOlt3UFfwbzTOARHOFpkHt2LtLeCyA9MjSBHFWv2eNvzAu+Y5QSUI4Y5m7F9?= =?us-ascii?Q?qGsMwHfwQan886t5Nw/UqDSp6Hupql1M2Twb9Lx+vMuZbUal3ypImkoYfnK3?= =?us-ascii?Q?FnQVUku2S9oXWuh4joNPjHzhbexJpa914X7A99Ff52oFFQc5B5bkevvd0vYu?= =?us-ascii?Q?zmteBsjz94CE0Th99w5YO0LMhu8k0GnSPjsGZrtBd5ijBzSZD5N312JZVtoL?= =?us-ascii?Q?E9RDOBJhGwwCHe+j0pxyxVHDOes+FD312OFIE9YJ0wp87nU1sUoifDyqx5Ol?= =?us-ascii?Q?5VE/L9EJDgTu/OyOXScsVc2foSEKJGZrdMtO8u/FOstV/QQOgoxOAe3aD9b3?= =?us-ascii?Q?44wGlv1YbVO9y4YvVXXC0NxVgeA0ZCWnuqEdJN8aX3ZSoFbL1PNwRBU+8DTq?= =?us-ascii?Q?3OV5kT5et06V+/uXCCsyqteZu27lMZBEYdGMl//hY8ku53MIr2ogzDCMvx5r?= =?us-ascii?Q?E0QQrzgUt8vOLUYvCHiIrX8IhTm827ItaZaJxgTix8WpH0/f9R90PbOr0aC0?= =?us-ascii?Q?iQl52BeNg1yT5dXbGWtzGFSzPmykpXLm0PdF/fSKbF43M55dy/R2mOVmEJIW?= =?us-ascii?Q?WEqO4Ii5/WLLorFW1V6cKOXEyiXhLZ69YFiscy35Lwr0StUI8OvyXlHm62x0?= =?us-ascii?Q?Llb+H81Bg6YLIHPpUgMK7JEMmNSi8hLRF5vXxVLQqz9aUtd5PNnDPAIb9Iob?= =?us-ascii?Q?vIa6/nL2/H1lEvyLP0a2g/RkcLiOHJYX9Uo19jwXPIMH0ujlrjUgcPZEXZsi?= =?us-ascii?Q?vzhJXFH4mtUu/KfAJpgaIyl8DhgclF3ACRH0BDSRCyFxxQM/3vzydDi1Drax?= =?us-ascii?Q?VM59RILILu2hBSgr1jt/r3ubDYuvV5Qje5TVfbM1iJXDTPud+vVAOLoh0+yv?= =?us-ascii?Q?yiWW45RM3es7GclzmmT2M+dHUmNYrSMvMNB3W2Nb?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 80f607e1-2975-4672-266f-08dc53ef2a03 X-MS-Exchange-CrossTenant-AuthSource: BL1PR12MB5732.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Apr 2024 15:03:05.6472 (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: q1vh5OimrgQ3rWFSbnsZzvmKuQOhYpobly8fZZdFpbHBC/4Zbj5dmqEuobcrr+ETp8Ja4+gM0cKvTC9SHPQl1Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB5835 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: Wed, 03 Apr 2024 08:03:13 -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: dIKET7HOG7nDe9UufKjoWCumx7686176AA= 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=RenTzhhj; dmarc=pass (policy=none) header.from=groups.io; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io On 4/3/24 02:09, Ni, Ray wrote: > I think I've acked all patches in UefiCpuPkg. > Please let me know if any other patches need my review. Thanks, Ray! Tom >=20 > Thanks, > Ray > ------------------------------------------------------------------------ > *From:* devel@edk2.groups.io on behalf of=20 > Lendacky, Thomas via groups.io > *Sent:* Wednesday, April 3, 2024 2:16 > *To:* devel@edk2.groups.io ; Yao, Jiewen=20 > ; Liming Gao ; Ni, Ray=20 > ; Liu, Zhiguang ; Kinney,=20 > Michael D ; Guo, Gua ;=20 > Dong, Guo ; Lu, James ; Rhodes,= =20 > Sean ; Kumar, Rahul R > *Cc:* Ard Biesheuvel ; Aktas, Erdem=20 > ; Gerd Hoffmann ; Xu, Min M=20 > ; Michael Roth ; Anatol Belski= =20 > ; Anthony Perard=20 > ; Corvin K=C3=B6hne ;=20 > Jianyong Wu ; Rebecca Cran > *Subject:* Re: [edk2-devel] [PATCH v3 00/24] Provide SEV-SNP support for= =20 > running under an SVSM > Re-pinging the list/maintainers. Still awaiting feedback/reviews/acks on > the changes. >=20 > Thanks, > Tom >=20 > 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=20 > >>> >>> 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 ar= e >>> certain SNP related operations that require that VMPL level.=20 >>> Specifically, >>> the PVALIDATE instruction and the RMPADJUST instruction when setting th= e >>> 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 th= at >>> it will be starting. As a result, the GHCB APIC ID retrieval action mus= t >>> 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 o= f >>> 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 su= pport an=20 >>> SVSM >>> >>> and patch number 13: >>> =C2=A0=C2=A0 UefiPayloadPkg: Prepare UefiPayloadPkg to use the AmdSvsmL= ib 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 direct= ly 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 va= lidation 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 ot= her archs") >>> >>> [1]=20 >>> https://www.amd.com/content/dam/amd/en/documents/epyc-technical-docs/sp= ecifications/58019.pdf >>> [2]=20 >>> https://www.amd.com/content/dam/amd/en/documents/epyc-technical-docs/sp= ecifications/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 correspondin= g >>> =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 gGhcbApicIdsGu= id >>> - 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 RMP= ADJUST was >>> =C2=A0=C2=A0 copied from the original locations in prep for converting = those 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 in= stead 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 = edk2-platform DSC=20 >>> files >>> =C2=A0=C2=A0=C2=A0=C2=A0 - Removed Ray Ni's Acked-by since it is not a = minor change >>> - Variable name changes and other misc changes >>> >>> Tom Lendacky (24): >>> =C2=A0=C2=A0 OvmfPkg/BaseMemEncryptLib: Fix error check from AsmRmpAdju= st() >>> =C2=A0=C2=A0 MdePkg: GHCB APIC ID retrieval support definitions >>> =C2=A0=C2=A0 UefiCpuPkg/MpInitLib: Always use AP Create if GhcbApicIds = HOB 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 Pa= ge State >>> =C2=A0=C2=A0=C2=A0=C2=A0 Change >>> =C2=A0=C2=A0 MdePkg: Avoid hardcoded value for number of Page State Cha= nge entries >>> =C2=A0=C2=A0 OvmfPkg/BaseMemEncryptSevLib: Re-organize page state chang= e support >>> =C2=A0=C2=A0 OvmfPkg/BaseMemEncryptSevLib: Maximize Page State Change e= fficiency >>> =C2=A0=C2=A0 MdePkg/Register/Amd: Define the SVSM related information >>> =C2=A0=C2=A0 MdePkg/BaseLib: Add a new VMGEXIT instruction invocation f= or SVSM >>> =C2=A0=C2=A0 UefiCpuPkg/AmdSvsmLib: Create the AmdSvsmLib library to su= pport an >>> =C2=A0=C2=A0=C2=A0=C2=A0 SVSM >>> =C2=A0=C2=A0 UefiPayloadPkg: Prepare UefiPayloadPkg to use the AmdSvsmL= ib library >>> =C2=A0=C2=A0 Ovmfpkg: Prepare OvmfPkg to use the AmdSvsmLib library >>> =C2=A0=C2=A0 Ovmfpkg/AmdSvsmLib: Create AmdSvsmLib to handle SVSM relat= ed 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 th= e SVSM >>> =C2=A0=C2=A0 OvmfPkg/AmdSvsmLib: Add support for the SVSM_CORE_PVALIDAT= E call >>> =C2=A0=C2=A0 OvmfPkg/BaseMemEncryptSevLib: Maximize Page State Change e= fficiency >>> =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 w= hen 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/AmdSvsmLibN= ull.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/AmdSvsmLibN= ull.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/AmdSvsmLibN= ull.uni >>> >=20 >=20 >=20 >=20 >=20 -=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 (#117372): https://edk2.groups.io/g/devel/message/117372 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-