From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (NAM11-DM6-obe.outbound.protection.outlook.com [40.107.223.48]) by mx.groups.io with SMTP id smtpd.web09.1077.1663962181942442807 for ; Fri, 23 Sep 2022 12:43:02 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="body hash did not verify" header.i=@amd.com header.s=selector1 header.b=tawW1r+s; spf=permerror, err=parse error for token &{10 18 %{i}._ip.%{h}._ehlo.%{d}._spf.vali.email}: invalid domain name (domain: amd.com, ip: 40.107.223.48, mailfrom: thomas.lendacky@amd.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UiwVZazvEoG+UTTX2JBOQzFXdcPKnSsBHPCcjHXwtXEaVhKeOmXxwNu1U0Lk+hT3gNeqz9cbMTeiALpWb585SXi8E3CFqkEPQWWgvJK5nE/L1Xttg3PNYRGryENGIuoj2jqGy6BsDsmw1Syag7xUhRMpTRn8LVG7UZpVnce/qR18EXLj7ijgjFhK7ybPt+nPOc289EZzHICebzIVN/B/Jjz+HOL2B48AO6sBiOmwWOb1Zr8CGtKZLGPOmoFGP7cPt7t5azf9uHF54yzHFv7NfR2fvgUq7XIkO3ZuF3DTqHb14ivepF7XXMsnZw1ypVA41w+udNaeb+oreFNzLYj99A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=4om1WfjiBeNnUg1HMKJuHdhxeouf3KLFUIL1UUsF0KY=; b=mH5gNGY+QkYZsX3k2CEMoZg/N5wFLY5d7hSmU1CAQUw+WYIejMlwTZzuXQgDZEWgBLW1FJlWaa4zcZy85qfpC8ehmE94hcml+o1KbsGkF19prJ/fzI/xuEaa/X+Darbek/qWImb7ofYUTlAT3GykYw9jLTgdNRc4sOcqIAuDSsaxNRUhoXoq4MPtbdyCx5fHT3APDlwgZo04RiIYx0hjjoxpFQLDBjwm6jbD61jX6S36BVTqTzkKimPUN2UzWTK0XAQmZLJzwCw4WLIy7cq7rhrO2LaGrMGxNdWAQlVuWDmbNJNR2rFrAZ/afRJSHwKpy+n5lG9Kp3zfg/qyk+FPzg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4om1WfjiBeNnUg1HMKJuHdhxeouf3KLFUIL1UUsF0KY=; b=tawW1r+szMW3FFpxg4tIjK4Rc0iHLZbOfac5kfAuE9doHrg59EKVOsroyrX0ps5q0CBrtBMkkTY/39/5V42hUiCQ8ZcOIOAVeToDmCGLt9fQ6P1dAxbnW2LRUfqXpXkTe+SQFzzKlKR3w0YR/IkVH2xVhwdlOyFdcViPf44NFQc= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; Received: from DM4PR12MB5229.namprd12.prod.outlook.com (2603:10b6:5:398::12) by CY5PR12MB6407.namprd12.prod.outlook.com (2603:10b6:930:3c::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5654.20; Fri, 23 Sep 2022 19:42:59 +0000 Received: from DM4PR12MB5229.namprd12.prod.outlook.com ([fe80::c175:4c:c0d:1396]) by DM4PR12MB5229.namprd12.prod.outlook.com ([fe80::c175:4c:c0d:1396%4]) with mapi id 15.20.5654.020; Fri, 23 Sep 2022 19:42:59 +0000 Message-ID: Date: Fri, 23 Sep 2022 14:42:57 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Subject: Re: [PATCH 0/3] Add safe unaccepted memory behavior To: Dionna Amalie Glaze CC: devel@edk2.groups.io, Ard Biescheuvel , "Min M. Xu" , Gerd Hoffmann , James Bottomley , Jiewen Yao , Erdem Aktas References: <20220922205052.1198237-1-dionnaglaze@google.com> From: "Lendacky, Thomas" In-Reply-To: X-ClientProxiedBy: SN7P222CA0021.NAMP222.PROD.OUTLOOK.COM (2603:10b6:806:124::6) To DM4PR12MB5229.namprd12.prod.outlook.com (2603:10b6:5:398::12) Return-Path: Thomas.Lendacky@amd.com MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM4PR12MB5229:EE_|CY5PR12MB6407:EE_ X-MS-Office365-Filtering-Correlation-Id: 0a1ad42a-5866-45a5-5037-08da9d9bd1fb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: WrIKjSBO7c++/VbWLUGQ7uU9go3zbvM+dipOyUUVTxdjbhC4G/4MwEiJVcyNpU9klvTe6YpusgDqklnwsR5gbO0Hg9MxmxQ9ldpQXarFTRjztI8gKhrpyyIvwrMjjqmtevy5w5X7tQICjOBS6gKr0hEgIhHUD+NyP1YfXT3liK+nm5jiDbqdLGlEDKM7W5OfwIH6tL47HGIFWhlijzF60eTidNoqFjC6c1UQcZmDcTkc2DXN9tKZPZNTzcCaoMKjBsL+GNDAdyA4Y8uZwDgRDW7YHEo9v18jtHzBKSIHeQEBi+ZnhnsAOsFtzMr8UziWN6VfWzmWks62hbTiH9+fMu1wCVEZL6KkGQt+X8Az+aqeRuTPZkxK43qxHahY7UqiXSPLmLQMII/9/6n/7y+JimfNQFawDslI7gC9fBfJwpwuKNrNL7oYNcVcmi5/EPFJXSZXMrO+QEU3JrfrxXjxgAhYGOIZeWMR6LbU8gXyfOb9XuMeIe+wLvYxy2vjQN+fkrUXpIhnDkq5DIhKYpIHXl7Q9pQvBfsgrlzJ9O+Bk5l0ku/sL1Gw1dBUiDpG/hzRrZqww1x7xo0UtYXprpe2AdUQmkeJxS9jbyx/Eh5ikNvzyYx5xr7uNLYUvoaWR+eQfRAPeYBOG4Dx8uHZQkiVbcTXZci4acXBke2i8oHje+6i2xYw4L3+gKPM0R4uqSj4EusDYpVqpzhEufQyim2MP7GaONdimNoOMLmyFzMBWDS9kgEjP4aFNE8yG4/jR4jeoipSZK73zyT4kRQMThmNlZTwfYXJF6OXlioGs2QCL4M= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR12MB5229.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(346002)(136003)(376002)(366004)(396003)(39860400002)(451199015)(31686004)(8936002)(36756003)(5660300002)(6486002)(19627235002)(8676002)(66946007)(478600001)(66476007)(66556008)(4326008)(2906002)(41300700001)(6916009)(316002)(6506007)(54906003)(53546011)(83380400001)(31696002)(38100700002)(86362001)(26005)(6512007)(2616005)(186003)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?zcVZMheLF9En7XgAqKUWxZjT24xSAbUSsNcyvQZpW/KxJQp1NTb5gRJJsFEM?= =?us-ascii?Q?aGdxtA4O8oNugSlDCxm/VkPAofG7XSL1Hs3/1zs4R2vwMfnmR2UdcD/aa1ni?= =?us-ascii?Q?9QnYUUGK1SvVwfcwe1MEl6LKQW1jsEqUfrVeOjvgdcK8Z7yWEA90kJyl4azu?= =?us-ascii?Q?G+BQW58o0pU+npCZdQsT7bdKaFspwIufB9RgTdnh5uWk3hd2F/JYSYdszPyH?= =?us-ascii?Q?wpA8bQr+FptVlydiOmrtQ8ZNOt92EAcXa7fmqQFBdFCXd+m/2GRv3lPioSnL?= =?us-ascii?Q?i05h2sRXkZ9QTz8ztYQvrWGFzZTbp2250aeHrXVwFdGm4l2Fz7tjXsI+idth?= =?us-ascii?Q?SeKq80DSO9i2tDVJhL2h+ypoWGkEW4vO/rAgH6s/vtWmMTPIsSrzlnNeH9lx?= =?us-ascii?Q?FaWRmiE3KzHtdJLY1aM01Sttk9RvEHRh+aqR6ugi8QFDZRyuyi29Q9bhRof4?= =?us-ascii?Q?sK7+LIJWuOEU0AEVK9zgbt1RZ8bFrhDZGdqSeECILbqNixpOx5OrEY3d+KIP?= =?us-ascii?Q?UlZLqjHXZtbnwFww0+lCatCaA5QX97VUA2beFrL46p1WoRR4vlH09nfPz1Pa?= =?us-ascii?Q?x+soRkMHbo4GpT69XhIPH4s2FbD5pm1HTOLMYv8UYYqXZM9voFA46ExQVA5x?= =?us-ascii?Q?t2rDcphtjzEmOd0d1h1ctSyxv800euxQp43llxw/SvfOMhC5lbRnk7nS1hNX?= =?us-ascii?Q?J7ovZWI4syiQHhYYIrg6KjX2Mg2Tao8ANl+ttWBrWyQS/P402VYF8MKjDg0Y?= =?us-ascii?Q?ZpwJVzcvwMs9EgLVYcFQjQbLveeW7zVHgK3tYM3BtDIYmc2A+zpYm9+pyK24?= =?us-ascii?Q?K+bA2sU9Ria+LF+8chKEkTfU0axFWLeYhiHv23cFVtFtdLMUIptfrsii+o/7?= =?us-ascii?Q?ouPbjtxPHDzyswQAuVucTbsYCPlVVmOa01bx8bkkA72dGFLE5ffdY7Fmp8jl?= =?us-ascii?Q?XDHC0YMc2cHtUb30BztD4xRWFByzlEmk5wVb0I5Duoa6ZDAH+DlwwXAmQekJ?= =?us-ascii?Q?GGEAC1Qd3hYEebjRsfe/g7K/ZZTTiwGIajXxWysuwAmrm0f/wHVE76OgrtnZ?= =?us-ascii?Q?oiCDyhVZ4fB3DgefhAa8O6ObBtrMBz3Vz7UhPTOnqJQHuJd8WQIRMTsWQ8YJ?= =?us-ascii?Q?0PFT2u7eJs1CAwtK2LWUeP1Q0ETKo0rrBp6sHgTOrzvdptHyWfjBlGZ1W/8Y?= =?us-ascii?Q?9XQ6Urq3oaLiKc52cGW/8hr9v9ze5kiPvWiUs67tilYu8F52gcwgkiNnXszw?= =?us-ascii?Q?AgB9BcoeV8ltezErm2lrn56dlHjILar9QLEpLcaTscHRrvZzmPqFGU0vx2cM?= =?us-ascii?Q?DsCXPrL1zPDL57WjMj2DXQOj8D+bPGt9DeMNtRxo4G5V9vdVfvuU2+GIzrYS?= =?us-ascii?Q?f8wKa7ICsk+P2wRv8bbBa5N3C4l4SPN2ePeMr1x8zCsx9JpW95zuXsok1V6Z?= =?us-ascii?Q?9Au1aXtv/tEJ9Y/7Bu9UKbCJdvZJpsYeHrJIgneb8B9IrWNBrM16sXVoaAVR?= =?us-ascii?Q?3rqHt4iaKRXfp+UeQ67xDxI8vVeZkGdJFJ7eeH/z347PS1LY5SDwIfi6Emo8?= =?us-ascii?Q?V+oYdTmvAcE3GIFsAcClm3lgBexVG9WOwA+IdkRb?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0a1ad42a-5866-45a5-5037-08da9d9bd1fb X-MS-Exchange-CrossTenant-AuthSource: DM4PR12MB5229.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Sep 2022 19:42:59.6309 (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: A34hN0x/xw/ZCbI6+jO1+TJjqDMYqHFAGE5G6OVXpXBTYLpZZCOVvlGO5gyY4+yxAck2q1aFeVZTo3iHpjdr/g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6407 Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable On 9/23/22 14:34, Dionna Amalie Glaze wrote: > Ah yes, I did forget to include that patch. Will add to v2. I was just=20 > setting the ResourceType to unaccepted and skipping the Prevalidate call= =20 > in PlatformPei if the start address is greater or equal to SIZE_4GB. That= =20 > seemed more self-contained than messing with PlatformInitLib. Would you=20 > prefer that I add SevSnp logic to PlatformInitLib? No, if it works and is easier / more concise, then please keep it the way=20 you have it. Thanks, Tom >=20 > On Fri, Sep 23, 2022 at 10:19 AM Tom Lendacky > wrote: >=20 > On 9/22/22 15:50, Dionna Glaze wrote: > > These three patches build on the lazy-accept patch series > > > > "Introduce Lazy-accept for Tdx guest" > > > > by adding SEV-SNP support for the MemoryAccept protocol, and > > importantly making eager memory acceptance the default behavior. > > > > For unaccepted memory to be enabled, we must know that the booted = image > > supports the unaccepted memory type. We add a trivial protocol tha= t > sets > > a dynamic Pcd to true when called in order for the booted image to > > signal its support for unaccepted memory. This does not need to be= an > > OsIndications bit because it does not need to be persisted. > > > > We use the Pcd to disable a new ExitBootServices notification that > > accepts all unaccepted memory, removes the unaccepted memory entri= es in > > the memory space map, and then add the same memory ranges back as > > conventional memory. > > > > All images that support unaccepted memory must now locate and call= this > > new ENABLE_UNACCEPTED_MEMORY_PROTOCOL. >=20 > This seems to be missing the creation of unaccepted memory under SEV-= SNP. > Is that going to be part of a separate patch (to update > PlatformAddMemoryBaseSizeHob () and mark anything above 4GB as > unaccepted)? >=20 > Thanks, > Tom >=20 > > > > Cc: Ard Biescheuvel > > > Cc: "Min M. Xu" > > > Cc: Gerd Hoffmann > > > Cc: James Bottomley > > > Cc: Tom Lendacky > > > Cc: Jiewen Yao = > > > Cc: Erdem Aktas > > > > > Signed-off-by: Dionna Glaze > > > > > Dionna Glaze (3): > >=C2=A0 =C2=A0 OvmfPkg: Realize EfiMemoryAcceptProtocol in AmdSevDxe > >=C2=A0 =C2=A0 DxeMain accepts all memory at EBS if needed > >=C2=A0 =C2=A0 MdeModulePkg: add EnableUnacceptedMemoryProtocol > > > >=C2=A0 =C2=A0MdeModulePkg/Core/Dxe/DxeMain.h=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 32 +++++ > >=C2=A0 =C2=A0MdeModulePkg/Core/Dxe/DxeMain.inf=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A03 + > >=C2=A0 =C2=A0MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c=C2=A0 =C2=A0 = =C2=A0 =C2=A0|=C2=A0 19 ++- > >=C2=A0 =C2=A0MdeModulePkg/Core/Dxe/Mem/Page.c=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 | 122 > ++++++++++++++++++ > >=C2=A0 =C2=A0MdeModulePkg/MdeModulePkg.dec=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A09 ++ > >=C2=A0 =C2=A0MdeModulePkg/MdeModulePkg.uni=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A06 + > >=C2=A0 =C2=A0OvmfPkg/AmdSev/AmdSevX64.dsc=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A01 + > >=C2=A0 =C2=A0OvmfPkg/AmdSevDxe/AmdSevDxe.c=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 27 ++++ > >=C2=A0 =C2=A0OvmfPkg/AmdSevDxe/AmdSevDxe.inf=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A03 + > >=C2=A0 =C2=A0OvmfPkg/Bhyve/BhyveX64.dsc=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A02 + > >=C2=A0 =C2=A0OvmfPkg/CloudHv/CloudHvX64.dsc=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A02 + > >=C2=A0 =C2=A0OvmfPkg/Include/Library/MemEncryptSevLib.h=C2=A0 =C2= =A0 |=C2=A0 14 ++ > >=C2=A0 =C2=A0OvmfPkg/IntelTdx/IntelTdxX64.dsc=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A02 + > >=C2=A0 =C2=A0.../Ia32/MemEncryptSevLib.c=C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 17 +++ > >=C2=A0 =C2=A0.../X64/DxeSnpSystemRamValidate.c=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 35 +++++ > >=C2=A0 =C2=A0.../X64/PeiSnpSystemRamValidate.c=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 17 +++ > >=C2=A0 =C2=A0.../X64/SecSnpSystemRamValidate.c=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 18 +++ > >=C2=A0 =C2=A0OvmfPkg/OvmfPkgIa32X64.dsc=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A02 + > >=C2=A0 =C2=A0OvmfPkg/OvmfPkgX64.dsc=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A02 + > >=C2=A0 =C2=A0OvmfPkg/OvmfXen.dsc=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2= =A02 + > >=C2=A0 =C2=A020 files changed, 334 insertions(+), 1 deletion(-) > > >=20 >=20 >=20 > --=20 > -Dionna Glaze, PhD (she/her)