From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mx.groups.io with SMTP id smtpd.web12.2324.1660187864414202473 for ; Wed, 10 Aug 2022 20:17:44 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=mwOA7YXE; spf=pass (domain: intel.com, ip: 192.55.52.43, mailfrom: min.m.xu@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1660187864; x=1691723864; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=OTuCK9C1ZXjY6tVOzrv+gWsja4Lgcf2+y2M3YztYpNY=; b=mwOA7YXEYdludQL+i37wJPzLAbbote3UO5FoSy1Tx5X5BPH1ziXNwrwl 8sI8qL4d8L14M8I4vfu8VLQpLbcdky4NUdAfp+Ifc8hGR6a5GylUUkLXY vhnb8p5bo1gmHpTBJBM6krZE/OMed3/PtHWNs1WGIetyKbjXgywpJEHZn LnEVEaJXYqXlaAqmvz0H7WUtQTvfVVMr6YmqsIxPb5mXIvh9Y5JAK3mcm pd30x5ObP+pG4y/lC3NQJ7HAVJsDbq6gu5MrVyqxsoHdwXS29o0LON1Ee h/yno1oEe2R2tsTSApeZhl1EGxhdXPIYNESvute5DPAaYEJYQqfsSpX6q A==; X-IronPort-AV: E=McAfee;i="6400,9594,10435"; a="377537557" X-IronPort-AV: E=Sophos;i="5.93,228,1654585200"; d="scan'208";a="377537557" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Aug 2022 20:17:43 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,228,1654585200"; d="scan'208";a="608783410" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmsmga007.fm.intel.com with ESMTP; 10 Aug 2022 20:17:43 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Wed, 10 Aug 2022 20:17:43 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Wed, 10 Aug 2022 20:17:42 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28 via Frontend Transport; Wed, 10 Aug 2022 20:17:42 -0700 Received: from NAM02-BN1-obe.outbound.protection.outlook.com (104.47.51.43) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.28; Wed, 10 Aug 2022 20:17:42 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=E3LDySO66xVKcraKFa04AKWWBYxtCP2L1CXpbxrqn7+i6+onGe5pafaGzSBd3TEBEWu0fgSeiHR/xpEF+to07nt3psG5iAxdseBhU73I66hOL8CgxMBZoJX9tOXu3esHS4FOqE+hqcCibQ65adY50Jjt51bh9eeqfR6vZziHPVMn2IG+pKl7WFwlCmOu+HS2ocQpkzogCf/kukvoq5ONUHEJSP5uPIrQs/VFECJ0B/hnfakqSadQHhfIVui4cCvLQbjfgzqNrgMIe7LOdsdHvsTCHs0kkW++rO4+AHw1WKXASDE1WLgOnUoxEMDjkyN0ZryxD5EU71u1aRWD1RkNHA== 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=KUhLHgOMqJGIaG/DzwVktEWiIuHNxuLrSpd3tOkW41o=; b=IJToRr2lI+Gt0+afTq5k9ScB1EfjP568h7lHfdJt8fh47IPYetZnGKJwwoEdLvVE1QhOIK3Jul+0jXs+5ZIj/5UFYMvFI7I7KbUPnFuHsYn9lslLSaVQctYSJCn7NOzCvLjZ2iqdy6uGtB4/v0PR4lKD9dFneXa6UWl7yQakxUfKNHr12Xrf8lCAaDVgVVqO+k4TA/ECIZqxg5iy0ge9bOfraKKK7jsax8zpSmyTDnKxF/O0i7Yt43dgQped5WbO5HHkc9hAEwD8MIkejg9Sln/5rVVEu4hGNm2mSuu5pSRK2kMNEByqykzlGxOs1Z3IEjQg1TDvo5OPSTk0iKJ09A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from PH0PR11MB5064.namprd11.prod.outlook.com (2603:10b6:510:3b::15) by CY4PR11MB1719.namprd11.prod.outlook.com (2603:10b6:903:2d::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.17; Thu, 11 Aug 2022 03:17:40 +0000 Received: from PH0PR11MB5064.namprd11.prod.outlook.com ([fe80::61e0:6297:8d54:672e]) by PH0PR11MB5064.namprd11.prod.outlook.com ([fe80::61e0:6297:8d54:672e%3]) with mapi id 15.20.5504.020; Thu, 11 Aug 2022 03:17:40 +0000 From: "Min Xu" To: "devel@edk2.groups.io" CC: "Kinney, Michael D" , "Gao, Liming" , "Aktas, Erdem" , "Gerd Hoffmann" , James Bottomley , "Yao, Jiewen" , Tom Lendacky , "Gao, Jiaqi" , "Xu, Min M" , "Dionna Amalie Glaze" , "Li, Xiaoyao" , "Yamahata, Isaku" Subject: Re: [PATCH 00/14] Introduce Lazy-accept for Tdx guest Thread-Topic: [PATCH 00/14] Introduce Lazy-accept for Tdx guest Thread-Index: AQHYeWNH2s4cGA+oZEe62yayOkamXa2pZffQ Date: Thu, 11 Aug 2022 03:17:40 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.6.500.17 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 538257da-8941-4a89-4353-08da7b480c56 x-ms-traffictypediagnostic: CY4PR11MB1719:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: SeLkqhYKV6QEsp1E8ELZ1xoUQ3q0WwBQXuKd/mTZmehT4yRGV3HnFOofaHKMNJRgNmBncNuCgXD7Lw4mQGWkC1DO0ApHphmEto4UNOXlKFkHdPvWB2sUUq7eBEuEo4CU3BlcmIEZljINyFqr/FupR2Kr9plPgk5ul5nrlS4UBcw5J2of22dO/6m5ULtrj43Lg25ruDhK3RuAJzbgQidnBmqrvs2iUoJ/9atNJYnGWmzcYvST5psifUk8oC3uK98j23Odeq9/ZFkSyFADPyLiTLJ/ML9TmQyKPkNuw6L5pTw5fdbC+/+pgpGDEIbG/d4KP7RuyZCqvgJT9kh6i0dNQRSFRhXHzMFq/Kniz5t4d+lyodJtCZw1Ld8kIGsZlPAv2PGBRgOTl79iSLiC1rj8Cv/qjrql9QR/nd3ybWH43bzx3ztwkn4aLqhuaUxKLTP82SAij32vwwnyukGEgG1yBTrEX4xHQSMI66e1DrzLiknygqx6m4B36TDRI/ilhk7wkm6pe523Ls/zMDMTYQOZ/O/qtab3BPFJT3NnKumdDnlP2xKn8ckW5KvqMTZZaHNPUkn7XRG/vsOGnyGbTG7B4z10GDdiaU+j/aKRk72iQ8ChqZcy8lk9rAjjlaoiqCi+5ppH9MzJAAiCA5W3E2UjDCfE+ogHWdhtSzxAyOHLPdKkuSpB6CmIbF+KQiGyTSpQje3gwqXtvtU6zX1V308U5VcRqys1+yI7WDnTJ9EOSJAda35FZiKAvYgL0i8og/3X1WqaH0+5erA4FwiywPQXx/JU/RCK2psD8Ivlxi6nSYY56UV1ZpZ+mdIyF6ag7iHn3xSeaUxBaxQE6NIV1a4gxKvIH4RPbnNaxsNJ6uu5tqWUPA4SuP8jefdJiF1cdwZE x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR11MB5064.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(366004)(376002)(136003)(396003)(39860400002)(82960400001)(38070700005)(966005)(6506007)(38100700002)(26005)(19627235002)(9686003)(71200400001)(53546011)(7696005)(41300700001)(478600001)(186003)(107886003)(55016003)(86362001)(76116006)(4326008)(316002)(5660300002)(66446008)(8676002)(66556008)(6916009)(64756008)(66476007)(54906003)(66946007)(2906002)(83380400001)(33656002)(122000001)(52536014)(8936002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?22V0abJl8X9W/YXBJlXGklT/XT6DSp4YW3fj/J80nlMtNxDStREjf+N0vWUp?= =?us-ascii?Q?HkwpRkGwhxR+kGQwyCp6L8gHlWAMO2++nFVVJSroj+4KJfNdvEGf2ANAf587?= =?us-ascii?Q?V5r2phD+utQh5UFfKKWoRU/qtEZ6YuRC1qXX0aeuuyWRWXuG5AW9nMpOmVcP?= =?us-ascii?Q?mWSB3htOp+eXNS4VKRkzUOVMYS7Ln6puiWkEs8higKZBvgyKe38rMKfLKeE+?= =?us-ascii?Q?yy1UGNxkYQKdBwHGXQ9ue9PRMbg4qlytCAR3vPNIzWqh7b1n8PSfBFSaAj+a?= =?us-ascii?Q?+JpBEoBolR0wSuljTELy1zX+Jo9ncjYeu3+Pz2VKfLON0F5jtoGDpPaBPWpw?= =?us-ascii?Q?NIjvSPGMbsjVLRFy+Fym5pbwOk+wRHtLSTFZ2LDujMUdAF5JF4VwXBdHrEvY?= =?us-ascii?Q?zTbCQWsJ/WLp9U3y/6ANOvSWD1fBvcaxZh1jPPvm3BlUR0wZDglrqwT6ATW8?= =?us-ascii?Q?A10ZkYTPQwEGF5zsNZyTYLUkdxlLqtaZxavAqn4cY5mg055mUIEUpvu7x2t+?= =?us-ascii?Q?E16w+zADTT/lAvZp4+rS/wixnn4T+mOIZxIJ2tHXdFrzcoDQeMccN3oSF3Rs?= =?us-ascii?Q?UKf5dDuWhT94HMTp6dYTqO3ccRf7HBqRYtFrkLHyt3pyO1Bc/WRGe+qUw0Ob?= =?us-ascii?Q?L+DLzWvdnPwqG+5CtvvEmbof2jV37tLDBlJDFpai4+i4yStYDwaEYnHNSzCJ?= =?us-ascii?Q?C0RS8BASThWUVeMmW2KgodbMWKiNsyrOfmgZWAAqpdHXfgQW4vsIcAX2XfSO?= =?us-ascii?Q?p1AGqp2pwW+bgt7pwv2Nsgcb8AMkpB2vWYmuzQnT4c8w12sBI7beGQnvzDKU?= =?us-ascii?Q?seeVgqC1/O+kCteaLzNs67GDhPRQhbgxtA07nDEF2MHWm1HrX3SAOA48hD+F?= =?us-ascii?Q?u7ALTvWdeG5SjNAy8gMLlwl/gVk+L95t1CfBUlvQj5LVNkMtKBpUxSbC3QXK?= =?us-ascii?Q?g9VrsUUdBpYJqOGpx58DXMzCiAby1vy3/hyABTpf40GZ/mhYk+fmEv52eHzl?= =?us-ascii?Q?Ij+qY1jQWp/D409CHMt4aEvvDJS0y4kmcPFzjp0wGDruxZPKk53/DaHjauT/?= =?us-ascii?Q?N2BZS+PRkuISEoY5UTQcW7lB/AlJrvCzZQRsMjRm1k7o+HIdqdrbB5Zpg2AL?= =?us-ascii?Q?nh5EJ9rQANYZ76iZh5tCJVKDrV8199x4My/nWBsF53se9oy0xsz315bMf/CH?= =?us-ascii?Q?UdZ8VYaD78rQmbkRripHlRaE4TY+kLfkA68I4GMzKQuXOYuNAFW3AdR2IuHn?= =?us-ascii?Q?7by+HyLW71ginVm8qSoykRqZplVDQr5Qeqa7YtgZlIxV00Oq8X01X43QqClx?= =?us-ascii?Q?2gB7sGwmIJR0yIMG1+btthNI2xxRgyK7NB3QGocBFj+qe7NJcUvbo1ZVNT9y?= =?us-ascii?Q?6e8dyICmSCaP9NuSTBMmiEBIioMZgxMeH4lL3NjrimspGINHSd1R7HeA6+Ab?= =?us-ascii?Q?AwLi6kImDNJ8yVSAvKz+vkT8GMK4XD5tyQa41IZEEu5rxz7DYjR8PTFHdxQJ?= =?us-ascii?Q?7qm/HU+NyyUlH2ueBiYv6w2JH1WE9IzFFbptnBz8Xi45/PgAino3exeO41rx?= =?us-ascii?Q?fiHhnQptPUfYz3z24mSCk5qs+hHxEBpz+fQtCkzr?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB5064.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 538257da-8941-4a89-4353-08da7b480c56 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Aug 2022 03:17:40.1030 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: qnvZpMTNphaptR8Zvihxu0gsnvrmgcHVegcHuiW5MGA1nmgRvFSfKNLvLcmZsXi7Pf11bh2A01IreaQqHJqdhQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR11MB1719 Return-Path: min.m.xu@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi, All Since the lazy-accept patch-set was sent for review, there are a lot of dis= cussions in multiple OpenSource-Communities (EDK2/QEMU/LinuxKernel).=20 Below are the summaries of the discussions/proposals 1. Accept memory under 4G - Tom Lendacky's suggestion for SEV-SNP is to pre-accept all memory under= 4GB to make all complexity go way.=20 https://edk2.groups.io/g/devel/message/90539=20 - Gerd comments that before the automatic negotiation is available, we us= e some config option and then accept all memory below 4G or accept all memo= ry. https://www.mail-archive.com/qemu-devel@nongnu.org/msg894393.html 2. GetMemoryMapEx / OsIndications - https://bugzilla.tianocore.org/show_bug.cgi?id=3D3987 - GetMemoryMapEx: cannot resolve the boot-loader because it doesn't know = about the kernel's capability. - OsIndications & self-report kernel header bit could be a full solution. =20 3. fw_cfg - Add new fw_cfg item (opt/ovmf/AcceptAllMemory) to indicate how to handl= e the unaccepted memory. > True - accept all the memory > False - don't accept the memory > Default - It allows the firmware to choose depending on various fac= tors. - Glaze has submit the patch https://lore.kernel.org/all/20220620223300.1= 555849-1-dionnaglaze@google.com/ =20 4.Put some information in kernel image. (Peter Gonda) - Put information into UTS_VERSION which can be read from the buld bzImag= e. https://www.spinics.net/lists/linux-mm/msg302506.html - Glaze denied it. https://www.spinics.net/lists/linux-mm/msg304973.html =20 5. A protocol kernel call from EFI stub before EBS().(Ard) - It doesn't work if boot loader is in the boot flow.=20 - https://www.spinics.net/lists/linux-mm/msg304896.html Among the above 5 proposals, Proposal 1) is different from the other 4 prop= osals. Proposal 1) uses a config option and hence there are 2 kinds of OVMF: OVMF-= with-LazyAccept and OVMF-with-FullMemory. End user should be aware of it an= d choose the correct OVMF for the linux kernel (LazyAccept enlightened or n= ot). Proposal 3) only works for QEMU because of fw_cfg. So essentially there are 2 questions about the lazy-accept. 1. If Lazy-accept capability should be automatically negotiated? 2. How to implement the Lazy-Accept in OVMF?=20 I wonder if lazy-accept feature can be split into 2 stages.=20 1. In first stage there is a config option to indicate if lazy-accept is en= abled or not. 2. In the second stage the automatic negotiation is introduced so that lazy= -accept is enabled or not by the negotiation result. Thanks Min > -----Original Message----- > From: Min Xu > Sent: Monday, June 6, 2022 11:00 AM > To: devel@edk2.groups.io > Cc: Xu, Min M ; Gao, Zhichao > ; Kinney, Michael D ; > Liu, Zhiguang ; Wang, Jian J > ; Gao, Liming ; Ni, Ray > ; Aktas, Erdem ; Gerd > Hoffmann ; James Bottomley ; > Yao, Jiewen ; Tom Lendacky > ; Gao, Jiaqi > Subject: [PATCH 00/14] Introduce Lazy-accept for Tdx guest >=20 > RFC: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3937 >=20 > UnacceptedMemory is one of the four defined types of TD memory in Intel > TDX guest. TDVF must invoke TDCALL [TDG.MEM.PAGE.ACCEPT] the > unaccepted memory before use it. See [TDVF] Section 7.1. > TDVF: https://www.intel.com/content/dam/develop/external/us/en/ > documents/tdx-virtual-firmware-design-guide-rev-1.01.pdf >=20 > It is a time-consuming task which impacts the boot performance badly. > One of the mitigation is the lazy-accept mechanism. That the whole system > memory is divided into 2 parts, one is accepted in bios phase, the other = is > tagged as EfiGcdMemoryTypeUnaccepted and OS will handle these > "unaccepted" memories. > See "UEFI Spec v2.9 Table 7-5 Memory Type Usage before > ExitBootServices()" >=20 > Patch 1-4: > Introduce lazy-accept related definitions. >=20 > Patch 5-6: > Update Dxe and shell for unaccepted memory. >=20 > Patch 7 - 11: > Update OvmfPkg for unaccepted memory. >=20 > Patch 12 - 13: > Introduce EfiMemoryAcceptProtocol and realize it in TdxDxe. >=20 > Patch 14: > Update Pool and Page functions to accept memory when OOM occurs. >=20 > Code: https://github.com/mxu9/edk2/tree/lazyaccept.v1 >=20 > Cc: Zhichao Gao > Cc: Michael D Kinney > Cc: Zhiguang Liu > Cc: Jian J Wang > Cc: Liming Gao > Cc: Ray Ni > Cc: Erdem Aktas > Cc: Gerd Hoffmann > Cc: James Bottomley > Cc: Jiewen Yao > Cc: Tom Lendacky > Signed-off-by: Jiaqi Gao > Signed-off-by: Min Xu >=20 > Jiaqi Gao (2): > MdePkg: The prototype definition of EfiMemoryAcceptProtocol > MdeModulePkg: Pool and page functions accept memory when OOM > occurs >=20 > Min M Xu (12): > MdeModulePkg: Add PrePiHob.h > MdePkg: Increase EFI_RESOURCE_MAX_MEMORY_TYPE > OvmfPkg: Use EFI_RESOURCE_MEMORY_UNACCEPTED which defined in > MdeModulePkg > MdePkg: Add UEFI Unaccepted memory definition > MdeModulePkg: Update Dxe to handle unaccepted memory type > ShellPkg: Update shell command memmap to show unaccepted memory > OvmfPkg: Add PCD and DEFINEs for Lazy Accept page. > OvmfPkg: Use PcdOvmfWorkAreaBase instead of PcdSevEsWorkAreaBase > OvmfPkg: Add MaxAcceptedMemoryAddress in TDX work area > OvmfPkg: Introduce lazy accept in PlatformInitLib and PlatformPei > OvmfPkg: Update ConstructFwHobList for lazy accept > OvmfPkg: Realize EfiMemoryAcceptProtocol in TdxDxe >=20 > MdeModulePkg/Core/Dxe/DxeMain.inf | 1 + > MdeModulePkg/Core/Dxe/Gcd/Gcd.c | 5 + > MdeModulePkg/Core/Dxe/Mem/Imem.h | 16 ++ > MdeModulePkg/Core/Dxe/Mem/Page.c | 218 ++++++++++++++++++ > MdeModulePkg/Core/Dxe/Mem/Pool.c | 14 ++ > MdeModulePkg/Include/Pi/PrePiHob.h | 20 ++ > MdePkg/Include/Pi/PiDxeCis.h | 5 + > MdePkg/Include/Pi/PiHob.h | 11 +- > MdePkg/Include/Protocol/MemoryAccept.h | 37 +++ > MdePkg/Include/Uefi/UefiMultiPhase.h | 5 + > MdePkg/MdePkg.dec | 3 + > OvmfPkg/Include/Library/PlatformInitLib.h | 6 + > OvmfPkg/Include/WorkArea.h | 1 + > OvmfPkg/IntelTdx/IntelTdxX64.dsc | 8 + > .../PrePiHobListPointer.c | 4 +- > .../PrePiHobListPointerLibTdx.inf | 2 +- > OvmfPkg/Library/PeilessStartupLib/Hob.c | 26 ++- > .../PeilessStartupLib/PeilessStartupLib.inf | 1 + > OvmfPkg/Library/PlatformInitLib/IntelTdx.c | 145 +++++++++++- > OvmfPkg/Library/PlatformInitLib/MemDetect.c | 27 +++ > .../PlatformInitLib/PlatformInitLib.inf | 1 + > OvmfPkg/OvmfPkg.dec | 4 + > OvmfPkg/OvmfPkgX64.dsc | 9 + > OvmfPkg/PlatformPei/MemDetect.c | 5 + > OvmfPkg/TdxDxe/TdxDxe.c | 103 +++++++++ > OvmfPkg/TdxDxe/TdxDxe.inf | 2 + > .../UefiShellDebug1CommandsLib/MemMap.c | 6 + > 27 files changed, 666 insertions(+), 19 deletions(-) create mode 100644 > MdeModulePkg/Include/Pi/PrePiHob.h > create mode 100644 MdePkg/Include/Protocol/MemoryAccept.h >=20 > -- > 2.29.2.windows.2