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.web10.4314.1628664310201108474 for ; Tue, 10 Aug 2021 23:45:10 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=f4OwJ2vC; spf=pass (domain: intel.com, ip: 192.55.52.136, mailfrom: jian.j.wang@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10072"; a="194654859" X-IronPort-AV: E=Sophos;i="5.84,311,1620716400"; d="scan'208";a="194654859" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Aug 2021 23:45:08 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,311,1620716400"; d="scan'208";a="672621570" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by fmsmga006.fm.intel.com with ESMTP; 10 Aug 2021 23:45:08 -0700 Received: from fmsmsx607.amr.corp.intel.com (10.18.126.87) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10; Tue, 10 Aug 2021 23:45:08 -0700 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) 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.10; Tue, 10 Aug 2021 23:45:07 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx609.amr.corp.intel.com (10.18.126.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10 via Frontend Transport; Tue, 10 Aug 2021 23:45:07 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.170) 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.10; Tue, 10 Aug 2021 23:45:05 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Li9Uoc/iQ38hfDciE3XxktKkv8k5SfGJENsYjPYijq5s+E2rY32zOmIfT1Iovd8C7rycZaXrcEsXtBIebDMy5/swdTBvKmbuwrm3GrsEw+BwhshlnGMRHM9rzjJk5N0GglfoqOmeLDwnJUTlITs0VuUMgsyuqlErSLjnNa2vZvtEyKeTTQqa62vc2XxdaYF0tS0NZ6caMUYbQabKIKGK579R91u/8VED1qkz9E/iYhtEUT+O2Ez9O50zUHiNz/Rt+nxVfApNNRBtDDRjncDyoaJbp1R8GaarP5Q4N3hVs/VAqSe/V960vPh6NYJhEi0i31jJ1uvUhJByrZQLlnDQRw== 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-SenderADCheck; bh=7w6ETk8N2C2ePFqrkqxdD/5yfJokxoWrwyLEw9gNPYY=; b=BXcw+AwUFUZq3eMT6mVkQHPJzmO7os7rm10mTkieckViQt6zbKwX6W2whhz6tb/iD4qV9+0kdwsyiLEvnScsNov330Bq8keVlSjBUx5KtrH9NbCW/g2yT7xzMFJISl/Akm4Bad3r1fsJ2CohvbFbNeznedSDbtOfoEwPXDVLwdJZu2caG9HpPrUizgPmAYIiwJFWQzqgVPz7xbIuVJu/64smiKWx0VtL0dQRx/SuvkTwPMKPNiMqag3x6hu/EXR/DEd4M+zi/T4GZTdtVolv+1LNhaHG5v4iJD2HfvMd08uytA3KchElhtJtzSDPvUX0VSNLU8FbGhUIdd6QSXHITw== 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=7w6ETk8N2C2ePFqrkqxdD/5yfJokxoWrwyLEw9gNPYY=; b=f4OwJ2vCoU06+hGIRYx+gA6mNyZ2wEUZR0cKyVc/5tf0uAeQDBrLk5tQagoN3Na7rEwMH4HIsOUijxdxtAmEoKLn3TmC4qQqWPhAmd3O3jzMmkkFXLGNfBO1WV89ItJcquZnAJNSRAwL/neBK+vt/9VY2eGW2BIrAOp9q57qOO0= Received: from CO1PR11MB4945.namprd11.prod.outlook.com (2603:10b6:303:9c::8) by MW3PR11MB4682.namprd11.prod.outlook.com (2603:10b6:303:2e::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.21; Wed, 11 Aug 2021 06:45:04 +0000 Received: from CO1PR11MB4945.namprd11.prod.outlook.com ([fe80::7112:8800:97d0:9d27]) by CO1PR11MB4945.namprd11.prod.outlook.com ([fe80::7112:8800:97d0:9d27%9]) with mapi id 15.20.4415.015; Wed, 11 Aug 2021 06:45:04 +0000 From: "Wang, Jian J" To: "Yeh, GregX" , "devel@edk2.groups.io" CC: "Wu, Hao A" , "Bi, Dandan" , Liming Gao Subject: Re: [PATCH] MdeModulePkg PCD: FSP NotifyPhase APIs caused 100ms delay Thread-Topic: [PATCH] MdeModulePkg PCD: FSP NotifyPhase APIs caused 100ms delay Thread-Index: AQHXjMYpehTys/r2v0qWAtoPjzFK6Ktt3yIw Date: Wed, 11 Aug 2021 06:45:04 +0000 Message-ID: References: <20210809022732.1753-1-gregx.yeh@intel.com> In-Reply-To: <20210809022732.1753-1-gregx.yeh@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-reaction: no-action dlp-version: 11.5.1.3 dlp-product: dlpe-windows authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 829f3283-c223-4851-9ed1-08d95c938cf6 x-ms-traffictypediagnostic: MW3PR11MB4682: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:4714; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 32acS0ImqAZj5XnxXzyJWb79TaJKz8InRji366UYSpsbXBRuZJHIN5uBZNjyYp9tD0T6DrR9gkkL9q0sxx63KYiNP8Q3qgG/06rahJB4JOKE5n29UPkMazq0m2TyhP4UnEF0O4qGoKlJGGXwL4irVSscOq5AVgawYx7pMUNdyqM9fiHnWQd0ZPWIu2fT8558KkcXaPJ8s//ICtxm6BflfhR0K/wVods7OIXtkYmxSuN5Mruq18JXqWiqZ7N1ah/IlgVzSDLAqvmzF9rWXd25rFDUoPKiFvhCgZVXNZ/1Hag03+KA/1FCd52U56Fa5woynDo++d1GVK03LpodPndfB8wh+nWgnqZhsASXP81wCNegXaqiwSUJoYKEuqYpuEWMEjiW7qS/uu0z0WO2eYcmuNGiSeCanHF1i2FuOVht9qgep1VHN9yrut+EbTCbS+Wcwl3Iwa+jK185pkD8Tr2UR34Exu2ZHNHjLOiPNh2313pXDtmTqfMy2v7dYmHTHjD0I+VoxPieg6PFuqBpu/a30kPM2cTVKZFts742koiEKoFj9xUMRJeuyDftcj/1aVsbriSRk9L1LojonDQlL+GDqHaU7z0YntT257d8ZObtXaiaF75xES5YRq8QdeikNw423zV4i2hzv0bKe0U2+gj1F2lSaiqe0IfLOdwHDKfOA5qS7UM47bKPqBxCyIk/LG0UvYpQ1/qemMlos45Br8fs0vwfV3KwF4sIK33nMrdFOKNDqBJNj3YAO5dzV7E5jBeL2YDBCL3fOz3/vucnRNYOYeam3qdzJba8geC1sOEc1Fk= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB4945.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(136003)(376002)(346002)(39860400002)(366004)(396003)(71200400001)(316002)(110136005)(54906003)(55016002)(2906002)(186003)(26005)(9686003)(86362001)(83380400001)(6506007)(38070700005)(38100700002)(7696005)(33656002)(4326008)(122000001)(53546011)(66446008)(66476007)(5660300002)(478600001)(8936002)(76116006)(64756008)(66556008)(66946007)(8676002)(52536014)(966005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?bfx+5shX9wvVkP79VgUyNMs9HSj05qLXbQSvDMMiaJvrW0+pKKNKPWoXDH7r?= =?us-ascii?Q?w8oxbjJ2Vtb9v2xZNQahxCKCn+aRZBj6ozzj3PQxqdFLR4V8txlewPhRsSfg?= =?us-ascii?Q?uRPpAjK6lGKElCJykUW6RMbtxmCksDjJn1JN8wOG1N19mipGE/+QSHMZkB3A?= =?us-ascii?Q?XWwZg5wJqZNi76HyNxE/9RHobjIpjiqjrIDBvYtG8SwwDuMC1SZjdWiByL12?= =?us-ascii?Q?fxBsFdeFPssOkcMwDLJyxhOfjOoNkq42aawe2tw+RCHek4t583FUWKQNu/XG?= =?us-ascii?Q?yFn18mel7ZNFpyaOZfGM3LqlSDB3oNeXYx0ZnAEe+uC6gAFrJ5r+M7WxRGyR?= =?us-ascii?Q?V7X+XePWpMgeLg3DKjxVJQm45CU/1XtxGhSAUG3qmx+uyJxZkE138FOhtGGV?= =?us-ascii?Q?0ksbbolUX4ttYeZd7oYtlR02TXXzJIl7FRd/QlfSQnO3DH1sEvpyQgLVfpI6?= =?us-ascii?Q?yD9xqp6kclYO1NxXiNKxKMJL/2U/7DRZl30G59XYd4zIoLOCBG3DYmHW2Kec?= =?us-ascii?Q?kFMcYboaM4wS6rOtpnU8xaRNrUQx84IYKxjHln1huXP96OisYIethnNIaIuj?= =?us-ascii?Q?LsZ1QUInvxmEoGxOE+8Qa9KfKxFJHbLNuUpDfDN6U/ljZ6kEQKMsQGemOmOw?= =?us-ascii?Q?dQyLOekH6sBO/TpBRUEgzov7qRAGPXw7nudk66+hpxRjT7Aun2WXW8xGd5RA?= =?us-ascii?Q?eGe1rXTExydsaJofNcBz1bdsB+7qKbc2ONTnHhqa83OzVgfBqVxl/cNoI996?= =?us-ascii?Q?fwrMH7CQ8f0FPHaFCcwkSNzerI6vFmlGZK8VBvUcBcrpirN4RbHlTwRmn4A+?= =?us-ascii?Q?KvbxYPR62/zNvTp+StNA0P02grwidU0BbRScQN5cn+3gE7/QuKRzeHtxqMtk?= =?us-ascii?Q?t0lufZYaww5B/Qx6WzvImRLgJ8PIOm0nF2ZlPq7s+iZtByY8ySEXkQ7Ei6HD?= =?us-ascii?Q?GMJfSzdnHbrd9vEP2H76dX0xwDZhL5/rAhRs1ZTkC4MJuuU0NbIzJZIHL6Uy?= =?us-ascii?Q?MIPT6e0yxoyzhfQIaMzqSt1AdlC3UJc/lH5zZb4aa5J4LdscTmoh0jNOek2d?= =?us-ascii?Q?Dtla/uRTlktNFBQC+nWjGQuJdzVh2XAQ8TPyT6jAkQPPStMPiCDeUBGotEAs?= =?us-ascii?Q?R989LDL8ygwYPhhTL3xwho27aS1jDW9TKJIB71oMOvFnsfoXO3jUSEaFV7US?= =?us-ascii?Q?rxpmgwA5U7itVfSl/rudZkv3Lx9czXzl37QwY2dw8Waq16t/gHAdjPq64h9u?= =?us-ascii?Q?D9yg5sAA9z8ACe+EExt81DkqJ+5gonkuA7Mco3xkacYeKBtszbtr8IoJ+Jrz?= =?us-ascii?Q?gwWxtKXmiUFBqOKEmNlpbPn1?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4945.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 829f3283-c223-4851-9ed1-08d95c938cf6 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Aug 2021 06:45:04.3142 (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: V2LxCXvgg0Spu4auw4vJzSYAWJcxeYfFy1hRpXRYm+lA8FYyKbGMgDGKXNKt+xduZirSKKIUfbP8yTwqqu/ibA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR11MB4682 Return-Path: jian.j.wang@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Jian J Wang Regards, Jian > -----Original Message----- > From: Yeh, GregX > Sent: Monday, August 09, 2021 10:28 AM > To: devel@edk2.groups.io > Cc: Wang, Jian J ; Wu, Hao A ; > Bi, Dandan ; Liming Gao > Subject: [PATCH] MdeModulePkg PCD: FSP NotifyPhase APIs caused 100ms dela= y >=20 > https://bugzilla.tianocore.org/show_bug.cgi?id=3D3525 >=20 > After PciSegmentLib using Dynamic PCD for Pcie base address such > long delay found in FSP. The root cause is some of the PCD service > PPIs not shadowed to memory and flash cache may have been disabled > in NotifyPhase stage. Solution is to shadow all PCD service PPIs > to memory. >=20 > Signed-off-by: GregX Yeh > Cc: Jian J Wang > Cc: Hao A Wu > Cc: Dandan Bi > Cc: Liming Gao > --- > MdeModulePkg/Universal/PCD/Pei/Pcd.c | 71 > +++++++++++++++++++++++++++- > 1 file changed, 70 insertions(+), 1 deletion(-) >=20 > diff --git a/MdeModulePkg/Universal/PCD/Pei/Pcd.c > b/MdeModulePkg/Universal/PCD/Pei/Pcd.c > index 9c6346924f..f31e0be35f 100644 > --- a/MdeModulePkg/Universal/PCD/Pei/Pcd.c > +++ b/MdeModulePkg/Universal/PCD/Pei/Pcd.c > @@ -1,7 +1,7 @@ > /** @file >=20 > All Pcd Ppi services are implemented here. >=20 >=20 >=20 > -Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
>=20 > +Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.
>=20 > (C) Copyright 2016 Hewlett Packard Enterprise Development LP
>=20 > SPDX-License-Identifier: BSD-2-Clause-Patent >=20 >=20 >=20 > @@ -339,6 +339,75 @@ PcdPeimInit ( > { >=20 > EFI_STATUS Status; >=20 >=20 >=20 > + Status =3D PeiServicesRegisterForShadow (FileHandle); >=20 > + if (Status =3D=3D EFI_ALREADY_STARTED) { >=20 > + // >=20 > + // This is now starting in memory, the second time starting. >=20 > + // >=20 > + EFI_PEI_PPI_DESCRIPTOR *OldPpiList; >=20 > + EFI_PEI_PPI_DESCRIPTOR *OldPpiList2; >=20 > + VOID *Ppi; >=20 > + VOID *Ppi2; >=20 > + >=20 > + OldPpiList =3D NULL; >=20 > + Status =3D PeiServicesLocatePpi ( >=20 > + &gPcdPpiGuid, >=20 > + 0, >=20 > + &OldPpiList, >=20 > + &Ppi >=20 > + ); >=20 > + ASSERT_EFI_ERROR (Status); >=20 > + >=20 > + if (OldPpiList !=3D NULL) { >=20 > + Status =3D PeiServicesReInstallPpi (OldPpiList, &mPpiList[0]); >=20 > + ASSERT_EFI_ERROR (Status); >=20 > + } >=20 > + >=20 > + OldPpiList2 =3D NULL; >=20 > + Status =3D PeiServicesLocatePpi ( >=20 > + &gGetPcdInfoPpiGuid, >=20 > + 0, >=20 > + &OldPpiList2, >=20 > + &Ppi2 >=20 > + ); >=20 > + ASSERT_EFI_ERROR (Status); >=20 > + >=20 > + if (OldPpiList2 !=3D NULL) { >=20 > + Status =3D PeiServicesReInstallPpi (OldPpiList2, &mPpiList2[0]); >=20 > + ASSERT_EFI_ERROR (Status); >=20 > + } >=20 > + >=20 > + OldPpiList =3D NULL; >=20 > + Status =3D PeiServicesLocatePpi ( >=20 > + &gEfiPeiPcdPpiGuid, >=20 > + 0, >=20 > + &OldPpiList, >=20 > + &Ppi >=20 > + ); >=20 > + ASSERT_EFI_ERROR (Status); >=20 > + >=20 > + if (OldPpiList !=3D NULL) { >=20 > + Status =3D PeiServicesReInstallPpi (OldPpiList, &mPpiList[1]); >=20 > + ASSERT_EFI_ERROR (Status); >=20 > + } >=20 > + >=20 > + OldPpiList2 =3D NULL; >=20 > + Status =3D PeiServicesLocatePpi ( >=20 > + &gEfiGetPcdInfoPpiGuid, >=20 > + 0, >=20 > + &OldPpiList2, >=20 > + &Ppi2 >=20 > + ); >=20 > + ASSERT_EFI_ERROR (Status); >=20 > + >=20 > + if (OldPpiList2 !=3D NULL) { >=20 > + Status =3D PeiServicesReInstallPpi (OldPpiList2, &mPpiList2[1]); >=20 > + ASSERT_EFI_ERROR (Status); >=20 > + } >=20 > + >=20 > + return Status; >=20 > + } >=20 > + >=20 > BuildPcdDatabase (FileHandle); >=20 >=20 >=20 > // >=20 > -- > 2.32.0.windows.1