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

Marvin Häuser mhaeuser at posteo.de
Sun Aug 8 19:39:43 UTC 2021


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 (#78885): https://edk2.groups.io/g/devel/message/78885
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