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

Marvin Häuser mhaeuser at posteo.de
Mon Aug 9 05:43:02 UTC 2021


Hey Jiewen,

Good point, sure. Will probably add ASSERTs as well, if that is fine 
with you.

Best regards,
Marvin

On 09/08/2021 07:33, Yao, Jiewen wrote:
> 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 (#78920): https://edk2.groups.io/g/devel/message/78920
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