From nobody Mon May 6 23:03:21 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+47908+1787277+3901457@groups.io; helo=web01.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+47908+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1569304691; cv=none; d=zoho.com; s=zohoarc; b=Ap61i8fqmEm+LCH+5mUlPBb6aYgtkAOC10171Fm7Zo/8txUEwDCZlcUXnTSHdsxA1uGlPb/Q0+lr06IAmMKPm9oF7syG2vl6ek2CMil5wKxKtXnYmAZIr/DeIFvd/HT4bLUpy7+0sQA54sQ704cirKiZH3rhnevySahBfo+hk6Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1569304691; h=Cc:Date:From:List-Id:List-Unsubscribe:Message-ID:Reply-To:Sender:Subject:To:ARC-Authentication-Results; bh=NUvQu8msLk7Wkh7b9jPbJBcPVpH2gDTuvcApj3MkpPU=; b=KooG1Wgnlbn//04W9jU5znWo1OzFXv5JqrZjpVBQ9+JH69BwAwfHtb/XxHpblZWKaGclPsIsuKsvREFX+QEzChgaIx6M1Tc9H4jmcgkuDAE800NtUiNdfJCis6dMKTlWDYrDmYxllHj6w432lernDHryW1gKPHY0pzLZka3ytnY= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+47908+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 1569304691604667.5846914330228; Mon, 23 Sep 2019 22:58:11 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id t8B5YY1788612xeYJCAuhhD6; Mon, 23 Sep 2019 22:58:10 -0700 X-Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by groups.io with SMTP; Mon, 23 Sep 2019 22:58:10 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 23 Sep 2019 22:58:09 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,543,1559545200"; d="scan'208";a="189263751" X-Received: from cchiu4-mobl1.gar.corp.intel.com ([10.5.215.135]) by fmsmga007.fm.intel.com with ESMTP; 23 Sep 2019 22:58:08 -0700 From: "Chiu, Chasel" To: devel@edk2.groups.io Cc: Hao A Wu , Eric Dong , Nate DeSimone , Liming Gao Subject: [edk2-devel] [PATCH] MdeModulePkg: Enable/Disable S3BootScript dynamically. Date: Tue, 24 Sep 2019 13:54:16 +0800 Message-Id: <20190924055416.16140-1-chasel.chiu@intel.com> Precedence: Bulk List-Unsubscribe: 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,chasel.chiu@intel.com X-Gm-Message-State: Ox79VHqvgQlaI0czFoTFtl8Ex1787277AA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1569304690; bh=1utfxZdjp/dQBcbKn8C9qvFIw2DlxW9IYTQSaudsPG0=; h=Cc:Date:From:Reply-To:Subject:To; b=JGJynehhAEtsE1EjOQRLR7Nrylp+OuptOaM2zRX13K5wKAvwdPZVAME2DfOf0ZGm1Cq w6SJ1QQZVS9IvBjdgPWyIxR29entnUUiC/S6DADDBCQx+WCv2FaOcw9pCst/LkStcANdp 4JnfBCfOw8GVJTsqoJXs2Udr9U5QxH22DBU= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D2212 Current S3BootScriptLib can only support build time opt-out but in binary model the same binary should support both enabling and disabling scenarios. To support this below PCD is expected to be used as DynamicPCD (or DynamicEx) to skip S3BootScript functions when PCD set to FALSE: gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiS3Enable Test: Verified on internal platform and S3BootScript functions can be skipped by PCD during boot time. Cc: Hao A Wu Cc: Eric Dong Cc: Nate DeSimone Cc: Liming Gao Signed-off-by: Chasel Chiu --- MdeModulePkg/Library/PiDxeS3BootScriptLib/BootScriptSave.c | 13 ++++= ++++++++- MdeModulePkg/Library/PiDxeS3BootScriptLib/DxeS3BootScriptLib.inf | 4 +++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/MdeModulePkg/Library/PiDxeS3BootScriptLib/BootScriptSave.c b/M= deModulePkg/Library/PiDxeS3BootScriptLib/BootScriptSave.c index c116727531..c5353119f7 100644 --- a/MdeModulePkg/Library/PiDxeS3BootScriptLib/BootScriptSave.c +++ b/MdeModulePkg/Library/PiDxeS3BootScriptLib/BootScriptSave.c @@ -1,7 +1,7 @@ /** @file Save the S3 data to S3 boot script. =20 - Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.
+ Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.
=20 SPDX-License-Identifier: BSD-2-Clause-Patent =20 @@ -124,6 +124,7 @@ VOID *mRegistrationSmmReady= ToLock =3D NULL; BOOLEAN mS3BootScriptTableAllocated =3D FALSE; BOOLEAN mS3BootScriptTableSmmAllocated =3D FALSE; EFI_SMM_SYSTEM_TABLE2 *mBootScriptSmst =3D NULL; +BOOLEAN mAcpiS3Enable =3D TRUE; =20 /** This is an internal function to add a terminate node the entry, recalcul= ate the table @@ -436,6 +437,11 @@ S3BootScriptLibInitialize ( BOOLEAN InSmm; EFI_PHYSICAL_ADDRESS Buffer; =20 + if (!PcdGetBool (PcdAcpiS3Enable)) { + mAcpiS3Enable =3D FALSE; + return RETURN_SUCCESS; + } + S3TablePtr =3D (SCRIPT_TABLE_PRIVATE_DATA*)(UINTN)PcdGet64(PcdS3BootScri= ptTablePrivateDataPtr); // // The Boot script private data is not be initialized. create it @@ -810,6 +816,11 @@ S3BootScriptGetEntryAddAddress ( { UINT8* NewEntryPtr; =20 + if (!mAcpiS3Enable) { + DEBUG ((DEBUG_INFO, "Skip S3BootScript because ACPI S3 disabled.\n")); + return NULL; + } + if (mS3BootScriptTablePtr->SmmLocked) { // // We need check InSmm, because after SmmReadyToLock, only SMM driver = is allowed to write boot script. diff --git a/MdeModulePkg/Library/PiDxeS3BootScriptLib/DxeS3BootScriptLib.i= nf b/MdeModulePkg/Library/PiDxeS3BootScriptLib/DxeS3BootScriptLib.inf index 517ea69568..fa139b03ff 100644 --- a/MdeModulePkg/Library/PiDxeS3BootScriptLib/DxeS3BootScriptLib.inf +++ b/MdeModulePkg/Library/PiDxeS3BootScriptLib/DxeS3BootScriptLib.inf @@ -1,7 +1,7 @@ ## @file # DXE S3 boot script Library. # -# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
+# Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.
# # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -65,4 +65,6 @@ ## SOMETIMES_PRODUCES gEfiMdeModulePkgTokenSpaceGuid.PcdS3BootScriptTablePrivateSmmDataPtr gEfiMdeModulePkgTokenSpaceGuid.PcdS3BootScriptRuntimeTableReservePageNum= ber ## CONSUMES + gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiS3Enable = ## CONSUMES + =20 --=20 2.13.3.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 (#47908): https://edk2.groups.io/g/devel/message/47908 Mute This Topic: https://groups.io/mt/34273353/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-