From nobody Fri May 3 10:22:36 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+79152+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+79152+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1628752980; cv=none; d=zohomail.com; s=zohoarc; b=X7gv8FwaflBPg4u2OmpiBKEAEEOTK0LhvizT0BvM+IEcMGxdcD5CHB+G8mZZ9O57Cexjy2uFUj75cilDGZf2tS/+BMLyboOWU9dPUO7Nx7dEJTqwfFTgBr6Pn+3hySOpJTTpi7v6QtZn90ZHtyxnByqRmRwt7u15zbMOS7xNfeg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1628752980; h=Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Sender:Subject:To; bh=PUyi4wg7NvgQT7TWg1y2ypHpZxjBEDcEHTlzHTfuYkI=; b=m1/Ka2VAZrkxt65ma74Js5hfMljRcphlgHT1/fwQv7HJpkxJLs4iZwdR5w3UfrpWOAS0IFMCvH5FVEeOt+G4oSHVwnKoka3AKR3/9fmWX6yAlLrB9AX78N6yrTC4Uf/nngtgrtB2kNooVAGitNFOATAeIQB/S1Ps+G+SgXOIq+Y= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+79152+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1628752980203439.1531515667334; Thu, 12 Aug 2021 00:23:00 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id gmW3YY1788612xGEnG45jwQL; Thu, 12 Aug 2021 00:22:59 -0700 X-Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mx.groups.io with SMTP id smtpd.web08.19149.1628752979121900431 for ; Thu, 12 Aug 2021 00:22:59 -0700 X-IronPort-AV: E=McAfee;i="6200,9189,10073"; a="202461044" X-IronPort-AV: E=Sophos;i="5.84,315,1620716400"; d="scan'208";a="202461044" X-Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Aug 2021 00:22:58 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,315,1620716400"; d="scan'208";a="503772778" X-Received: from chinghux-desk1.gar.corp.intel.com ([10.5.215.161]) by orsmga001.jf.intel.com with ESMTP; 12 Aug 2021 00:22:57 -0700 From: "GregX Yeh" To: devel@edk2.groups.io Cc: Jian J Wang , Hao A Wu , Dandan Bi , Liming Gao Subject: [edk2-devel] [PATCH] MdeModulePkg PCD: Reinstall PCD service PPIS when memory available Date: Thu, 12 Aug 2021 15:22:05 +0800 Message-Id: <20210812072205.1603-1-gregx.yeh@intel.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,gregx.yeh@intel.com X-Gm-Message-State: Isx7MjhbtGE7nltVjDhOGlhYx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1628752979; bh=SCZr46Ad0zZKqQpW8ose3Neetb89pjCv/zyIwADIHmY=; h=Cc:Date:From:Reply-To:Subject:To; b=oMZdJ/H55AojElnbvzm5wREIPDhhWUrDqbLviWtTzwhP59LznesEIv/zdUfhUG/eZJp RESk7Cbnk64RKdaXLTQWzFVLtoyKNU8hP0DtlX3N/37anccNjgedcrj/FoFHFv5GOZcuA 66qaTnzo70TfeIQw6eetEBC1GZPHlA6xLIU= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1628752981099100002 Content-Type: text/plain; charset="utf-8" https://bugzilla.tianocore.org/show_bug.cgi?id=3D3525 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. Signed-off-by: GregX Yeh Cc: Jian J Wang Cc: Hao A Wu Cc: Dandan Bi Cc: Liming Gao Reviewed-by: Dandan Bi --- MdeModulePkg/Universal/PCD/Pei/Pcd.c | 71 +++++++++++++++++++++++++++- 1 file changed, 70 insertions(+), 1 deletion(-) 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 All Pcd Ppi services are implemented here. =20 -Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
+Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.
(C) Copyright 2016 Hewlett Packard Enterprise Development LP
SPDX-License-Identifier: BSD-2-Clause-Patent =20 @@ -339,6 +339,75 @@ PcdPeimInit ( { EFI_STATUS Status; =20 + Status =3D PeiServicesRegisterForShadow (FileHandle); + if (Status =3D=3D EFI_ALREADY_STARTED) { + // + // This is now starting in memory, the second time starting. + // + EFI_PEI_PPI_DESCRIPTOR *OldPpiList; + EFI_PEI_PPI_DESCRIPTOR *OldPpiList2; + VOID *Ppi; + VOID *Ppi2; + + OldPpiList =3D NULL; + Status =3D PeiServicesLocatePpi ( + &gPcdPpiGuid, + 0, + &OldPpiList, + &Ppi + ); + ASSERT_EFI_ERROR (Status); + + if (OldPpiList !=3D NULL) { + Status =3D PeiServicesReInstallPpi (OldPpiList, &mPpiList[0]); + ASSERT_EFI_ERROR (Status); + } + + OldPpiList2 =3D NULL; + Status =3D PeiServicesLocatePpi ( + &gGetPcdInfoPpiGuid, + 0, + &OldPpiList2, + &Ppi2 + ); + ASSERT_EFI_ERROR (Status); + + if (OldPpiList2 !=3D NULL) { + Status =3D PeiServicesReInstallPpi (OldPpiList2, &mPpiList2[0]); + ASSERT_EFI_ERROR (Status); + } + + OldPpiList =3D NULL; + Status =3D PeiServicesLocatePpi ( + &gEfiPeiPcdPpiGuid, + 0, + &OldPpiList, + &Ppi + ); + ASSERT_EFI_ERROR (Status); + + if (OldPpiList !=3D NULL) { + Status =3D PeiServicesReInstallPpi (OldPpiList, &mPpiList[1]); + ASSERT_EFI_ERROR (Status); + } + + OldPpiList2 =3D NULL; + Status =3D PeiServicesLocatePpi ( + &gEfiGetPcdInfoPpiGuid, + 0, + &OldPpiList2, + &Ppi2 + ); + ASSERT_EFI_ERROR (Status); + + if (OldPpiList2 !=3D NULL) { + Status =3D PeiServicesReInstallPpi (OldPpiList2, &mPpiList2[1]); + ASSERT_EFI_ERROR (Status); + } + + return Status; + } + BuildPcdDatabase (FileHandle); =20 // --=20 2.32.0.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#79152): https://edk2.groups.io/g/devel/message/79152 Mute This Topic: https://groups.io/mt/84835142/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-