]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkCompatibilityPkg/Compatibility/SmmBaseHelper/SmramProfileRecord.c
EdkCompatibilityPkg: Remove EdkCompatibilityPkg
[mirror_edk2.git] / EdkCompatibilityPkg / Compatibility / SmmBaseHelper / SmramProfileRecord.c
diff --git a/EdkCompatibilityPkg/Compatibility/SmmBaseHelper/SmramProfileRecord.c b/EdkCompatibilityPkg/Compatibility/SmmBaseHelper/SmramProfileRecord.c
deleted file mode 100644 (file)
index a1797ea..0000000
+++ /dev/null
@@ -1,172 +0,0 @@
-/** @file\r
-\r
-  Copyright (c) 2014 - 2015, Intel Corporation. All rights reserved.<BR>\r
-  This program and the accompanying materials                          \r
-  are licensed and made available under the terms and conditions of the BSD License         \r
-  which accompanies this distribution.  The full text of the license may be found at        \r
-  http://opensource.org/licenses/bsd-license.php.                                            \r
-\r
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
-  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             \r
-\r
-**/\r
-\r
-#include <PiSmm.h>\r
-\r
-#include <Library/BaseLib.h>\r
-#include <Library/MemoryAllocationLib.h>\r
-#include <Library/UefiBootServicesTableLib.h>\r
-#include <Library/SmmServicesTableLib.h>\r
-#include <Library/DevicePathLib.h>\r
-#include <Library/BaseMemoryLib.h>\r
-#include <Library/DebugLib.h>\r
-#include <Library/PcdLib.h>\r
-#include <Protocol/SmmCommunication.h>\r
-\r
-#include <Guid/MemoryProfile.h>\r
-\r
-EFI_SMM_COMMUNICATION_PROTOCOL *mSmmCommunication = NULL;\r
-\r
-/**\r
-  Get the GUID file name from the file path.\r
-\r
-  @param FilePath  File path.\r
-\r
-  @return The GUID file name from the file path.\r
-\r
-**/\r
-EFI_GUID *\r
-GetFileNameFromFilePath (\r
-  IN EFI_DEVICE_PATH_PROTOCOL   *FilePath\r
-  )\r
-{\r
-  MEDIA_FW_VOL_FILEPATH_DEVICE_PATH     *ThisFilePath;\r
-\r
-  ThisFilePath = (MEDIA_FW_VOL_FILEPATH_DEVICE_PATH *) FilePath;\r
-  while (!IsDevicePathEnd (ThisFilePath)) {\r
-    if ((DevicePathType (ThisFilePath) == MEDIA_DEVICE_PATH) && (DevicePathSubType (ThisFilePath) == MEDIA_PIWG_FW_FILE_DP)) {\r
-      return &ThisFilePath->FvFileName;\r
-    }\r
-    ThisFilePath = (MEDIA_FW_VOL_FILEPATH_DEVICE_PATH *) NextDevicePathNode (ThisFilePath);\r
-  }\r
-\r
-  return NULL;\r
-}\r
-\r
-/**\r
-  Register SMM image to SMRAM profile.\r
-\r
-  @param[in] FilePath           File path of the image.\r
-  @param[in] ImageBuffer        Image base address.\r
-  @param[in] NumberOfPage       Number of page.\r
-\r
-  @retval TRUE                  Register success.\r
-  @retval FALSE                 Register fail.\r
-\r
-**/\r
-BOOLEAN\r
-RegisterSmramProfileImage (\r
-  IN EFI_DEVICE_PATH_PROTOCOL   *FilePath,\r
-  IN PHYSICAL_ADDRESS           ImageBuffer,\r
-  IN UINTN                      NumberOfPage\r
-  )\r
-{\r
-  EFI_GUID                                      *FileName;\r
-  EFI_STATUS                                    Status;\r
-  UINTN                                         CommSize;\r
-  UINT8                                         CommBuffer[sizeof (EFI_GUID) + sizeof (UINTN) + sizeof (SMRAM_PROFILE_PARAMETER_REGISTER_IMAGE)];\r
-  EFI_SMM_COMMUNICATE_HEADER                    *CommHeader;\r
-  SMRAM_PROFILE_PARAMETER_REGISTER_IMAGE        *CommRegisterImage;\r
-\r
-  if ((PcdGet8 (PcdMemoryProfilePropertyMask) & BIT1) == 0) {\r
-    return FALSE;\r
-  }\r
-\r
-  FileName = GetFileNameFromFilePath (FilePath);\r
-\r
-  if (mSmmCommunication == NULL) {\r
-    Status = gBS->LocateProtocol (&gEfiSmmCommunicationProtocolGuid, NULL, (VOID **) &mSmmCommunication);\r
-    ASSERT_EFI_ERROR (Status);\r
-  }\r
-\r
-  CommHeader = (EFI_SMM_COMMUNICATE_HEADER *) &CommBuffer[0];\r
-  CopyMem (&CommHeader->HeaderGuid, &gEdkiiMemoryProfileGuid, sizeof (gEdkiiMemoryProfileGuid));\r
-  CommHeader->MessageLength = sizeof (SMRAM_PROFILE_PARAMETER_REGISTER_IMAGE);\r
-\r
-  CommRegisterImage = (SMRAM_PROFILE_PARAMETER_REGISTER_IMAGE *)&CommBuffer[OFFSET_OF (EFI_SMM_COMMUNICATE_HEADER, Data)];\r
-  CommRegisterImage->Header.Command      = SMRAM_PROFILE_COMMAND_REGISTER_IMAGE;\r
-  CommRegisterImage->Header.DataLength   = sizeof (*CommRegisterImage);\r
-  CommRegisterImage->Header.ReturnStatus = (UINT64)-1;\r
-  CopyMem (&CommRegisterImage->FileName, FileName, sizeof(EFI_GUID));\r
-  CommRegisterImage->ImageBuffer         = ImageBuffer;\r
-  CommRegisterImage->NumberOfPage        = NumberOfPage;\r
-\r
-  CommSize = sizeof (EFI_GUID) + sizeof (UINTN) + CommHeader->MessageLength;\r
-  Status = mSmmCommunication->Communicate (mSmmCommunication, CommBuffer, &CommSize);\r
-  ASSERT_EFI_ERROR (Status);\r
-\r
-  if (CommRegisterImage->Header.ReturnStatus != 0) {\r
-    return FALSE;\r
-  }\r
-\r
-  return TRUE;\r
-}\r
-\r
-/**\r
-  Unregister SMM image from SMRAM profile.\r
-\r
-  @param[in] FilePath           File path of the image.\r
-  @param[in] ImageBuffer        Image base address.\r
-  @param[in] NumberOfPage       Number of page.\r
-\r
-  @retval TRUE                  Unregister success.\r
-  @retval FALSE                 Unregister fail.\r
-\r
-**/\r
-BOOLEAN\r
-UnregisterSmramProfileImage (\r
-  IN EFI_DEVICE_PATH_PROTOCOL   *FilePath,\r
-  IN PHYSICAL_ADDRESS           ImageBuffer,\r
-  IN UINTN                      NumberOfPage\r
-  )\r
-{\r
-  EFI_GUID                                      *FileName;\r
-  EFI_STATUS                                    Status;\r
-  UINTN                                         CommSize;\r
-  UINT8                                         CommBuffer[sizeof (EFI_GUID) + sizeof (UINTN) + sizeof (SMRAM_PROFILE_PARAMETER_UNREGISTER_IMAGE)];\r
-  EFI_SMM_COMMUNICATE_HEADER                    *CommHeader;\r
-  SMRAM_PROFILE_PARAMETER_UNREGISTER_IMAGE      *CommUnregisterImage;\r
-\r
-  if ((PcdGet8 (PcdMemoryProfilePropertyMask) & BIT1) == 0) {\r
-    return FALSE;\r
-  }\r
-\r
-  FileName = GetFileNameFromFilePath (FilePath);\r
-\r
-  if (mSmmCommunication == NULL) {\r
-    Status = gBS->LocateProtocol (&gEfiSmmCommunicationProtocolGuid, NULL, (VOID **) &mSmmCommunication);\r
-    ASSERT_EFI_ERROR (Status);\r
-  }\r
-\r
-  CommHeader = (EFI_SMM_COMMUNICATE_HEADER *)&CommBuffer[0];\r
-  CopyMem (&CommHeader->HeaderGuid, &gEdkiiMemoryProfileGuid, sizeof(gEdkiiMemoryProfileGuid));\r
-  CommHeader->MessageLength = sizeof(SMRAM_PROFILE_PARAMETER_UNREGISTER_IMAGE);\r
-\r
-  CommUnregisterImage = (SMRAM_PROFILE_PARAMETER_UNREGISTER_IMAGE *)&CommBuffer[OFFSET_OF (EFI_SMM_COMMUNICATE_HEADER, Data)];\r
-  CommUnregisterImage->Header.Command      = SMRAM_PROFILE_COMMAND_UNREGISTER_IMAGE;\r
-  CommUnregisterImage->Header.DataLength   = sizeof (*CommUnregisterImage);\r
-  CommUnregisterImage->Header.ReturnStatus = (UINT64)-1;\r
-  CopyMem (&CommUnregisterImage->FileName, FileName, sizeof(EFI_GUID));\r
-  CommUnregisterImage->ImageBuffer         = ImageBuffer;\r
-  CommUnregisterImage->NumberOfPage        = NumberOfPage;\r
-\r
-  CommSize = sizeof (EFI_GUID) + sizeof (UINTN) + CommHeader->MessageLength;\r
-  Status = mSmmCommunication->Communicate (mSmmCommunication, CommBuffer, &CommSize);\r
-  ASSERT_EFI_ERROR (Status);\r
-\r
-  if (CommUnregisterImage->Header.ReturnStatus != 0) {\r
-    return FALSE;\r
-  }\r
-\r
-  return TRUE;\r
-}\r