[edk2-devel] [PATCH] MdeModulePkg/PiSmmCore: Drop deprecated image profiling commands

Yao, Jiewen jiewen.yao at intel.com
Mon Aug 9 05:33:04 UTC 2021


Can we define 3 and 4 to be "reserved and do not use", instead of removed ?
-#define SMRAM_PROFILE_COMMAND_REGISTER_IMAGE             0x3
-#define SMRAM_PROFILE_COMMAND_UNREGISTER_IMAGE           0x4

For example:
Command 0x3 and 0x4 are deprecated and reserved. They should not be used in the future.

With that changed, reviewed-by: Jiewen Yao <Jiewen.yao at intel.com>


> -----Original Message-----
> From: Ni, Ray <ray.ni at intel.com>
> Sent: Monday, August 9, 2021 12:24 PM
> To: mhaeuser at posteo.de; devel at edk2.groups.io
> Cc: Wang, Jian J <jian.j.wang at intel.com>; Wu, Hao A <hao.a.wu at intel.com>;
> Dong, Eric <eric.dong at intel.com>; Vitaly Cheptsov <vit9696 at protonmail.com>;
> Zeng, Star <star.zeng at intel.com>; Yao, Jiewen <jiewen.yao at intel.com>
> Subject: RE: [PATCH] MdeModulePkg/PiSmmCore: Drop deprecated image
> profiling commands
> 
> Reviewed-by: Ray Ni <ray.ni at intel.com>
> 
> +Star and Jiewen for confirmation.
> 
> -----Original Message-----
> From: Marvin Häuser <mhaeuser at posteo.de>
> Sent: Monday, August 9, 2021 3:40 AM
> To: devel at edk2.groups.io
> Cc: Wang, Jian J <jian.j.wang at intel.com>; Wu, Hao A <hao.a.wu at intel.com>;
> Dong, Eric <eric.dong at intel.com>; Ni, Ray <ray.ni at intel.com>; Vitaly Cheptsov
> <vit9696 at protonmail.com>
> Subject: [PATCH] MdeModulePkg/PiSmmCore: Drop deprecated image profiling
> commands
> 
> The legacy codebase allowed SMM images to be registered for profiling
> from DXE. Support for this has been dropped entirely, so remove the
> remaining handlers.
> 
> Cc: Jian J Wang <jian.j.wang at intel.com>
> Cc: Hao A Wu <hao.a.wu at intel.com>
> Cc: Eric Dong <eric.dong at intel.com>
> Cc: Ray Ni <ray.ni at intel.com>
> Cc: Vitaly Cheptsov <vit9696 at protonmail.com>
> Signed-off-by: Marvin Häuser <mhaeuser at posteo.de>
> ---
>  MdeModulePkg/Core/PiSmmCore/SmramProfileRecord.c | 80 --------------------
>  MdeModulePkg/Include/Guid/MemoryProfile.h        |  5 --
>  2 files changed, 85 deletions(-)
> 
> diff --git a/MdeModulePkg/Core/PiSmmCore/SmramProfileRecord.c
> b/MdeModulePkg/Core/PiSmmCore/SmramProfileRecord.c
> index 1b302c810cc9..7316df7531fd 100644
> --- a/MdeModulePkg/Core/PiSmmCore/SmramProfileRecord.c
> +++ b/MdeModulePkg/Core/PiSmmCore/SmramProfileRecord.c
> @@ -2232,64 +2232,6 @@ Done:
>    mSmramProfileGettingStatus = SmramProfileGettingStatus;
> 
>  }
> 
> 
> 
> -/**
> 
> -  SMRAM profile handler to register SMM image.
> 
> -
> 
> -  @param SmramProfileParameterRegisterImage The parameter of SMM
> profile register image.
> 
> -
> 
> -**/
> 
> -VOID
> 
> -SmramProfileHandlerRegisterImage (
> 
> -  IN SMRAM_PROFILE_PARAMETER_REGISTER_IMAGE
> *SmramProfileParameterRegisterImage
> 
> -  )
> 
> -{
> 
> -  EFI_STATUS                        Status;
> 
> -  EFI_SMM_DRIVER_ENTRY              DriverEntry;
> 
> -  VOID                              *EntryPointInImage;
> 
> -
> 
> -  ZeroMem (&DriverEntry, sizeof (DriverEntry));
> 
> -  CopyMem (&DriverEntry.FileName, &SmramProfileParameterRegisterImage-
> >FileName, sizeof(EFI_GUID));
> 
> -  DriverEntry.ImageBuffer = SmramProfileParameterRegisterImage-
> >ImageBuffer;
> 
> -  DriverEntry.NumberOfPage = (UINTN) SmramProfileParameterRegisterImage-
> >NumberOfPage;
> 
> -  Status = InternalPeCoffGetEntryPoint ((VOID *) (UINTN)
> DriverEntry.ImageBuffer, &EntryPointInImage);
> 
> -  ASSERT_EFI_ERROR (Status);
> 
> -  DriverEntry.ImageEntryPoint = (PHYSICAL_ADDRESS) (UINTN)
> EntryPointInImage;
> 
> -
> 
> -  Status = RegisterSmramProfileImage (&DriverEntry, FALSE);
> 
> -  if (!EFI_ERROR (Status)) {
> 
> -    SmramProfileParameterRegisterImage->Header.ReturnStatus = 0;
> 
> -  }
> 
> -}
> 
> -
> 
> -/**
> 
> -  SMRAM profile handler to unregister SMM image.
> 
> -
> 
> -  @param SmramProfileParameterUnregisterImage The parameter of SMM
> profile unregister image.
> 
> -
> 
> -**/
> 
> -VOID
> 
> -SmramProfileHandlerUnregisterImage (
> 
> -  IN SMRAM_PROFILE_PARAMETER_UNREGISTER_IMAGE
> *SmramProfileParameterUnregisterImage
> 
> -  )
> 
> -{
> 
> -  EFI_STATUS                        Status;
> 
> -  EFI_SMM_DRIVER_ENTRY              DriverEntry;
> 
> -  VOID                              *EntryPointInImage;
> 
> -
> 
> -  ZeroMem (&DriverEntry, sizeof (DriverEntry));
> 
> -  CopyMem (&DriverEntry.FileName,
> &SmramProfileParameterUnregisterImage->FileName, sizeof (EFI_GUID));
> 
> -  DriverEntry.ImageBuffer = SmramProfileParameterUnregisterImage-
> >ImageBuffer;
> 
> -  DriverEntry.NumberOfPage = (UINTN)
> SmramProfileParameterUnregisterImage->NumberOfPage;
> 
> -  Status = InternalPeCoffGetEntryPoint ((VOID *) (UINTN)
> DriverEntry.ImageBuffer, &EntryPointInImage);
> 
> -  ASSERT_EFI_ERROR (Status);
> 
> -  DriverEntry.ImageEntryPoint = (PHYSICAL_ADDRESS) (UINTN)
> EntryPointInImage;
> 
> -
> 
> -  Status = UnregisterSmramProfileImage (&DriverEntry, FALSE);
> 
> -  if (!EFI_ERROR (Status)) {
> 
> -    SmramProfileParameterUnregisterImage->Header.ReturnStatus = 0;
> 
> -  }
> 
> -}
> 
> -
> 
>  /**
> 
>    Dispatch function for a Software SMI handler.
> 
> 
> 
> @@ -2374,28 +2316,6 @@ SmramProfileHandler (
>      }
> 
>      SmramProfileHandlerGetDataByOffset
> ((SMRAM_PROFILE_PARAMETER_GET_PROFILE_DATA_BY_OFFSET *) (UINTN)
> CommBuffer);
> 
>      break;
> 
> -  case SMRAM_PROFILE_COMMAND_REGISTER_IMAGE:
> 
> -    DEBUG ((EFI_D_ERROR, "SmramProfileHandlerRegisterImage\n"));
> 
> -    if (TempCommBufferSize != sizeof
> (SMRAM_PROFILE_PARAMETER_REGISTER_IMAGE)) {
> 
> -      DEBUG ((EFI_D_ERROR, "SmramProfileHandler: SMM communication buffer
> size invalid!\n"));
> 
> -      return EFI_SUCCESS;
> 
> -    }
> 
> -    if (mSmramReadyToLock) {
> 
> -      return EFI_SUCCESS;
> 
> -    }
> 
> -    SmramProfileHandlerRegisterImage
> ((SMRAM_PROFILE_PARAMETER_REGISTER_IMAGE *) (UINTN) CommBuffer);
> 
> -    break;
> 
> -  case SMRAM_PROFILE_COMMAND_UNREGISTER_IMAGE:
> 
> -    DEBUG ((EFI_D_ERROR, "SmramProfileHandlerUnregisterImage\n"));
> 
> -    if (TempCommBufferSize != sizeof
> (SMRAM_PROFILE_PARAMETER_UNREGISTER_IMAGE)) {
> 
> -      DEBUG ((EFI_D_ERROR, "SmramProfileHandler: SMM communication buffer
> size invalid!\n"));
> 
> -      return EFI_SUCCESS;
> 
> -    }
> 
> -    if (mSmramReadyToLock) {
> 
> -      return EFI_SUCCESS;
> 
> -    }
> 
> -    SmramProfileHandlerUnregisterImage
> ((SMRAM_PROFILE_PARAMETER_UNREGISTER_IMAGE *) (UINTN) CommBuffer);
> 
> -    break;
> 
>    case SMRAM_PROFILE_COMMAND_GET_RECORDING_STATE:
> 
>      DEBUG ((EFI_D_ERROR, "SmramProfileHandlerGetRecordingState\n"));
> 
>      if (TempCommBufferSize != sizeof
> (SMRAM_PROFILE_PARAMETER_RECORDING_STATE)) {
> 
> diff --git a/MdeModulePkg/Include/Guid/MemoryProfile.h
> b/MdeModulePkg/Include/Guid/MemoryProfile.h
> index eee3b9125240..92cd1e7cf493 100644
> --- a/MdeModulePkg/Include/Guid/MemoryProfile.h
> +++ b/MdeModulePkg/Include/Guid/MemoryProfile.h
> @@ -388,11 +388,6 @@ struct _EDKII_MEMORY_PROFILE_PROTOCOL {
>  //
> 
>  #define SMRAM_PROFILE_COMMAND_GET_PROFILE_INFO           0x1
> 
>  #define SMRAM_PROFILE_COMMAND_GET_PROFILE_DATA           0x2
> 
> -//
> 
> -// Below 2 commands are now used by ECP only and only valid before
> SmmReadyToLock
> 
> -//
> 
> -#define SMRAM_PROFILE_COMMAND_REGISTER_IMAGE             0x3
> 
> -#define SMRAM_PROFILE_COMMAND_UNREGISTER_IMAGE           0x4
> 
> 
> 
>  #define SMRAM_PROFILE_COMMAND_GET_PROFILE_DATA_BY_OFFSET 0x5
> 
>  #define SMRAM_PROFILE_COMMAND_GET_RECORDING_STATE        0x6
> 
> --
> 2.31.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#78918): https://edk2.groups.io/g/devel/message/78918
Mute This Topic: https://groups.io/mt/84754058/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-






More information about the edk2-devel-archive mailing list