From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail03.groups.io (mail03.groups.io [45.79.227.220]) by spool.mail.gandi.net (Postfix) with ESMTPS id 913A97803E3 for ; Fri, 12 Apr 2024 14:02:37 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=TMPE051bnxTsBjITbq+SDQVNbCbi/XgGkbpo6wY3dq0=; 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=1712930556; v=1; b=4nt15DieNtVfFxkeEb2TqIp+MGztnrGf2CcCLZzKS5tCvHugklxHTzEWRTmklHccJ76A/QqT 1gU3cbl2crm4AAvKboaO4czWkhpxynF2CcYfNnXFBy8X+UJ6xv2FBP79xXlc8ngu2HAhUudf5jU xwwP0zjz2nAuCwNbj5oIbyJ3ap2UxrAGkDEISRqx4HpPdma05Xu9S8ci6nrcayrN4nFwGxle/fX s3Go8nq2MfFElIDyNBqGMsHSoUidIl0D8ioc4Fv/Qn035e/OAzP7yoYwrL/7IqrFcr7RMK9oh5R /HsYTV6z7PAj21b44oqgE57ucmJKjBdGlzM9YnQ5el1NQ== X-Received: by 127.0.0.2 with SMTP id YBDWYY7687511xvXffh9EXjk; Fri, 12 Apr 2024 07:02:36 -0700 X-Received: from NAM11-CO1-obe.outbound.protection.outlook.com (NAM11-CO1-obe.outbound.protection.outlook.com [40.107.220.77]) by mx.groups.io with SMTP id smtpd.web10.47772.1712930555297942470 for ; Fri, 12 Apr 2024 07:02:35 -0700 X-Received: from BL1PR12MB5732.namprd12.prod.outlook.com (2603:10b6:208:387::17) by PH7PR12MB8153.namprd12.prod.outlook.com (2603:10b6:510:2b0::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Fri, 12 Apr 2024 14:02:30 +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; Fri, 12 Apr 2024 14:02:28 +0000 Message-ID: Date: Fri, 12 Apr 2024 09:02:24 -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: devel@edk2.groups.io, Jiewen Yao , Liming Gao , 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 , Ray Ni References: <17C28950368F582E.9676@groups.io> From: "Lendacky, Thomas via groups.io" In-Reply-To: <17C28950368F582E.9676@groups.io> X-ClientProxiedBy: SA0PR11CA0144.namprd11.prod.outlook.com (2603:10b6:806:131::29) To BL1PR12MB5732.namprd12.prod.outlook.com (2603:10b6:208:387::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL1PR12MB5732:EE_|PH7PR12MB8153:EE_ X-MS-Office365-Filtering-Correlation-Id: 54cefd43-91ab-4930-ec2c-08dc5af9305d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Message-Info: EI0EFscXNrFzeRB/Ua7W6LicoJAee6sMVMhlLRYBKaEDICMK2pgbZWZ5ZEnVx4R7VKZnKC7vn+9SHkDYq1d2D7HLNWfKLx74ddOw4X5Uc7yBdJzd+n7CsICobf8HCxVbhxfMJNbhX0JRxSae8B8GXIjBUqNK8qlMyRc8KCZL6SHdehQoRzqyU6j8WSi8qbdmCfVF489O3L7o2MD1WnXaB4XJYJqAj6JR+7hRhNMxiMuFlNYAAV/y7UTtmJdMw+DzUuU2hCo/g/1TLG3GcUBqsxDf/ldC2nxbXPEgIC8dsfnUOYK9wu7LiXsyQL4FqRlymr1kacc7faFVWADphCb/OYpbtOe8EZFXknphuC58s/NdO5NRFgOjw3vHvQ6+kA67m8R7l4lxlxThyWxBn+qNFru7PcdRJJH2BjcE7gQhE7iSVJyn/RFBNo7Pb9I1itR5SKsI6tl1q5eJ2TrLxaeIInayKNoeyOxX8nYQWNCLpv2gmYZQAwvYIQmv7xHQCXuJclazoQK1uCuMEYebi6GJrUfS4V4PlD0ANbzGBRK1UvJsXmKla/9JiFNZfnsClzUeTm83RQXepG0rxfqJ1ZqqUiRYdThtL7lpKiPfplW3WSlnKbc3IjKW+WMA//JPjWmhp8t3BRUWEisujrirKlbGTryT3p3B9ls3SEi1Zj3jYcs= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?QHwWT0zvlKv5QS94nXe6Ayx84qIOZ9RB878rPsyaDUeOqri7Jy22YzYQg81+?= =?us-ascii?Q?0E9ZXtKkcUhtNYEMd5QSlKnzgGzKJ+JNucW62tSF8ZWq6jlBhlZXjd33jWTA?= =?us-ascii?Q?wBQWzgW2pUbYNIdWRrMn7FASDWMVOM09psYqQA3TYGS0E8uHCRSsuHBn1rMp?= =?us-ascii?Q?P+yXgipsNYm9BbMEkZs8V9HI84eOI6C1wfnFfIb5fSMhuobi38OvczTFoPp/?= =?us-ascii?Q?KdWd4JTlgXMeAm5ec8/gcbXX5mYoG7T23EySOw8MP12Ab5AWCa5Ccubvh2yK?= =?us-ascii?Q?0k1Xb3zl/mI0IYNmWwYfqvE0XqUBwmowl9OQt+M9xafEIrR/D6CDK+OrQVZN?= =?us-ascii?Q?m5euztzpi/r1+JDe+b9Sm7bFRMydRGBeNkpmbIFf5BJ6i/DASEOkEAfENQab?= =?us-ascii?Q?gu6IbbPGqveR/yT22/iOrm4Lzqs07K3VyvOl6k7VxLhN/yGYQaf9rM6vA84d?= =?us-ascii?Q?iMdvVQm3qN8+Jja/+YHp6HTLhJ2UO3PpphsiaZW1jcF++ZgXWOD0RQEXU5Uz?= =?us-ascii?Q?gYDLGWnhJOmqQy3sEs62Fb0G1DqL+8ic1Z5Eam3UXo3EX4D+bRhMw7JDC0nd?= =?us-ascii?Q?czkDDbK7cnYTLizRQ4IhE3zs+c4zC3itGhhkuYF5pylqi6mcmq/g+Kc6D5F3?= =?us-ascii?Q?o81oW+MBbLM2rIUNt36eZBg5n3yJ3+AHBfDhFR2bNFjQDocEMlVo6U3/2W/c?= =?us-ascii?Q?dgBhRFauq8afUk8bLDl33CqZgrVcfrBVzwj0tHsPSh4pqAzspFxt2UrBJJ6U?= =?us-ascii?Q?YW3KBufck8xGYBQ7XMRytf9nbnf1l8PeKAtlsFgDJv8BVtIy1Wmqxd6Jn627?= =?us-ascii?Q?vzC9c6kwxns5HW0KhQVi1yES5UKhLVkaxzerqPi6xE3I8R8tQsh3/GVlChA3?= =?us-ascii?Q?qtURh7hztaCp3cBLDj6g/aA3TgpZ8HYo/3mHq+NFHKJW8RVysiNEPMIhxcaO?= =?us-ascii?Q?1Ax/W2Y+lvpl8doqlsIT3H1K8G5LGNSe5N0J4CX2C+dJoIkBpUYHnNO5jafu?= =?us-ascii?Q?TF4red+e+cXicxf+A/BJFO9/03pxieCa8hx6gSFBlPI+xd42bXVNyxvdqffa?= =?us-ascii?Q?lgV40Eh9pUWPu1Oy15PZ0WY1XDUFAG/J/sMp8cp5wrOf6xyu58W/ywq2AJ0R?= =?us-ascii?Q?Nrxx7tLqZXWiTuWpEB0wt3nb0ub8JuIrQ8RLOlMcDIAW7AKLGTPl6pctKs/5?= =?us-ascii?Q?qqaxIOcYLoQfSZHrol8l2Qhl82Fun5sdexehK9HDHdkCYj6gTvD6NcgdEfbv?= =?us-ascii?Q?CJolEz/JkSc8in69pWbDZOP+7YK5YKuwhujzIH/Dzk/mdTFPGs0nfJFaZMpX?= =?us-ascii?Q?HxV/WGBSSEW/G84ws0Yh88gomYaduU75EHbQaL1eTvxR4VtK6ibZTc6sMA3+?= =?us-ascii?Q?g6ejZGWWoml1tA8Zrl2n3Ld6cynH8SumXKl91ufw8FPJ6Rm6n/+FhzGpwTwV?= =?us-ascii?Q?KqTQqxpAxmMcQPzWPvLOtBhpL4vYEL2Y1g5/CElwuSzCOdSuV4W3sScsVB9e?= =?us-ascii?Q?uJEM5A6I9I4OMX/CVIoQQUq15IsZlke4+7syvNYu3/v9/dUa5oSnp6v0VK1j?= =?us-ascii?Q?03eC61WKAKqm+ng5uoDxzwKAa0vDKaYDBMeK8IQY?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 54cefd43-91ab-4930-ec2c-08dc5af9305d X-MS-Exchange-CrossTenant-AuthSource: BL1PR12MB5732.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2024 14:02:28.7833 (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: C0j0Pv2twrLEBglfgyi63kIMInRxSApqbqhNp1D2DbxgqYRLcAt61RnyLca59L9Bkf521/OY0P0ga+v9bg9Z8A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB8153 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: Fri, 12 Apr 2024 07:02:35 -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: tQseLUERI5fI7xmiiM8771hIx7686176AA= 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=4nt15Die; dmarc=pass (policy=none) header.from=groups.io; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 45.79.227.220 as permitted sender) smtp.mailfrom=bounce@groups.io Re-pinging the list/maintainers, again. I need reviews from the=20 maintainers on patches #2, #7, #10, #11 and #13. Once I get final approval, I'll submit the change to edk2-platforms for=20 the new library as a reply to this series for a quick review. Thanks, Tom On 4/2/24 13:16, Lendacky, Thomas via groups.io wrote: > Re-pinging the list/maintainers. Still awaiting feedback/reviews/acks on= =20 > 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. >> >> 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. >> >> Thanks, >> Tom >> >> 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 hypervis= or. >>> >>> Currently, OVMF expects to run at the highest VMPL, VMPL0, and there ar= e >>> certain SNP related operations that require that VMPL level. Specifical= ly, >>> 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 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 ser= ies >>> =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 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 >>> >>> OvmfPkg/OvmfPkg.dec |=C2=A0=C2=A0 4 + >>> UefiCpuPkg/UefiCpuPkg.dec |=C2=A0=C2=A0 8 +- >>> OvmfPkg/AmdSev/AmdSevX64.dsc |=C2=A0=C2=A0 1 + >>> OvmfPkg/Bhyve/BhyveX64.dsc |=C2=A0=C2=A0 1 + >>> OvmfPkg/CloudHv/CloudHvX64.dsc |=C2=A0=C2=A0 1 + >>> OvmfPkg/IntelTdx/IntelTdxX64.dsc |=C2=A0=C2=A0 1 + >>> OvmfPkg/Microvm/MicrovmX64.dsc |=C2=A0=C2=A0 1 + >>> OvmfPkg/OvmfPkgIa32.dsc |=C2=A0=C2=A0 1 + >>> OvmfPkg/OvmfPkgIa32X64.dsc |=C2=A0=C2=A0 3 +- >>> OvmfPkg/OvmfPkgX64.dsc |=C2=A0=C2=A0 1 + >>> OvmfPkg/OvmfXen.dsc |=C2=A0=C2=A0 1 + >>> UefiCpuPkg/UefiCpuPkg.dsc |=C2=A0=C2=A0 4 +- >>> UefiPayloadPkg/UefiPayloadPkg.dsc |=C2=A0=C2=A0 1 + >>> OvmfPkg/AmdSev/AmdSevX64.fdf |=C2=A0=C2=A0 9 +- >>> OvmfPkg/OvmfPkgX64.fdf |=C2=A0=C2=A0 3 + >>> MdePkg/Library/BaseLib/BaseLib.inf |=C2=A0=C2=A0 2 + >>> OvmfPkg/Library/AmdSvsmLib/AmdSvsmLib.inf |=C2=A0 38 ++ >>> OvmfPkg/Library/BaseMemEncryptSevLib/DxeMemEncryptSevLib.inf |=C2=A0=C2= =A0 3 +- >>> OvmfPkg/Library/BaseMemEncryptSevLib/PeiMemEncryptSevLib.inf |=C2=A0=C2= =A0 3 +- >>> OvmfPkg/Library/BaseMemEncryptSevLib/SecMemEncryptSevLib.inf |=C2=A0=C2= =A0 3 +- >>> OvmfPkg/Library/CcExitLib/CcExitLib.inf |=C2=A0=C2=A0 3 +- >>> OvmfPkg/Library/CcExitLib/SecCcExitLib.inf |=C2=A0=C2=A0 3 +- >>> OvmfPkg/PlatformPei/PlatformPei.inf |=C2=A0=C2=A0 3 + >>> OvmfPkg/ResetVector/ResetVector.inf |=C2=A0=C2=A0 2 + >>> UefiCpuPkg/Library/AmdSvsmLibNull/AmdSvsmLibNull.inf |=C2=A0 27 ++ >>> UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf |=C2=A0=C2=A0 2 + >>> UefiCpuPkg/Library/MpInitLib/PeiMpInitLib.inf |=C2=A0=C2=A0 2 + >>> MdePkg/Include/Library/BaseLib.h |=C2=A0 39 ++ >>> MdePkg/Include/Register/Amd/Fam17Msr.h |=C2=A0 19 +- >>> MdePkg/Include/Register/Amd/Ghcb.h |=C2=A0 19 +- >>> MdePkg/Include/Register/Amd/Msr.h |=C2=A0=C2=A0 3 +- >>> MdePkg/Include/Register/Amd/Svsm.h | 101 ++++ >>> MdePkg/Include/Register/Amd/SvsmMsr.h |=C2=A0 35 ++ >>> OvmfPkg/Include/WorkArea.h |=C2=A0=C2=A0 9 +- >>> OvmfPkg/Library/BaseMemEncryptSevLib/X64/SnpPageStateChange.h |=C2=A0= =C2=A0 6 +- >>> UefiCpuPkg/Include/Guid/GhcbApicIds.h |=C2=A0 17 + >>> UefiCpuPkg/Include/Library/AmdSvsmLib.h | 101 ++++ >>> UefiCpuPkg/Library/MpInitLib/MpLib.h |=C2=A0 29 +- >>> OvmfPkg/Library/AmdSvsmLib/AmdSvsmLib.c | 500 ++++++++++++++++++++ >>> OvmfPkg/Library/BaseMemEncryptSevLib/X64/DxeSnpSystemRamValidate.c | = =20 >>> 11 +- >>> OvmfPkg/Library/BaseMemEncryptSevLib/X64/PeiDxeVirtualMemory.c |=C2=A0 = 27 +- >>> OvmfPkg/Library/BaseMemEncryptSevLib/X64/PeiSnpSystemRamValidate.c | = =20 >>> 22 +- >>> OvmfPkg/Library/BaseMemEncryptSevLib/X64/SecSnpSystemRamValidate.c | = =20 >>> 31 +- >>> OvmfPkg/Library/BaseMemEncryptSevLib/X64/SnpPageStateChangeInternal.c |= =20 >>> 206 ++++---- >>> OvmfPkg/Library/CcExitLib/CcExitVcHandler.c |=C2=A0 29 +- >>> OvmfPkg/PlatformPei/AmdSev.c | 103 +++- >>> UefiCpuPkg/Library/AmdSvsmLibNull/AmdSvsmLibNull.c | 108 +++++ >>> UefiCpuPkg/Library/MpInitLib/Ia32/AmdSev.c |=C2=A0 21 +- >>> UefiCpuPkg/Library/MpInitLib/MpLib.c |=C2=A0=C2=A0 9 +- >>> UefiCpuPkg/Library/MpInitLib/X64/AmdSev.c | 134 ++++-- >>> MdePkg/Library/BaseLib/Ia32/VmgExitSvsm.nasm |=C2=A0 39 ++ >>> MdePkg/Library/BaseLib/X64/VmgExitSvsm.nasm |=C2=A0 94 ++++ >>> OvmfPkg/ResetVector/ResetVector.nasmb |=C2=A0=C2=A0 6 +- >>> OvmfPkg/ResetVector/X64/OvmfSevMetadata.asm |=C2=A0 11 +- >>> UefiCpuPkg/Library/AmdSvsmLibNull/AmdSvsmLibNull.uni |=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 (#117667): https://edk2.groups.io/g/devel/message/117667 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-