Copyright (c) 2014 - 2015, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#define EDKII_MEMORY_PROFILE_GUID |
Value:
{ \ 0x821c9a09, 0x541a, 0x40f6, 0x9f, 0x43, 0xa, 0xd1, 0x93, 0xa1, 0x2c, 0xfe \ }
#define MEMORY_PROFILE_ALLOC_INFO_REVISION 0x0001 |
#define MEMORY_PROFILE_ALLOC_INFO_SIGNATURE SIGNATURE_32 ('M','P','A','I') |
#define MEMORY_PROFILE_CONTEXT_REVISION 0x0002 |
#define MEMORY_PROFILE_CONTEXT_SIGNATURE SIGNATURE_32 ('M','P','C','T') |
#define MEMORY_PROFILE_DESCRIPTOR_REVISION 0x0001 |
#define MEMORY_PROFILE_DESCRIPTOR_SIGNATURE SIGNATURE_32 ('M','P','D','R') |
#define MEMORY_PROFILE_DRIVER_INFO_REVISION 0x0002 |
#define MEMORY_PROFILE_DRIVER_INFO_SIGNATURE SIGNATURE_32 ('M','P','D','I') |
#define MEMORY_PROFILE_FREE_MEMORY_REVISION 0x0001 |
#define MEMORY_PROFILE_FREE_MEMORY_SIGNATURE SIGNATURE_32 ('M','P','R','M') |
#define MEMORY_PROFILE_MEMORY_RANGE_REVISION 0x0001 |
#define MEMORY_PROFILE_MEMORY_RANGE_SIGNATURE SIGNATURE_32 ('M','P','M','R') |
#define SMRAM_PROFILE_COMMAND_GET_PROFILE_DATA 0x2 |
#define SMRAM_PROFILE_COMMAND_GET_PROFILE_INFO 0x1 |
#define SMRAM_PROFILE_COMMAND_REGISTER_IMAGE 0x3 |
#define SMRAM_PROFILE_COMMAND_UNREGISTER_IMAGE 0x4 |
typedef EFI_STATUS(EFIAPI * EDKII_MEMORY_PROFILE_GET_DATA)(IN EDKII_MEMORY_PROFILE_PROTOCOL *This, IN OUT UINT64 *ProfileSize, OUT VOID *ProfileBuffer) |
Get memory profile data.
[in] | This | The EDKII_MEMORY_PROFILE_PROTOCOL instance. |
[in,out] | ProfileSize | On entry, points to the size in bytes of the ProfileBuffer. On return, points to the size of the data returned in ProfileBuffer. |
[out] | ProfileBuffer | Profile buffer. |
EFI_BUFFER_TO_SMALL The ProfileSize is too small for the resulting data. ProfileSize is updated with the size required.
typedef struct _EDKII_MEMORY_PROFILE_PROTOCOL EDKII_MEMORY_PROFILE_PROTOCOL |
typedef EFI_STATUS(EFIAPI * EDKII_MEMORY_PROFILE_REGISTER_IMAGE)(IN EDKII_MEMORY_PROFILE_PROTOCOL *This, IN EFI_DEVICE_PATH_PROTOCOL *FilePath, IN PHYSICAL_ADDRESS ImageBase, IN UINT64 ImageSize, IN EFI_FV_FILETYPE FileType) |
Register image to memory profile.
[in] | This | The EDKII_MEMORY_PROFILE_PROTOCOL instance. |
[in] | FilePath | File path of the image. |
[in] | ImageBase | Image base address. |
[in] | ImageSize | Image size. |
[in] | FileType | File type of the image. |
EFI_OUT_OF_RESOURCE No enough resource for this register.
typedef EFI_STATUS(EFIAPI * EDKII_MEMORY_PROFILE_UNREGISTER_IMAGE)(IN EDKII_MEMORY_PROFILE_PROTOCOL *This, IN EFI_DEVICE_PATH_PROTOCOL *FilePath, IN PHYSICAL_ADDRESS ImageBase, IN UINT64 ImageSize) |
Unregister image from memory profile.
[in] | This | The EDKII_MEMORY_PROFILE_PROTOCOL instance. |
[in] | FilePath | File path of the image. |
[in] | ImageBase | Image base address. |
[in] | ImageSize | Image size. |
EFI_NOT_FOUND The image is not found.
EFI_GUID gEdkiiMemoryProfileGuid |