[edk2] [PATCH] MdeModulePkg PiSmmCore: Remove unreferenced symbol for SMRAM profile

Star Zeng posted 1 patch 7 years, 7 months ago
Failed in applying to current master (apply log)
MdeModulePkg/Core/PiSmmCore/SmramProfileRecord.c | 18 ++++++++----------
1 file changed, 8 insertions(+), 10 deletions(-)
[edk2] [PATCH] MdeModulePkg PiSmmCore: Remove unreferenced symbol for SMRAM profile
Posted by Star Zeng 7 years, 7 months ago
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=370

Use GLOBAL_REMOVE_IF_UNREFERENCED for some SMRAM profile global variables,
then their symbols could be removed when SMRAM profile is disabled.

Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Feng Tian <feng.tian@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
---
 MdeModulePkg/Core/PiSmmCore/SmramProfileRecord.c | 18 ++++++++----------
 1 file changed, 8 insertions(+), 10 deletions(-)

diff --git a/MdeModulePkg/Core/PiSmmCore/SmramProfileRecord.c b/MdeModulePkg/Core/PiSmmCore/SmramProfileRecord.c
index dda9f12a7dcd..410e0836fd16 100644
--- a/MdeModulePkg/Core/PiSmmCore/SmramProfileRecord.c
+++ b/MdeModulePkg/Core/PiSmmCore/SmramProfileRecord.c
@@ -1,7 +1,7 @@
 /** @file
   Support routines for SMRAM profile.
 
-  Copyright (c) 2014 - 2016, Intel Corporation. All rights reserved.<BR>
+  Copyright (c) 2014 - 2017, Intel Corporation. All rights reserved.<BR>
   This program and the accompanying materials
   are licensed and made available under the terms and conditions of the BSD License
   which accompanies this distribution.  The full text of the license may be found at
@@ -77,11 +77,11 @@ GLOBAL_REMOVE_IF_UNREFERENCED MEMORY_PROFILE_CONTEXT_DATA mSmramProfileContext =
 };
 GLOBAL_REMOVE_IF_UNREFERENCED MEMORY_PROFILE_CONTEXT_DATA *mSmramProfileContextPtr = NULL;
 
-BOOLEAN mSmramReadyToLock;
-BOOLEAN mSmramProfileGettingStatus = FALSE;
-BOOLEAN mSmramProfileRecordingEnable = MEMORY_PROFILE_RECORDING_DISABLE;
-EFI_DEVICE_PATH_PROTOCOL *mSmramProfileDriverPath;
-UINTN                    mSmramProfileDriverPathSize;
+GLOBAL_REMOVE_IF_UNREFERENCED BOOLEAN mSmramReadyToLock;
+GLOBAL_REMOVE_IF_UNREFERENCED BOOLEAN mSmramProfileGettingStatus = FALSE;
+GLOBAL_REMOVE_IF_UNREFERENCED BOOLEAN mSmramProfileRecordingEnable = MEMORY_PROFILE_RECORDING_DISABLE;
+GLOBAL_REMOVE_IF_UNREFERENCED EFI_DEVICE_PATH_PROTOCOL *mSmramProfileDriverPath;
+GLOBAL_REMOVE_IF_UNREFERENCED UINTN                    mSmramProfileDriverPathSize;
 
 /**
   Dump SMRAM infromation.
@@ -232,7 +232,7 @@ SmramProfileProtocolRecord (
   IN CHAR8                              *ActionString OPTIONAL
   );
 
-EDKII_SMM_MEMORY_PROFILE_PROTOCOL mSmmProfileProtocol = {
+GLOBAL_REMOVE_IF_UNREFERENCED EDKII_SMM_MEMORY_PROFILE_PROTOCOL mSmmProfileProtocol = {
   SmramProfileProtocolGetData,
   SmramProfileProtocolRegisterImage,
   SmramProfileProtocolUnregisterImage,
@@ -2630,7 +2630,7 @@ typedef struct {
   CHAR8                 *String;
 } ACTION_STRING;
 
-ACTION_STRING mExtActionString[] = {
+GLOBAL_REMOVE_IF_UNREFERENCED ACTION_STRING mExtActionString[] = {
   {MEMORY_PROFILE_ACTION_LIB_ALLOCATE_PAGES,                    "Lib:AllocatePages"},
   {MEMORY_PROFILE_ACTION_LIB_ALLOCATE_RUNTIME_PAGES,            "Lib:AllocateRuntimePages"},
   {MEMORY_PROFILE_ACTION_LIB_ALLOCATE_RESERVED_PAGES,           "Lib:AllocateReservedPages"},
@@ -2654,8 +2654,6 @@ ACTION_STRING mExtActionString[] = {
   {MEMORY_PROFILE_ACTION_LIB_REALLOCATE_RESERVED_POOL,          "Lib:ReallocateReservedPool"},
 };
 
-GLOBAL_REMOVE_IF_UNREFERENCED CHAR8 mUserDefinedActionString[] = {"UserDefined-0x80000000"};
-
 typedef struct {
   EFI_MEMORY_TYPE   MemoryType;
   CHAR8             *MemoryTypeStr;
-- 
2.7.0.windows.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH] MdeModulePkg PiSmmCore: Remove unreferenced symbol for SMRAM profile
Posted by Yao, Jiewen 7 years, 7 months ago
Reviewed-by: jiewen.yao@intel.com

> -----Original Message-----
> From: Zeng, Star
> Sent: Tuesday, March 14, 2017 5:12 PM
> To: edk2-devel@lists.01.org
> Cc: Zeng, Star <star.zeng@intel.com>; Yao, Jiewen <jiewen.yao@intel.com>; Tian,
> Feng <feng.tian@intel.com>
> Subject: [PATCH] MdeModulePkg PiSmmCore: Remove unreferenced symbol for
> SMRAM profile
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=370
> 
> Use GLOBAL_REMOVE_IF_UNREFERENCED for some SMRAM profile global
> variables,
> then their symbols could be removed when SMRAM profile is disabled.
> 
> Cc: Jiewen Yao <jiewen.yao@intel.com>
> Cc: Feng Tian <feng.tian@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Star Zeng <star.zeng@intel.com>
> ---
>  MdeModulePkg/Core/PiSmmCore/SmramProfileRecord.c | 18
> ++++++++----------
>  1 file changed, 8 insertions(+), 10 deletions(-)
> 
> diff --git a/MdeModulePkg/Core/PiSmmCore/SmramProfileRecord.c
> b/MdeModulePkg/Core/PiSmmCore/SmramProfileRecord.c
> index dda9f12a7dcd..410e0836fd16 100644
> --- a/MdeModulePkg/Core/PiSmmCore/SmramProfileRecord.c
> +++ b/MdeModulePkg/Core/PiSmmCore/SmramProfileRecord.c
> @@ -1,7 +1,7 @@
>  /** @file
>    Support routines for SMRAM profile.
> 
> -  Copyright (c) 2014 - 2016, Intel Corporation. All rights reserved.<BR>
> +  Copyright (c) 2014 - 2017, Intel Corporation. All rights reserved.<BR>
>    This program and the accompanying materials
>    are licensed and made available under the terms and conditions of the BSD
> License
>    which accompanies this distribution.  The full text of the license may be
> found at
> @@ -77,11 +77,11 @@ GLOBAL_REMOVE_IF_UNREFERENCED
> MEMORY_PROFILE_CONTEXT_DATA mSmramProfileContext =
>  };
>  GLOBAL_REMOVE_IF_UNREFERENCED MEMORY_PROFILE_CONTEXT_DATA
> *mSmramProfileContextPtr = NULL;
> 
> -BOOLEAN mSmramReadyToLock;
> -BOOLEAN mSmramProfileGettingStatus = FALSE;
> -BOOLEAN mSmramProfileRecordingEnable =
> MEMORY_PROFILE_RECORDING_DISABLE;
> -EFI_DEVICE_PATH_PROTOCOL *mSmramProfileDriverPath;
> -UINTN                    mSmramProfileDriverPathSize;
> +GLOBAL_REMOVE_IF_UNREFERENCED BOOLEAN mSmramReadyToLock;
> +GLOBAL_REMOVE_IF_UNREFERENCED BOOLEAN mSmramProfileGettingStatus
> = FALSE;
> +GLOBAL_REMOVE_IF_UNREFERENCED BOOLEAN
> mSmramProfileRecordingEnable = MEMORY_PROFILE_RECORDING_DISABLE;
> +GLOBAL_REMOVE_IF_UNREFERENCED EFI_DEVICE_PATH_PROTOCOL
> *mSmramProfileDriverPath;
> +GLOBAL_REMOVE_IF_UNREFERENCED UINTN
> mSmramProfileDriverPathSize;
> 
>  /**
>    Dump SMRAM infromation.
> @@ -232,7 +232,7 @@ SmramProfileProtocolRecord (
>    IN CHAR8                              *ActionString OPTIONAL
>    );
> 
> -EDKII_SMM_MEMORY_PROFILE_PROTOCOL mSmmProfileProtocol = {
> +GLOBAL_REMOVE_IF_UNREFERENCED
> EDKII_SMM_MEMORY_PROFILE_PROTOCOL mSmmProfileProtocol = {
>    SmramProfileProtocolGetData,
>    SmramProfileProtocolRegisterImage,
>    SmramProfileProtocolUnregisterImage,
> @@ -2630,7 +2630,7 @@ typedef struct {
>    CHAR8                 *String;
>  } ACTION_STRING;
> 
> -ACTION_STRING mExtActionString[] = {
> +GLOBAL_REMOVE_IF_UNREFERENCED ACTION_STRING mExtActionString[] = {
>    {MEMORY_PROFILE_ACTION_LIB_ALLOCATE_PAGES,
> "Lib:AllocatePages"},
>    {MEMORY_PROFILE_ACTION_LIB_ALLOCATE_RUNTIME_PAGES,
> "Lib:AllocateRuntimePages"},
>    {MEMORY_PROFILE_ACTION_LIB_ALLOCATE_RESERVED_PAGES,
> "Lib:AllocateReservedPages"},
> @@ -2654,8 +2654,6 @@ ACTION_STRING mExtActionString[] = {
>    {MEMORY_PROFILE_ACTION_LIB_REALLOCATE_RESERVED_POOL,
> "Lib:ReallocateReservedPool"},
>  };
> 
> -GLOBAL_REMOVE_IF_UNREFERENCED CHAR8 mUserDefinedActionString[] =
> {"UserDefined-0x80000000"};
> -
>  typedef struct {
>    EFI_MEMORY_TYPE   MemoryType;
>    CHAR8             *MemoryTypeStr;
> --
> 2.7.0.windows.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel