Good point, I am ok to update the package version. About package GUID, I never saw it has been changed since the package been created, I will leave it as is.
-----Original Message----- From: Carsey, Jaben [mailto:jaben.car...@intel.com] Sent: Friday, June 26, 2015 1:48 AM To: edk2-devel@lists.sourceforge.net Subject: Re: [edk2] [PATCH 06/20] SecurityPkg VariableInfo: Delete it. Since removing a module is non-backwards compatible change to the package, shouldn't you change the package GUID (and the version)? -Jaben > -----Original Message----- > From: Star Zeng [mailto:star.z...@intel.com] > Sent: Thursday, June 25, 2015 2:46 AM > To: edk2-devel@lists.sourceforge.net > Subject: [edk2] [PATCH 06/20] SecurityPkg VariableInfo: Delete it. > Importance: High > > What to do: > 1. Delete VariableInfo in SecurityPkg after it merged to VariableInfo > in MdeModulePkg. > > Why to do: > 1. Remove code duplication and reduce maintenance effort. > The functionality of VariableInfo in SecurityPkg has covered > VariableInfo in MdeModulePkg. > > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Star Zeng <star.z...@intel.com> > Reviewed-by: Jiewen Yao <jiewen....@intel.com> > Reviewed-by: Liming Gao <liming....@intel.com> > --- > .../Application/VariableInfo/VariableInfo.c | 265 > --------------------- > .../Application/VariableInfo/VariableInfo.inf | 63 ----- > .../Application/VariableInfo/VariableInfo.uni | Bin 2902 -> 0 bytes > .../Application/VariableInfo/VariableInfoExtra.uni | Bin 1360 -> 0 bytes > SecurityPkg/SecurityPkg.dsc | 1 - > 5 files changed, 329 deletions(-) > delete mode 100644 > SecurityPkg/Application/VariableInfo/VariableInfo.c > delete mode 100644 > SecurityPkg/Application/VariableInfo/VariableInfo.inf > delete mode 100644 > SecurityPkg/Application/VariableInfo/VariableInfo.uni > delete mode 100644 > SecurityPkg/Application/VariableInfo/VariableInfoExtra.uni > > diff --git a/SecurityPkg/Application/VariableInfo/VariableInfo.c > b/SecurityPkg/Application/VariableInfo/VariableInfo.c > deleted file mode 100644 > index 0c1ee4b..0000000 > --- a/SecurityPkg/Application/VariableInfo/VariableInfo.c > +++ /dev/null > @@ -1,265 +0,0 @@ > -/** @file > - If the Variable services have PcdVariableCollectStatistics set to > TRUE then > - this utility will print out the statistics information. You can use > console > - redirection to capture the data. > - > -Copyright (c) 2009 - 2011, 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 > -http://opensource.org/licenses/bsd-license.php > - > -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" > BASIS, > -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR > IMPLIED. > - > -**/ > - > -#include <Uefi.h> > -#include <Library/UefiLib.h> > -#include <Library/UefiApplicationEntryPoint.h> > -#include <Library/BaseMemoryLib.h> > - > -#include <Library/BaseLib.h> > -#include <Library/MemoryAllocationLib.h> -#include > <Library/DebugLib.h> -#include <Library/UefiBootServicesTableLib.h> > - > -#include <Guid/AuthenticatedVariableFormat.h> > -#include <Guid/SmmVariableCommon.h> > -#include <Protocol/SmmCommunication.h> -#include > <Protocol/SmmVariable.h> > - > -extern EFI_GUID gEfiVariableGuid; > -EFI_SMM_COMMUNICATION_PROTOCOL *mSmmCommunication = NULL; > - > -/** > - > - This function get the variable statistics data from SMM variable driver. > - > - @param[in, out] SmmCommunicateHeader In input, a pointer to a > collection of data that will > - be passed into an SMM environment. In > output, a > pointer > - to a collection of data that comes > from an SMM > environment. > - @param[in, out] SmmCommunicateSize The size of the > SmmCommunicateHeader. > - > - @retval EFI_SUCCESS Get the statistics data information. > - @retval EFI_NOT_FOUND Not found. > - @retval EFI_BUFFER_TO_SMALL DataSize is too small for the result. > - > -**/ > -EFI_STATUS > -EFIAPI > -GetVariableStatisticsData ( > - IN OUT EFI_SMM_COMMUNICATE_HEADER *SmmCommunicateHeader, > - IN OUT UINTN *SmmCommunicateSize > - ) > -{ > - EFI_STATUS Status; > - SMM_VARIABLE_COMMUNICATE_HEADER > *SmmVariableFunctionHeader; > - > - CopyGuid (&SmmCommunicateHeader->HeaderGuid, > &gEfiSmmVariableProtocolGuid); > - SmmCommunicateHeader->MessageLength = *SmmCommunicateSize - > OFFSET_OF (EFI_SMM_COMMUNICATE_HEADER, Data); > - > - SmmVariableFunctionHeader = > (SMM_VARIABLE_COMMUNICATE_HEADER *) &SmmCommunicateHeader- > >Data[0]; > - SmmVariableFunctionHeader->Function = > SMM_VARIABLE_FUNCTION_GET_STATISTICS; > - > - Status = mSmmCommunication->Communicate (mSmmCommunication, > SmmCommunicateHeader, SmmCommunicateSize); > - ASSERT_EFI_ERROR (Status); > - > - Status = SmmVariableFunctionHeader->ReturnStatus; > - return Status; > -} > - > - > -/** > - > - This function get and print the variable statistics data from SMM > variable driver. > - > - @retval EFI_SUCCESS Print the statistics information > successfully. > - @retval EFI_NOT_FOUND Not found the statistics information. > - > -**/ > -EFI_STATUS > -PrintInfoFromSmm ( > - VOID > - ) > -{ > - EFI_STATUS Status; > - VARIABLE_INFO_ENTRY *VariableInfo; > - EFI_SMM_COMMUNICATE_HEADER *CommBuffer; > - UINTN RealCommSize; > - UINTN CommSize; > - SMM_VARIABLE_COMMUNICATE_HEADER *FunctionHeader; > - EFI_SMM_VARIABLE_PROTOCOL *Smmvariable; > - > - > - Status = gBS->LocateProtocol (&gEfiSmmVariableProtocolGuid, NULL, > (VOID **) &Smmvariable); > - if (EFI_ERROR (Status)) { > - return Status; > - } > - > - Status = gBS->LocateProtocol (&gEfiSmmCommunicationProtocolGuid, > NULL, (VOID **) &mSmmCommunication); > - if (EFI_ERROR (Status)) { > - return Status; > - } > - > - CommSize = SMM_COMMUNICATE_HEADER_SIZE + > SMM_VARIABLE_COMMUNICATE_HEADER_SIZE; > - RealCommSize = CommSize; > - CommBuffer = AllocateZeroPool (CommSize); > - ASSERT (CommBuffer != NULL); > - > - Print (L"Non-Volatile SMM Variables:\n"); > - do { > - Status = GetVariableStatisticsData (CommBuffer, &CommSize); > - if (Status == EFI_BUFFER_TOO_SMALL) { > - FreePool (CommBuffer); > - CommBuffer = AllocateZeroPool (CommSize); > - ASSERT (CommBuffer != NULL); > - RealCommSize = CommSize; > - Status = GetVariableStatisticsData (CommBuffer, &CommSize); > - } > - > - if (EFI_ERROR (Status) || (CommSize <= > SMM_COMMUNICATE_HEADER_SIZE + > SMM_VARIABLE_COMMUNICATE_HEADER_SIZE)) { > - break; > - } > - > - if (CommSize < RealCommSize) { > - CommSize = RealCommSize; > - } > - > - FunctionHeader = (SMM_VARIABLE_COMMUNICATE_HEADER *) > CommBuffer->Data; > - VariableInfo = (VARIABLE_INFO_ENTRY *) FunctionHeader->Data; > - > - if (!VariableInfo->Volatile) { > - Print ( > - L"%g R%03d(%03d) W%03d D%03d:%s\n", > - &VariableInfo->VendorGuid, > - VariableInfo->ReadCount, > - VariableInfo->CacheCount, > - VariableInfo->WriteCount, > - VariableInfo->DeleteCount, > - (CHAR16 *)(VariableInfo + 1) > - ); > - } > - } while (TRUE); > - > - Print (L"Volatile SMM Variables:\n"); > - ZeroMem (CommBuffer, CommSize); > - do { > - Status = GetVariableStatisticsData (CommBuffer, &CommSize); > - if (Status == EFI_BUFFER_TOO_SMALL) { > - FreePool (CommBuffer); > - CommBuffer = AllocateZeroPool (CommSize); > - ASSERT (CommBuffer != NULL); > - RealCommSize = CommSize; > - Status = GetVariableStatisticsData (CommBuffer, &CommSize); > - } > - > - if (EFI_ERROR (Status) || (CommSize <= > SMM_COMMUNICATE_HEADER_SIZE + > SMM_VARIABLE_COMMUNICATE_HEADER_SIZE)) { > - break; > - } > - > - if (CommSize < RealCommSize) { > - CommSize = RealCommSize; > - } > - > - FunctionHeader = (SMM_VARIABLE_COMMUNICATE_HEADER *) > CommBuffer->Data; > - VariableInfo = (VARIABLE_INFO_ENTRY *) FunctionHeader->Data; > - > - if (VariableInfo->Volatile) { > - Print ( > - L"%g R%03d(%03d) W%03d D%03d:%s\n", > - &VariableInfo->VendorGuid, > - VariableInfo->ReadCount, > - VariableInfo->CacheCount, > - VariableInfo->WriteCount, > - VariableInfo->DeleteCount, > - (CHAR16 *)(VariableInfo + 1) > - ); > - } > - } while (TRUE); > - > - FreePool (CommBuffer); > - return Status; > -} > - > -/** > - The user Entry Point for Application. The user code starts with > this function > - as the real entry point for the image goes into a library that > calls this > - function. > - > - @param[in] ImageHandle The firmware allocated handle for the EFI > image. > - @param[in] SystemTable A pointer to the EFI System Table. > - > - @retval EFI_SUCCESS The entry point is executed successfully. > - @retval other Some error occurs when executing this entry > point. > - > -**/ > -EFI_STATUS > -EFIAPI > -UefiMain ( > - IN EFI_HANDLE ImageHandle, > - IN EFI_SYSTEM_TABLE *SystemTable > - ) > -{ > - EFI_STATUS Status; > - VARIABLE_INFO_ENTRY *VariableInfo; > - VARIABLE_INFO_ENTRY *Entry; > - > - Status = EfiGetSystemConfigurationTable (&gEfiVariableGuid, (VOID > **)&Entry); > - if (EFI_ERROR (Status) || (Entry == NULL)) { > - Status = EfiGetSystemConfigurationTable > (&gEfiAuthenticatedVariableGuid, (VOID **)&Entry); > - } > - > - if (EFI_ERROR (Status) || (Entry == NULL)) { > - Status = PrintInfoFromSmm (); > - if (!EFI_ERROR (Status)) { > - return Status; > - } > - } > - > - if (!EFI_ERROR (Status) && (Entry != NULL)) { > - Print (L"Non-Volatile EFI Variables:\n"); > - VariableInfo = Entry; > - do { > - if (!VariableInfo->Volatile) { > - Print ( > - L"%g R%03d(%03d) W%03d D%03d:%s\n", > - &VariableInfo->VendorGuid, > - VariableInfo->ReadCount, > - VariableInfo->CacheCount, > - VariableInfo->WriteCount, > - VariableInfo->DeleteCount, > - VariableInfo->Name > - ); > - } > - > - VariableInfo = VariableInfo->Next; > - } while (VariableInfo != NULL); > - > - Print (L"Volatile EFI Variables:\n"); > - VariableInfo = Entry; > - do { > - if (VariableInfo->Volatile) { > - Print ( > - L"%g R%03d(%03d) W%03d D%03d:%s\n", > - &VariableInfo->VendorGuid, > - VariableInfo->ReadCount, > - VariableInfo->CacheCount, > - VariableInfo->WriteCount, > - VariableInfo->DeleteCount, > - VariableInfo->Name > - ); > - } > - VariableInfo = VariableInfo->Next; > - } while (VariableInfo != NULL); > - > - } else { > - Print (L"Warning: Variable Dxe driver doesn't enable the feature of > statistical information!\n"); > - Print (L"If you want to see this info, please:\n"); > - Print (L" 1. Set PcdVariableCollectStatistics as TRUE\n"); > - Print (L" 2. Rebuild Variable Dxe driver\n"); > - Print (L" 3. Run \"VariableInfo\" cmd again\n"); > - } > - > - return Status; > -} > diff --git a/SecurityPkg/Application/VariableInfo/VariableInfo.inf > b/SecurityPkg/Application/VariableInfo/VariableInfo.inf > deleted file mode 100644 > index d4a771a..0000000 > --- a/SecurityPkg/Application/VariableInfo/VariableInfo.inf > +++ /dev/null > @@ -1,63 +0,0 @@ > -## @file > -# A shell application that displays statistical information about > variable usage -# -# This application can display statistical > information about variable usage for SMM variable -# driver and > non-SMM variable driver. > -# Note that if Variable Dxe driver doesn't enable the feature by > setting PcdVariableCollectStatistics -# as TRUE, the application will > not display variable statistical information. > -# > -# Copyright (c) 2009 - 2014, 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 -# > http://opensource.org/licenses/bsd-license.php > -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" > BASIS, > -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS > OR IMPLIED. > -# > -## > - > -[Defines] > - INF_VERSION = 0x00010005 > - BASE_NAME = VariableInfo > - MODULE_UNI_FILE = VariableInfo.uni > - FILE_GUID = B9EF901F-A2A2-4fc8-8D2B-3A2E07B301CC > - MODULE_TYPE = UEFI_APPLICATION > - VERSION_STRING = 1.0 > - ENTRY_POINT = UefiMain > - > -# > -# The following information is for reference only and not required by > the build tools. > -# > -# VALID_ARCHITECTURES = IA32 X64 IPF EBC > -# > - > -[Sources] > - VariableInfo.c > - > - > -[Packages] > - MdePkg/MdePkg.dec > - MdeModulePkg/MdeModulePkg.dec > - SecurityPkg/SecurityPkg.dec > - > -[LibraryClasses] > - UefiApplicationEntryPoint > - UefiLib > - UefiBootServicesTableLib > - BaseMemoryLib > - MemoryAllocationLib > - > -[Protocols] > - gEfiSmmCommunicationProtocolGuid ## SOMETIMES_CONSUMES > - > - ## UNDEFINED # Used to do smm communication > - ## SOMETIMES_CONSUMES > - gEfiSmmVariableProtocolGuid > - > -[Guids] > - gEfiAuthenticatedVariableGuid ## SOMETIMES_CONSUMES ## > SystemTable > - gEfiVariableGuid ## CONSUMES ## > SystemTable > - > -[UserExtensions.TianoCore."ExtraFiles"] > - VariableInfoExtra.uni > - > \ No newline at end of file > diff --git a/SecurityPkg/Application/VariableInfo/VariableInfo.uni > b/SecurityPkg/Application/VariableInfo/VariableInfo.uni > deleted file mode 100644 > index > e2f214b6150a43fb3ea329d33e48474a7d29d8fc..0000000000000000000000000 > 000000000000000 > GIT binary patch > literal 0 > HcmV?d00001 > > literal 2902 > zcmdUxTW=FV42AuS#D5sI4_wqHfOr8RL`nlhKvJa%El*W$Z6l>kwAu9X=Yj8dl1 > wf{ > z&<CWV)$YuCJofRiJ-a`D6s>51`zcqjcXn!h8(7aC+5@CoD{+tQ9NB;?Sj$FS1N1t~ > zbH<@vBG1v$d$2CDvFo(#mYMeFQ(evCPTA_S^OXIWT`bvZSsUrZtzEH_p(&Y > =1>|Gi > z&K6K6v<*<m`(~U%ExgMp{~g9KjWF1uedP+a8c{;u^+>OXEb|C1K^Z_RhIcpaS > 1e*E > z?kg<huFB5bIZN5;gD2RxHCFfS#x)mh$?_2C82^tv8$D(z6SAs|obpueC*aU~o4 > kwB > z9x~<ol57P#pklgfp5Nm^mDOW4C&txE885`s^2|1@ZcQuO4mM{9HdW;{- > ecX0#r5i3 > z&&FLVA@QB^sF+4@psbw1k^DX;z9)<?>>1Z9X1mk3=l0TLslb!6rOuFr3>$i;E- > SE7 > zn#PlCtJ=l8_|Civx>m3^wg*pd=j<hPsYgcW4?!p&7g$kesNxc<9Z(Nh8~NJpJeR > Rw > z<xibCz<08*epMC3GeQ+3WU@Q6uiahOX?Zs&N2#hNjw1HJ42gKrDG@t6q7* > XC`rwVH > zkXDCY-?M#tRMbAwFKBeI5wRq!*M44fcnaNew0- > ntQMTfl63>j>qi*~86#XhM4YXn} > zOr{wU<{NgeVp`@U_}Qm^X;1g- > <ckq1^9if!C?^xI{bW{!#dxHjd2|J$&&X$Sh5Ip* > zHnDW6xn=JKtekTvFAe)dZ>d}BR<n;hOMYrqU^2j^Ms;9?`f4&OJHJh<GM15xi > D)5l > zU!k7MXdJrb8Z*_go?DEvE2~?Kd;YGsodrxstjlW6Jq9~MtM16E$SYWtjhcI}^Cs > +) > z$!7yy>Bwu;`hc#ye`oy6ijeCpDNnt`D9Uy`x09?_;NpO4lFxm*Y{uJc4E`l8x?D2d > z+b|z%CZ2<lzY{Fgu+hX?*- > k(tzQk+^wi@8sbZvXL$kv3K)psy>CG28LNX4m6vHSVW > z-kNjscf6>o4q- > $UcQDW7@3{FhFY3|%?eAdu>z>ZgyZ#jf>ijN$1IO^b>ia(Y4Tym; > L$nM);K&tCs^3CL< > > diff --git > a/SecurityPkg/Application/VariableInfo/VariableInfoExtra.uni > b/SecurityPkg/Application/VariableInfo/VariableInfoExtra.uni > deleted file mode 100644 > index > b7fd354c459bbe399b3f4476ac90e64ffd83ec19..00000000000000000000000000 > 00000000000000 > GIT binary patch > literal 0 > HcmV?d00001 > > literal 1360 > zcmZ9MTW=Ck6ovP*iT`0zU(~eV?a3G;*ik3e4xwQ6iEt~Ogfe8HRs8YlxAvI}5W> > 0a > z%i8O#v(Nnd+qSkv{GaoS?1SA{W=osfV|#>EzV9}+0_)f&?n!J#RF3C@af*G3_Y > XNU > zY*)7R=#?#O!+uP(>>r6;;hXzdp;vS8uWjeK3%eyUvZtUwV}4~X?4`YCbyn}**eP > pq > z5$2M$DipT%af~(diY+`H{EE;i0=AeH<ZbvD_P{u^mc6sC_3eFq_J- > X6Mwy>yO?(bY > z!O8AGsm`}0V($AXtaE&8_wC4&77- > S)Qax$81g*iB!pfGCQ&uZyCfzE0WzWhA53F@d > z)r~}UPlmh&85NUI>&{tMC}O6_tky?L<lJYI*X0h+*<T!RX}JD!EvAfOcX- > +i4nh=% > zpqFZG*z432c<$eeRMn|(u!kEG=ikH}b2`)|Xt^V5Qs(ES0%Ek?(^Y- > 6<tE;GFXya+ > zwu&!Y=@zFixS#fs_8Tk{n9u0B!|E+iZuvKg4D5@=u<6k~seNYb*f;hGN=9g@d > 4M&c > zzlN-0*LP@_%rW)|TR>>EPw3~Eh$}}<S*edTo-hkns3*)_- > )nce$LSisP*blM*)>sp > zXLgA_0aX~OSMReEciB{PK&)a^HAH<PR@Hwpf5ju_dVg_QC7dF*A2m*co}fj > KZc@#2 > zURkAEHAnvKX}evvCw0GscN4T5mFo6D>DMP1ft`Xn1V6SByrjJDA|UCF2<4u6; > k}~! > oKO<iJ6eBg&mFh%&OZ5K2JJstu{`Q40PWbwD=z%r)LaF}$0qSPb+yDRo > > diff --git a/SecurityPkg/SecurityPkg.dsc b/SecurityPkg/SecurityPkg.dsc > index 35a7a51..f484bf8 100644 > --- a/SecurityPkg/SecurityPkg.dsc > +++ b/SecurityPkg/SecurityPkg.dsc > @@ -136,7 +136,6 @@ > # > # Application > # > - SecurityPkg/Application/VariableInfo/VariableInfo.inf > SecurityPkg/Application/RngTest/RngTest.inf > > # > -- > 1.9.5.msysgit.0 > > > ---------------------------------------------------------------------- > -------- Monitor 25 network devices or servers for free with > OpManager! > OpManager is web-based network management software that monitors > network devices and physical & virtual servers, alerts via email & sms > for fault. Monitor 25 devices for free with no restriction. Download > now http://ad.doubleclick.net/ddm/clk/292181274;119417398;o > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/edk2-devel ------------------------------------------------------------------------------ Monitor 25 network devices or servers for free with OpManager! OpManager is web-based network management software that monitors network devices and physical & virtual servers, alerts via email & sms for fault. Monitor 25 devices for free with no restriction. Download now http://ad.doubleclick.net/ddm/clk/292181274;119417398;o _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel ------------------------------------------------------------------------------ Monitor 25 network devices or servers for free with OpManager! OpManager is web-based network management software that monitors network devices and physical & virtual servers, alerts via email & sms for fault. Monitor 25 devices for free with no restriction. Download now http://ad.doubleclick.net/ddm/clk/292181274;119417398;o _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel