[edk2-devel] [PATCH v2 1/1] MdeModulePkg/PiSmmCore: Drop deprecated image profiling commands
Ni, Ray
ray.ni at intel.com
Tue Aug 10 02:45:05 UTC 2021
Thank you very much!!
Reviewed-by: Ray Ni <ray.ni at intel.com>
I will merge your patches after stable tag release.
> -----Original Message-----
> From: devel at edk2.groups.io <devel at edk2.groups.io> On Behalf Of Marvin Häuser
> Sent: Monday, August 9, 2021 2:09 PM
> 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: [edk2-devel] [PATCH v2 1/1] 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 | 89 ++------------------
> MdeModulePkg/Include/Guid/MemoryProfile.h | 6 +-
> 2 files changed, 12 insertions(+), 83 deletions(-)
>
> diff --git a/MdeModulePkg/Core/PiSmmCore/SmramProfileRecord.c
> b/MdeModulePkg/Core/PiSmmCore/SmramProfileRecord.c
> index 1b302c810cc9..9d6e3bf27aca 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)) {
>
> @@ -2417,6 +2337,15 @@ SmramProfileHandler (
> ParameterRecordingState->Header.ReturnStatus = 0;
>
> break;
>
>
>
> + //
>
> + // Below 2 commands have been deprecated. They may not be (re-)used.
>
> + //
>
> + case SMRAM_PROFILE_COMMAND_DEPRECATED1:
>
> + case SMRAM_PROFILE_COMMAND_DEPRECATED2:
>
> + ASSERT (FALSE);
>
> + //
>
> + // Fall-through to the default (unrecognized command) case.
>
> + //
>
> default:
>
> break;
>
> }
>
> diff --git a/MdeModulePkg/Include/Guid/MemoryProfile.h b/MdeModulePkg/Include/Guid/MemoryProfile.h
> index eee3b9125240..7565e68b5c33 100644
> --- a/MdeModulePkg/Include/Guid/MemoryProfile.h
> +++ b/MdeModulePkg/Include/Guid/MemoryProfile.h
> @@ -389,10 +389,10 @@ 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
>
> +// Below 2 commands have been deprecated. They may not be re-used.
>
> //
>
> -#define SMRAM_PROFILE_COMMAND_REGISTER_IMAGE 0x3
>
> -#define SMRAM_PROFILE_COMMAND_UNREGISTER_IMAGE 0x4
>
> +#define SMRAM_PROFILE_COMMAND_DEPRECATED1 0x3
>
> +#define SMRAM_PROFILE_COMMAND_DEPRECATED2 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 (#79002): https://edk2.groups.io/g/devel/message/79002
Mute This Topic: https://groups.io/mt/84762964/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