From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mx.groups.io with SMTP id smtpd.web10.1790.1675391161251244529 for ; Thu, 02 Feb 2023 18:26:01 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=cZzOiDoh; spf=pass (domain: intel.com, ip: 134.134.136.126, mailfrom: jiewen.yao@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1675391161; x=1706927161; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=ueFDEuMvLyKdh/81X6QsvxYML7rKRqqMGwuU8iV8Xyw=; b=cZzOiDohXC3TyUsDGfhF00OcOx+1AApBPIRc6QN+a3/dF7RwMl88qLXC MrIdT62ZMF9NFYeOZ4JgDLR4WpItIHyuGOxAEQ4txQKjrDJjB/MQIsUaM QjCR88pPlT+3KYyMM6XVCcDYHa+fwSaVdjfBmTSq8o/I1MhxGmqPRknR4 MH64Imc4AMvo0r5ntJC5qBunAmRtSlh4odn+xJvXF4PY6qYsMDkYliZWY 5LWrb49qNAy7HpFW/nn9diEiobALFZ4VxJ6XRZpi6Sh1RoN2fpSkrLfvc wrhpFJV3ARZlMrnNdnCXa4gWcI8rVJPIzAfhc4BjjgaOTRbBQVhQqvOWi g==; X-IronPort-AV: E=McAfee;i="6500,9779,10609"; a="312289195" X-IronPort-AV: E=Sophos;i="5.97,269,1669104000"; d="scan'208";a="312289195" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Feb 2023 18:25:59 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10609"; a="839432400" X-IronPort-AV: E=Sophos;i="5.97,269,1669104000"; d="scan'208";a="839432400" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orsmga005.jf.intel.com with ESMTP; 02 Feb 2023 18:25:59 -0800 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Thu, 2 Feb 2023 18:25:58 -0800 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16 via Frontend Transport; Thu, 2 Feb 2023 18:25:58 -0800 Received: from NAM04-DM6-obe.outbound.protection.outlook.com (104.47.73.49) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.16; Thu, 2 Feb 2023 18:25:58 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OENaN+ck0p1p+aMB69Djal/l4geKd3Ru+w2vPslUo+2sYW2lv6PCZ8dueIbDAIJwfwfUjAPShttbvKiCacGi8z/qittX1p984iWWL90+o6619HGdOlyIzJ9jBSvS2C9dOTj0bhrHtrenDmU6LmRU7gdMEuvJ1Ol1mAAOzHDYM8hsOe0006Nq9Y2lL4nAKDFROMTsaOJinkfB1Z/Fdb4eb+r9hwru2KDlApF/XeWBm3NRuQXqjGqOeph+Vz0Drl8B/ftICQ/CX3xHGFH1Svv7BUXof/Ff9YV8VgcvRv4s4esbpF8fdV+2Nq8Xh2hgY51ZnFdBMoMvAM9nhh1KHDWSUw== 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=M736uKkckPTOmB289kqFqhzsrn+/REW6Fc/pCpL8faw=; b=KurbTeO0VyFCxlHSFHMw571BTaYtgY3MgyIF6AWHVa9qNL5GLtiUf4ID7l/HViGc0r50Yu2Rbhc0Lv0QUlRIfEtUn3X2TIcOmAAw7LQqFeQ8cSA26tcs1txbUorduxskndsYJq5dIHefTUBUERHb1Fh8yrRSBGLeu3TVTuPjd21GDcddkm8bm2FVKVEu8Fd6dcie9qd6gQDYnamp6LbkCvXydA2RNWxQ6zuCuCKtb7ho7JTG1RbwlqzAWsGcBBwEKlYxSUYt3uBveMRaiMJHgUO2gutHmoKm/qE9ChJbVJRA++u7tHMC8uMC4LUcUtxC8ODSp7cCplo6ChLZNEC+Bw== 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 MW4PR11MB5872.namprd11.prod.outlook.com (2603:10b6:303:169::14) by PH7PR11MB5959.namprd11.prod.outlook.com (2603:10b6:510:1e2::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.27; Fri, 3 Feb 2023 02:25:55 +0000 Received: from MW4PR11MB5872.namprd11.prod.outlook.com ([fe80::96f4:ad8:3fb9:b60d]) by MW4PR11MB5872.namprd11.prod.outlook.com ([fe80::96f4:ad8:3fb9:b60d%3]) with mapi id 15.20.6064.023; Fri, 3 Feb 2023 02:25:55 +0000 From: "Yao, Jiewen" To: "Xu, Min M" , "devel@edk2.groups.io" CC: "Aktas, Erdem" , James Bottomley , Gerd Hoffmann , Tom Lendacky , Michael Roth Subject: Re: [PATCH V5 00/13] Enable Tdx measurement in OvmfPkgX64 Thread-Topic: [PATCH V5 00/13] Enable Tdx measurement in OvmfPkgX64 Thread-Index: AQHZMyCrdve+EAPoJEq/KAe79gLVDK68hx4g Date: Fri, 3 Feb 2023 02:25:55 +0000 Message-ID: References: <20230128135842.980-1-min.m.xu@intel.com> In-Reply-To: <20230128135842.980-1-min.m.xu@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MW4PR11MB5872:EE_|PH7PR11MB5959:EE_ x-ms-office365-filtering-correlation-id: b73d6223-f984-4f50-0985-08db058dfa7a 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: qdV4EBsaoRHr7f1LF0CVU+M9tSiL02uCNmrXcgqgOchi8LE6K8xz9YUJ7/h3sVuNdz+AX3rzZuw/HRBNp/z/P/QGGhZiEkEBMH4PkaCovCx1AlSZyjS17C8kR1JmAm3RhzpPlPndcH2FGvZsNyvDP4SOg3jRVpmUg8vxl4JjvtXY8VhUDg2mf9kZs5XHDJaiSKrC3YDtE/v48jS0i1BsxkNEgaV7LQ8P7GkWHQsWzraXFQVnKqkC26X2i6bs8ng5h4QHBtiUt3znzcFkDdaBBZr+l4ghwdBfz4LIsnycgw0qlYX6TjLGKb9fAZCWi7hvpUskwJTdREItPyZuRjJe/Pj5bjQiAgGgFjq6jfZMLhjkc/rY6UzVZcPGsuVymoEZ8sUM4/te9dt2/jzLjMhG4bhilhYuIZrGSQ8bAuuuc6wqgb3NinvhofSKql8xV1/wu1SWXJcygUu8YumEo8rv6/yPuh2wenXtKOLaAATqBE3Y/awkDNGzC+2uqdkoLy0BxClpOSZMOkAQ9Egzv1BY3znz7axbfsD2AA/fYC5ay0jqQ9G7DfazjdzReV+XKW9BagTELLsJ6slMxsg6hoh5eAuI9MVINHx8LfLxkAlQZ+pbdEly6bzGxcVVZhsR5Kfct0YA4qGH9x0wK8W667nwpPP/vK0k3AvW3qb8QfbQlLUvv2AHsaDJYqLZlQFRIVtX3CWCwvnEtEjY/UGTK0knBXLOFnPGEsOo0gm6/9ElZ8SmV9TVk+GlW2mDiAiH4iLeA2w5I87OB6g4fwsjg79JSw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW4PR11MB5872.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(396003)(136003)(366004)(376002)(39860400002)(451199018)(76116006)(66476007)(66446008)(66556008)(66946007)(38100700002)(83380400001)(8676002)(4326008)(64756008)(54906003)(110136005)(122000001)(316002)(19627235002)(53546011)(71200400001)(478600001)(186003)(26005)(6506007)(9686003)(33656002)(5660300002)(966005)(86362001)(41300700001)(52536014)(38070700005)(55016003)(82960400001)(7696005)(8936002)(2906002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?0IgG6p7TPqbhriWoCIZDSgOIRHT66r8+7oaZO5SDEAM3/fb130AJbn3qDXG4?= =?us-ascii?Q?oyRn4BfTFxVUiKHt3vKeeRUK1wJFRlC8zxLvBnHWs+lVtNjfhALjiL0OuSLz?= =?us-ascii?Q?aNLB7Oe1Ham5rJ+eNIa4bpinBAiV7tZLbqw4LFpaIoHtnZhnm+nuvCTSev1J?= =?us-ascii?Q?u4QuAmktYWMs0GRBgLWPVlwW3ko78aaxIbcpYbHSzg77nJzLgVoMW3291aVG?= =?us-ascii?Q?orNAHYGSdga6rSs5I6JQxKjWlw3pc19GSPhrQMIKMMPeOfjzFPJcEeXXYmdE?= =?us-ascii?Q?fDKOL9BpDS4Y7G6s0y97h2YG8PT5ykXoLbfau4BdtURqhbHK7BvczgK4OtI1?= =?us-ascii?Q?pz7qg/UmWo+c/TD04mhDCDLRJ0CJf17A2yDwr5L3tNRt1H6qna8+19JDPLbt?= =?us-ascii?Q?oOXn4iT+IIgW9PUl5yaVXTXx5BYaCH23qeadp9mU8U63E4P1Hr6iIuutdmkq?= =?us-ascii?Q?1sjmyaC0YS3FyiA0jUeS3fDO55Ed3Ub9LtlC2VGT6huEse8N0+xjKhlWx32T?= =?us-ascii?Q?1ste2RFdoazxGeHT7X9H68Rf4A3vLn5eTMqHyK//PyQQUiyqlg9Pi6Bhcd0P?= =?us-ascii?Q?nRu0lfrGH2knoV2kCAbLdz+MzZ+rpJY0VpkP5kB6Xqu20t96H05JWajUoi/C?= =?us-ascii?Q?rI0Q6cw6hbozeacZfS7TmwMqA+6Z0qLKi7zO5ZKnvieyMHAJQPS+1yoOUmdc?= =?us-ascii?Q?jr17N/hd2ZZfeZl7el4KxwXLAQEPelFrgQI0L2iFUysIz9Uv9kG3Fku93XqO?= =?us-ascii?Q?TL/cCjSMDRpMdVFbDOsMwB29k0z8solmEq4LemqbLbGKptY74+0fuRfp36QO?= =?us-ascii?Q?aNXS0zNGXDIGmag/VBIGdl1T4IcXGpaeVZ6bfKT27vQxc3Jumb8iXMfmeEj9?= =?us-ascii?Q?ZNA7oeVvcbRr1/4R101LLi771OPJ8YhQU+566egXgD7UxYSythnb+y20lBQ1?= =?us-ascii?Q?S7SjwsZdlBSqXhgH1/rK8dSoXeyAqV+nt3k3quYtea/hajfWpLJFy68RexpL?= =?us-ascii?Q?+3utyXvmbUX2s2+NIYzNvdXTjzEwQ3VcRpdw/TQ71ciuckOZFxzZseWEc4MY?= =?us-ascii?Q?hMTjZ4fKai4wp7Z70bB1XLINdS7x4sJ/2rC9/ZZL56rtL/sCjpXXIgFy77BO?= =?us-ascii?Q?qu2GTj28iCeeg7sE5R+JSyp+6QyKd+MBIHc2EUnrH2IrxWN7Mhirn1LXkeqD?= =?us-ascii?Q?qhrClbsY7UxwlCQ7uZlR7v4kmNXRVno+C8xnYLPnTExQPOKEgq3HFU+FCwYI?= =?us-ascii?Q?N2BXAJilUAmiQBgniWLS7IAEzn/8IK2tC/8sH3h2akHdpPPJDtxpEW0Xz9da?= =?us-ascii?Q?Sj+T5sUDCgvQL0l+Y7pvOISOKYUSKnM6RUYc9G07o5Q7oqtWJEwk157FHkrP?= =?us-ascii?Q?B4qU2rxC3t08KSV8r8d/fSDF6XUwHek0lgHnlgeM7uHIOBxbOVlBxoSoVBEf?= =?us-ascii?Q?KjDgdu7trarhLP+l3lVAvZW2bIbtmN+ubl7E+bqHUmbs2C48/DOo29N+H2Xp?= =?us-ascii?Q?ViRpOpknSEc3/NoCc3/2vJlp233TJ5wE6q3H+V11pFp8M3qWOdpAYcx8fHpp?= =?us-ascii?Q?3ZoSMHXpr+DttSrR9h73yfSUDnf0vyEuqUqspF8M?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW4PR11MB5872.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b73d6223-f984-4f50-0985-08db058dfa7a X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Feb 2023 02:25:55.3417 (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: hospX7RhwkBTn/Lv/k225zU/mF9sTGN4T3MpJo5qQQt7UtgW9x3Bl0ItBWG5G81CUCar306cnqcrxYrAOYqPFw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR11MB5959 Return-Path: jiewen.yao@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Jiewen Yao > -----Original Message----- > From: Xu, Min M > Sent: Saturday, January 28, 2023 9:58 PM > To: devel@edk2.groups.io > Cc: Xu, Min M ; Aktas, Erdem > ; James Bottomley ; Yao, > Jiewen ; Gerd Hoffmann ; Tom > Lendacky ; Michael Roth > > Subject: [PATCH V5 00/13] Enable Tdx measurement in OvmfPkgX64 >=20 > BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4243 >=20 > Tdx measurement (RTMR based measurement) is enabled in OvmfPkg/IntelTdx. > This patch-set enables the feature in OvmfPkgX64 as well. >=20 > Patch #1: > Introduce TDX_MEASUREMETNS_DATA in SEC_TDX_WORK_AREA. That is > because > the RTMR measurement of TdHob and Configuration FV (CFV) are executed > in very early stage of boot process. At that time the memory service is > not ready and the measurement values have to be stored in OvmfWorkArea. >=20 > Patch #2: > Introduce TdxHelperLibNull which is the NULL instance of TdxHelperLib. >=20 > Patch #3: > Introduce SecTdxHelperLib which is the instance of TdxHelperLib for SEC > Phase. This patch adds the stubs of TdxHelperLib functions. The actual > implementation are in the following patches. >=20 > Patch #4: > Re-use the data struct of PLATFORM_FIRMWARE_BLOB2_STRUCT for > FV_HANDOFF_TABLE_POINTERS2. >=20 > Patch #5-7: > These 3 patches move the functions ( which were implemented in > PeilessStartupLib and PlatformInitLib ) to TdxHelperLib. So that they > can be called in both OvmfPkgX64 and IntelTdxX64. >=20 > Patch #8/9: > These 2 patches are the changes for tdx measurement in IntelTdxX64. >=20 > Patch #10-13: > These 4 patches are the changes for OvmfPkgX64 to enable Tdx > measurement. >=20 > Code: https://github.com/mxu9/edk2/tree/TdxMeasurementInOvmfX64.v5 >=20 > v5 changes: > - Re-organize the patches. Its purpose is not only to simplify review, b= ut also > to simplify testing. https://edk2.groups.io/g/devel/message/99209 >=20 > v4 changes: > - To make the code reviewable, the implementation of > TdxHelperBuildGuidHobForTdxMeasurement is split into 4 patches (5-8). > - Call Sha384HashAll instead of the 3 Sha384XXX functions so that we > need to allocate memory in SEC phase. >=20 > v3 changes: > - Use the definition of PLATFORM_FIRMWARE_BLOB2_STRUCT in > Library/TcgEventLogRecordLib.h. > - Rename TDX_ENABLE as TDX_MEASUREMENT_ENABLE because this flag is > introduced for Tdx-measurement. > - Split the patch of SecTdxHelperLib into 2 separate patches (#3/#9). > Patch#3 implements TdxHelperMeasureTdHob and > TdxHelperMeasureCfvImage. > Patch#9 implements TdxHelperProcessTdHob. This is to make the patches > more reviewable. The duplicated codes of TdxHelperProcessTdHob are > deleted in Patch#9 as well. > - The implementation of TdxHelperBuildGuidHobForTdxMeasurement and > update > of PeilessStartupLib are in one patch (#5). Because the implmentation > of TdxHelperBuildGuidHobForTdxMeasurement was once in PeilessStartupLi= b. >=20 > v2 changes: > - Split the patch of TdxHelperLib into 4 separate patches. So that it is > more reviewable. > - Add commit message in Patch#1 to emphasize that the tdx-measurement in > OvmfPkgX64 is supported in SEC phase. >=20 > Cc: Erdem Aktas > Cc: James Bottomley > Cc: Jiewen Yao > Cc: Gerd Hoffmann > Cc: Tom Lendacky > Cc: Michael Roth > Signed-off-by: Min Xu >=20 > Min M Xu (13): > OvmfPkg: Add Tdx measurement data structure in WorkArea > OvmfPkg/IntelTdx: Add TdxHelperLibNull > OvmfPkg/IntelTdx: Add SecTdxHelperLib > OvmfPkg/PeilessStartupLib: Update the define of > FV_HANDOFF_TABLE_POINTERS2 > OvmfPkg: Refactor MeasureHobList > OvmfPkg: Refactor MeaureFvImage > OvmfPkg: Refactor ProcessHobList > OvmfPkg/IntelTdx: Measure TdHob and Configuration FV in SecMain > OvmfPkg/PeilessStartupLib: Delete the duplicated tdx measurement > OvmfPkg/IntelTdx: Add PeiTdxHelperLib > OvmfPkg/OvmfPkgX64: Measure TdHob and Configuration FV in SecMain > OvmfPkg/PlatformPei: Build GuidHob for Tdx measurement > OvmfPkg: Support Tdx measurement in OvmfPkgX64 >=20 > OvmfPkg/AmdSev/AmdSevX64.dsc | 5 +- > OvmfPkg/CloudHv/CloudHvX64.dsc | 5 +- > OvmfPkg/Include/Dsc/OvmfTpmLibs.dsc.inc | 10 +- > .../Include/Dsc/OvmfTpmSecurityStub.dsc.inc | 8 + > OvmfPkg/Include/Library/PlatformInitLib.h | 17 - > OvmfPkg/Include/Library/TdxHelperLib.h | 70 ++ > OvmfPkg/Include/WorkArea.h | 25 +- > OvmfPkg/IntelTdx/IntelTdxX64.dsc | 4 +- > OvmfPkg/IntelTdx/Sec/SecMain.c | 17 +- > OvmfPkg/IntelTdx/TdxHelperLib/PeiTdxHelper.c | 91 +++ > .../IntelTdx/TdxHelperLib/PeiTdxHelperLib.inf | 48 ++ > .../TdxHelperLib/SecTdxHelper.c} | 304 +++---- > .../IntelTdx/TdxHelperLib/SecTdxHelperLib.inf | 53 ++ > .../TdxHelperLib/TdxHelperLibNull.inf | 32 + > OvmfPkg/IntelTdx/TdxHelperLib/TdxHelperNull.c | 79 ++ > .../IntelTdx/TdxHelperLib/TdxMeasurementHob.c | 259 ++++++ > OvmfPkg/Library/PeilessStartupLib/IntelTdx.c | 196 ----- > .../PeilessStartupLib/PeilessStartup.c | 16 +- > .../PeilessStartupInternal.h | 36 - > .../PeilessStartupLib/PeilessStartupLib.inf | 6 - > OvmfPkg/Library/PlatformInitLib/IntelTdx.c | 768 ------------------ > .../Library/PlatformInitLib/IntelTdxNull.c | 20 - > .../PlatformInitLib/PlatformInitLib.inf | 1 - > OvmfPkg/Microvm/MicrovmX64.dsc | 5 +- > OvmfPkg/OvmfPkg.dec | 4 + > OvmfPkg/OvmfPkgX64.dsc | 20 +- > OvmfPkg/OvmfPkgX64.fdf | 7 + > OvmfPkg/PlatformPei/IntelTdx.c | 3 + > OvmfPkg/Sec/SecMain.c | 17 +- > 29 files changed, 915 insertions(+), 1211 deletions(-) > create mode 100644 OvmfPkg/Include/Library/TdxHelperLib.h > create mode 100644 OvmfPkg/IntelTdx/TdxHelperLib/PeiTdxHelper.c > create mode 100644 OvmfPkg/IntelTdx/TdxHelperLib/PeiTdxHelperLib.inf > copy OvmfPkg/{Library/PlatformInitLib/IntelTdx.c =3D> > IntelTdx/TdxHelperLib/SecTdxHelper.c} (80%) > create mode 100644 OvmfPkg/IntelTdx/TdxHelperLib/SecTdxHelperLib.inf > create mode 100644 OvmfPkg/IntelTdx/TdxHelperLib/TdxHelperLibNull.inf > create mode 100644 OvmfPkg/IntelTdx/TdxHelperLib/TdxHelperNull.c > create mode 100644 OvmfPkg/IntelTdx/TdxHelperLib/TdxMeasurementHob.c > delete mode 100644 OvmfPkg/Library/PeilessStartupLib/IntelTdx.c >=20 > -- > 2.29.2.windows.2