From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mx.groups.io with SMTP id smtpd.web09.9048.1637064697417262311 for ; Tue, 16 Nov 2021 04:11:38 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=UtA6pHBX; spf=pass (domain: intel.com, ip: 192.55.52.136, mailfrom: min.m.xu@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10169"; a="213715289" X-IronPort-AV: E=Sophos;i="5.87,239,1631602800"; d="scan'208";a="213715289" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Nov 2021 04:11:36 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,239,1631602800"; d="scan'208";a="567185794" Received: from fmsmsx606.amr.corp.intel.com ([10.18.126.86]) by fmsmga004.fm.intel.com with ESMTP; 16 Nov 2021 04:11:36 -0800 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx606.amr.corp.intel.com (10.18.126.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Tue, 16 Nov 2021 04:11:36 -0800 Received: from fmsmsx607.amr.corp.intel.com (10.18.126.87) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Tue, 16 Nov 2021 04:11:35 -0800 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx607.amr.corp.intel.com (10.18.126.87) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Tue, 16 Nov 2021 04:11:35 -0800 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.174) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Tue, 16 Nov 2021 04:11:35 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TZ1bVB7VXDaNlIeI1PXlxkMReUmCblwdUWFO9uaTiBX2KG64ReaJkXfJy8Q0BlQTvCMFi0wcUiUzomPIxljlH3k9X+q+XdzX/UL+tjjzJV0CM1uAX4PJ/xomjP3eW9C2H8TOQUd+ZyS6b7UV02KQnieQIKIy2CTZ6nLLYFTuetew8Aa+/A/FNuNnsPf1bvrydePyIaBt8+1WfcpXGNt9wuiZ9AJ8XNGmRAMO9GTcwgahYRRNY/hAOYacE2G2FfDmIvB/3Hrr6Owzk9tLMwtaCvp04vCzQps94DJ4jBl6LPmkl6Qk4k1MX15SgWvtiBP/VuAYsKuHZ6de6h5jBg4Qag== 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=TSZJBypr/3c4r15gm7w2J19Vls915sguPUcdt12YB+I=; b=gneFNM6eSTTcm7hQrTaWyW4oshOegvaAeovLWXUlF9/S+6VMVi30xkhw6dy8CkHgFpq+kc7h5iwRU+VJpRCmuewYb+qvoX2q8clI9Do5xOoQZ418jOzHZraxon4eMFsVxoCsdQH3FMnuYkmx3TUSHoKXU5isTMrYmGWl9KfqDy94wZZYLxo+sTtFGz7g0FJv/prBVjQoMfBUrf6KZjPHRBDTEmP7weoVJNT+IqNpX9SloNdOkPMWj9OtJyLtT0Br6u2FDixnRBvM4bIKhCMUxBqu6vZKJCRi5xUUCK9xPDl+iekH9I8wZoEJutKxwHrjcyFahacXVzOlybCmZ20aOQ== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TSZJBypr/3c4r15gm7w2J19Vls915sguPUcdt12YB+I=; b=UtA6pHBXnXsJaZvxvqZnEtoulVs4liTvS70sbFNgAk0EUqiBQAG2+vwGA8YtzzfrcAWyZJYc+s5pHca2NFGOn89dbR1sr1IRWiUkjms0HoXiaWe8OliITKdcFuNf9tMMmlaCdKayT1c3K5G+V4FWseJ0gZvPwWDKrXgtXHrCZQA= Received: from PH0PR11MB5064.namprd11.prod.outlook.com (2603:10b6:510:3b::15) by PH0PR11MB4982.namprd11.prod.outlook.com (2603:10b6:510:37::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.16; Tue, 16 Nov 2021 12:11:33 +0000 Received: from PH0PR11MB5064.namprd11.prod.outlook.com ([fe80::fd42:b334:5030:af8d]) by PH0PR11MB5064.namprd11.prod.outlook.com ([fe80::fd42:b334:5030:af8d%4]) with mapi id 15.20.4690.027; Tue, 16 Nov 2021 12:11:33 +0000 From: "Min Xu" To: Gerd Hoffmann CC: "devel@edk2.groups.io" , Ard Biesheuvel , "Justen, Jordan L" , Brijesh Singh , Erdem Aktas , James Bottomley , "Yao, Jiewen" , Tom Lendacky , "Xu, Min M" Subject: Re: [PATCH V3 15/29] OvmfPkg: Update SecEntry.nasm to support Tdx Thread-Topic: [PATCH V3 15/29] OvmfPkg: Update SecEntry.nasm to support Tdx Thread-Index: AQHXzyL5RiNa5Dw6bESX0Mv7jw+MWKvxWmOAgAegI8A= Date: Tue, 16 Nov 2021 12:11:33 +0000 Message-ID: References: <867e8a2aaf28c308b20a659057217453c6e38e00.1635769996.git.min.m.xu@intel.com> <20211103063045.kmttoxyluifwo2bq@sirius.home.kraxel.org> In-Reply-To: <20211103063045.kmttoxyluifwo2bq@sirius.home.kraxel.org> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.6.200.16 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: fd4ab8fa-8193-4bf0-5e9a-08d9a8fa3b01 x-ms-traffictypediagnostic: PH0PR11MB4982: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3513; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: RsqxwzzF6SueG4+IFaZgLnFwhLdckD2T5+kA/E60s/xQd7u0IlIOexeNSddcpknR106cqHX+0GEwCFaE/bZ8u1CmJWkCzUhtRTZUu8QxpIe7NMBHuPY/TsLKMtHsCRBaUem4CqbQcy8gJCd3bg2Xy/KZC2vNb00dyOnqEj0IL0KyfWX9I2GdRZ/w3T4FZKJDxKmNoGRvqaJ+Wv9NPzQ5+ULFpOu5Wpq1a8IXcIrwWg+CKQ+NMHswl+WdbkC/RESszr13JhvRef3QV3sdS6YykyCuP6EnfqXEU4ved/MIH7q4UAbiLo+NxDB1M2Lkic8ZuCqygQ6mnchCNMtuAvIPg2gXXcHFR54laiaHE+tLMg0hbImh9yy1Lu6mJugnoNVP+XHUPZ6ZbyXyjcyJ7LqSDJdB736HYwlUaWNK4/+/uxhBG2aEupi4z4kjgrTd978lG5KL9UrgA36VVuMz4iQ5bfEltNjOnd1dEbtXN5c31ShQSPsRDeVor6asZ1Xf8J7nGmuuSQ9WKtLJLRJRsdq5j2c4/O5jbz8MFP0OxF7v+0a5vEE6z0ZZN7HA4vFSmSjkQEOXR7vjoZRY2EzZ4slh63TYXNBmKnT1iPLIynSzkYquKjlPoAD+Uu6/9ZgjJGqAQXoNidfril0/bU93Osd4yar5qfHwlBAeEr0r3KqGpltZbbhM6d1th18+PZLQXz3BYO/f4BJH3xwAWlq1Hs9C/JDqzrDXHOLtNRf/1dEoVafqjroParvH4DSVljD3UWPz8l38rPbftNMztCrk5m97bvS0brxNMpaqVOd6xbIN8X2FJ0giNhKDEyJhvw0m55p2miqclq617wmdtkDCugiA5Q== 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:(366004)(38070700005)(82960400001)(8676002)(83380400001)(86362001)(55016002)(107886003)(122000001)(15650500001)(33656002)(8936002)(6916009)(508600001)(38100700002)(2906002)(66946007)(316002)(76116006)(71200400001)(186003)(966005)(9686003)(66476007)(66556008)(26005)(64756008)(5660300002)(66446008)(6506007)(7696005)(54906003)(52536014)(4326008);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?faEFY7ph2Val1DBVOZV0AprvD0RsnXmwy38G4k8i5xgDEey+YfdyC4wZ82G3?= =?us-ascii?Q?EvL/MfND0LR/zOGHM9lSR7Q2fIOhN0NQp84c27x3pe/ofILxQoISwZ/osGmg?= =?us-ascii?Q?FxQoSxyKtSB1jEmA8uNND5JwOpLLa9nfCcebJVv93I1uOkLLxObp18zDj/PT?= =?us-ascii?Q?3LRxKe2okXpBWBqqpxKHiCLJVvwGyW9/S4WAeVwoWZuFkwPeK3l/G9Pem4ET?= =?us-ascii?Q?JeMe0UaqNDFNmOvUhy/Ym34pN3E7DXszZJ1MnJ29Sc/kytlOYUL8AnER575U?= =?us-ascii?Q?n5BSeID5QSSwTJZddCl0CetzVq0DxP5+F0OV84lCT8FASyCiyS3nVOZDI4I1?= =?us-ascii?Q?bc78Wms76fA0/tbjmXp4asvdgr4tMTxhEIB2KQussTkaQLEBu3Ig57Qufw9K?= =?us-ascii?Q?8fgMrWAexsYTa9Htp3dAVsCNCxxBjrWyE2+CHHSnud2q4EZSrss/HBgKymU6?= =?us-ascii?Q?/81p5XvgnesZxbqXwS/pYKIJirEXtxCIQVPgnhHGUFcvCoBVS/MD/Ve7iMm9?= =?us-ascii?Q?NQCrrKsWXg5bZlK4viBzKxv4KQ+EzdJKzFcIDJMayta9MtHfmDCcVXhJwVUR?= =?us-ascii?Q?5Nt5OMCYvaO8Qz6KUW4uWeWOoaWfeA0XN/QR9w72iEoeXHYIGN4xbD0PZbcs?= =?us-ascii?Q?N+axdk7l88lccUVSN+iWSukDKXZiufgpm4cm4rgZdKq54gaN/RjxLhPuyNC/?= =?us-ascii?Q?XnI3JgKCe8u0uH6TPsQC8sW9LxPUXfw3b2jBeKnFkvw2lcLwa7tDsAC4IF1G?= =?us-ascii?Q?lDvME+QsARVDOrRYB4iOcY3JV6EzV5kQUQ5E2/1PVtBbl7qc7fh4MDJXOqDu?= =?us-ascii?Q?TfIMWoXBjBHZ52YTHpiERvPzjZ5WeLl4O7efXgDupcZUZtq56WNJ6rathY/y?= =?us-ascii?Q?F9FCDD/pxnvmcu6IwQwPCnxET0+QH38Vrtq30LxgXuaj7qjgJjnlj33iYba7?= =?us-ascii?Q?0SYWYRmt8TXtvibzHUJzI/S/aigNt833eJDGJbbPGJVWJ9KZ0776N/h66hBY?= =?us-ascii?Q?1wsdQpSURvLi9dM0vztnpx4qt7T/dGYewdOFA1SQNWfx/Bxe8mycH0FSNxuB?= =?us-ascii?Q?HpipWw0s6l4facThTZ6XC9i6mjoddeOJwISw00qvaUDRkCILHrxJAmdhv3sT?= =?us-ascii?Q?0eE+SAPNnTLLZeeKtcLKDT+pAriSxDcBLFqEect0BxC4OmaJLxIzHX3OUMef?= =?us-ascii?Q?JNdu116tllDjTD682tM457yuotGqDYRthLIi1efUNOeuFwug8gTsellGpSYG?= =?us-ascii?Q?fVhv3ulSxX/s+kS8YMlM0/42zyiT5ewZoYzp7wol5OQTM4VYPqYiP0+c+zc8?= =?us-ascii?Q?0he0GOJY8KuUctzP44JJMtmRTfzg+Fgo4jGx2CAclfzbasdj9bIBuT0rLDWb?= =?us-ascii?Q?E+Itzu+C7xodFl/Xzh2/3Q3XkG9Qrw2PiphngZ7Z1Av8H8BXqzX+v/nOoWVt?= =?us-ascii?Q?KmLXGsa/lmJkC45IKEGR6MUWojs4vbEDYAFyldX6l+MVZ71IZ1eiyI+dlhUU?= =?us-ascii?Q?2xM4XvYAwnf/Dg6RbsFv1jJJDlf23SSLeV1s8Y+UwyHIrRHjSP5jhfVOdFtq?= =?us-ascii?Q?dvDBxl6DJZbdYCKEWiPlLvK3GFRJr8qigsYln6b4Niw2bDfgNruiFbQFe+bE?= =?us-ascii?Q?rw=3D=3D?= 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: fd4ab8fa-8193-4bf0-5e9a-08d9a8fa3b01 X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Nov 2021 12:11:33.1805 (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: zlrNz1J6zZzDShHEo2TMpFLS6MdaHOKO2zC6kFj4l+zE+0XvGhMu+UMlEhjoRYu7UcfkGl2aZiMlLpe2caj6ew== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB4982 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 On November 3, 2021 2:31 PM, Gerd Hoffmann wrote:=20 > Hi, >=20 > > - AcceptPages: > > To mitigate the performance impact of accepting pages in SEC phase o= n > > BSP, BSP will parse memory resources and assign each AP the task of > > accepting a subset of pages. This command may be called several time= s > > until all memory resources are processed. In accepting pages, PageLe= vel > > may fall back to smaller one if SIZE_MISMATCH error is returned. >=20 > Why add an assembler version of this? There already is a C version (in T= dxLib, > patch #2). When adding lazy accept at some point in the future we will s= top > accepting all pages in the SEC phase anyway. There is Mp support (patch = #14) > so you can distribute the load to all CPUs in PEI / DXE phase if you want > (although the benefits of parallel accept will be much smaller once lazy > accept is there). There are below considerations about accept pages in SEC phase. 1. There is a minimal memory requirement in DxeCore [1]. In legacy Ovmf the= memory is initialized in PEI phase. But TDVF has 2 configurations (Config-A and Config-B) [2]. PEI phase is ski= pped in Config-B. So we have to accept memories in SEC phase. This is to ma= ke the code consistent in Config-A and Config-B. 2. TDVF's MP support is via Mailbox [3] . BSP wakes up APs by putting comma= nd/parameters in Mailbox. So we have this patch [4].=20 While EDK2's MP support (CpuMpPei/CpuDxe) is via INIT-SIPI-SIPI. They're di= fferent. We cannot distribute the load to all CPUs with EDK2's MP service. Patch #14 [5] is the commit to enable TDX in MpInitLib. Actually this is to= make sure the CpuMpPei/CpuDxe will not break in Td guest in run-time. Patc= h #14 is rather simple, for example, ApWorker is not supported. 3. In current TDVF implementation, Stack is not set for APs. So C functions= cannot be called for APs. If stack is set for APs, then more memories shou= ld be reserved in MEMFD. For example, if 1 AP needs 4k size stack, then 15 = AP need 60k memory. (We assume only 1+15 CPUs accept memory). This makes th= ings complicated. Based on above considerations, we use the current design that BSP-APs accep= t memory in SEC phase (in assembly code). [1] https://github.com/tianocore/edk2/blob/master/MdeModulePkg/Core/Dxe/Gcd= /Gcd.c#L2245 [2] https://edk2.groups.io/g/devel/message/76367 [3] https://www.intel.com/content/dam/develop/external/us/en/documents/inte= l-tdx-guest-hypervisor-communication-interface-1.0-344426-002.pdf Section 4= .1 [4] https://github.com/mxu9/edk2/commit/4501df794c2c4dbfc5ba63c93a1e2c96660= c072e [5] https://github.com/mxu9/edk2/commit/189ad46fb732460eaa3e3f0787f098466b1= 504a6 Thanks Min