From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mx.groups.io with SMTP id smtpd.web11.7157.1576742284424667956 for ; Wed, 18 Dec 2019 23:58:04 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.120, mailfrom: michael.a.kubacki@intel.com) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 18 Dec 2019 23:58:03 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,330,1571727600"; d="scan'208";a="218406254" Received: from makuback-desk1.amr.corp.intel.com ([10.7.159.162]) by orsmga003.jf.intel.com with ESMTP; 18 Dec 2019 23:58:03 -0800 From: "Kubacki, Michael A" To: devel@edk2.groups.io Cc: Sai Chaganty , Chasel Chiu , Eric Dong , Liming Gao Subject: [edk2-platforms][PATCH V1 1/1] Features/Intel/AcpiDebugFeaturePkg: Add feature active PCD Date: Wed, 18 Dec 2019 23:57:48 -0800 Message-Id: <20191219075748.31380-1-michael.a.kubacki@intel.com> X-Mailer: git-send-email 2.16.2.windows.1 Adds a dynamic PCD that specifies whether the feature is active. This is useful because the feature might be enabled via FeatureFlag PCD PcdAcpiDebugFeatureEnable meaning it is built and included in the flash image but the board might need to control whether the feature is active based on input such as a Setup menu option. A deactivated feature will be dispatched but simply exit in the entry point. Cc: Sai Chaganty Cc: Chasel Chiu Cc: Eric Dong Cc: Liming Gao Signed-off-by: Michael Kubacki --- Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec | 14 +++++++++++++- Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf | 5 +++-- Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf | 5 +++-- Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebug.c | 4 ++++ Features/Intel/Debugging/AcpiDebugFeaturePkg/Readme.md | 1 + 5 files changed, 24 insertions(+), 5 deletions(-) diff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec index a74ee3e084..c3bd89fe2b 100644 --- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec +++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec @@ -34,6 +34,18 @@ gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugBufferSize|0x10000|UINT32|0xF0000001 [PcdsDynamic, PcdsDynamicEx] + ## This PCD specifies whether the feature is active. + # + # The PCD value can be modified at boot time to activate and deactivate the feature functionality. + # + # Note that this differs from PcdFeatureEnable which determines whether the feature is included + # as an advanced feature in the flash image. If enabled, the feature is then eligible to be activated/deactivated + # via this PCD. + # + # An enabled but deactivated feature will be dispatched but exit in its entry point without performing any + # feature actions. + gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureActive|TRUE|BOOLEAN|0xD0000001 + ## This PCD specifies ACPI debug message buffer address. # The PCD value will be updated during boot time when the buffer is allocated. - gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugAddress|0|UINT32|0xD0000001 + gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugAddress|0|UINT32|0xD0000002 diff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf index dfcee0a842..b293d83cd9 100644 --- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf +++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf @@ -35,8 +35,9 @@ Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec [Pcd] - gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugBufferSize ## CONSUMES - gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugAddress ## PRODUCES + gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureActive ## CONSUMES + gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugBufferSize ## CONSUMES + gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugAddress ## PRODUCES [Sources] AcpiDebug.c diff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf index 089bb57707..dbb33e4ae2 100644 --- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf +++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf @@ -36,8 +36,9 @@ Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec [Pcd] - gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugBufferSize ## CONSUMES - gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugAddress ## PRODUCES + gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureActive ## CONSUMES + gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugBufferSize ## CONSUMES + gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugAddress ## PRODUCES [Sources] AcpiDebug.c diff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebug.c b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebug.c index 42428d8005..4caeffc7de 100644 --- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebug.c +++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebug.c @@ -289,6 +289,10 @@ InitializeAcpiDebugDxe ( EFI_STATUS Status; EFI_EVENT EndOfDxeEvent; + if (!PcdGetBool (PcdAcpiDebugFeatureActive)) { + return EFI_SUCCESS; + } + // // Register EndOfDxe notification // that point could ensure the Acpi Debug related PCDs initialized. diff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Readme.md b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Readme.md index bc0dce9348..bbd7675c11 100644 --- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Readme.md +++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Readme.md @@ -78,6 +78,7 @@ instance assigned to `AcpiDebugSmm`. ## Configuration * PcdAcpiDebugEnable - Enables this feature. +* PcdAcpiDebugFeatureActive - Activates this feature. * PcdAcpiDebugAddress - The address of the ACPI debug message buffer. * PcdAcpiDebugBufferSize - The size of the ACPI debug message buffer. -- 2.16.2.windows.1