MdeModulePkg[all]
0.98
|
Data Structures | |
struct | MEMORY_PROFILE_COMMON_HEADER |
struct | MEMORY_PROFILE_CONTEXT |
struct | MEMORY_PROFILE_DRIVER_INFO |
struct | MEMORY_PROFILE_ALLOC_INFO |
struct | MEMORY_PROFILE_DESCRIPTOR |
struct | MEMORY_PROFILE_FREE_MEMORY |
struct | MEMORY_PROFILE_MEMORY_RANGE |
struct | _EDKII_MEMORY_PROFILE_PROTOCOL |
struct | SMRAM_PROFILE_PARAMETER_HEADER |
struct | SMRAM_PROFILE_PARAMETER_GET_PROFILE_INFO |
struct | SMRAM_PROFILE_PARAMETER_GET_PROFILE_DATA |
struct | SMRAM_PROFILE_PARAMETER_GET_PROFILE_DATA_BY_OFFSET |
struct | SMRAM_PROFILE_PARAMETER_RECORDING_STATE |
struct | SMRAM_PROFILE_PARAMETER_REGISTER_IMAGE |
struct | SMRAM_PROFILE_PARAMETER_UNREGISTER_IMAGE |
Typedefs | |
typedef struct _EDKII_MEMORY_PROFILE_PROTOCOL | EDKII_MEMORY_PROFILE_PROTOCOL |
typedef EFI_STATUS(EFIAPI * | EDKII_MEMORY_PROFILE_GET_DATA )(IN EDKII_MEMORY_PROFILE_PROTOCOL *This, IN OUT UINT64 *ProfileSize, OUT VOID *ProfileBuffer) |
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) |
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) |
typedef OUT BOOLEAN * | RecordingState |
typedef IN PHYSICAL_ADDRESS | CallerAddress |
typedef IN PHYSICAL_ADDRESS IN MEMORY_PROFILE_ACTION | Action |
typedef IN PHYSICAL_ADDRESS IN MEMORY_PROFILE_ACTION IN EFI_MEMORY_TYPE | MemoryType |
typedef IN PHYSICAL_ADDRESS IN MEMORY_PROFILE_ACTION IN EFI_MEMORY_TYPE IN VOID * | Buffer |
typedef IN PHYSICAL_ADDRESS IN MEMORY_PROFILE_ACTION IN EFI_MEMORY_TYPE IN VOID IN UINTN | Size |
typedef IN PHYSICAL_ADDRESS IN MEMORY_PROFILE_ACTION IN EFI_MEMORY_TYPE IN VOID IN UINTN IN CHAR8 * | ActionString |
typedef EDKII_MEMORY_PROFILE_PROTOCOL | EDKII_SMM_MEMORY_PROFILE_PROTOCOL |
Enumerations | |
enum | MEMORY_PROFILE_ACTION { MemoryProfileActionAllocatePages = 1, MemoryProfileActionFreePages = 2, MemoryProfileActionAllocatePool = 3, MemoryProfileActionFreePool = 4 } |
Functions | |
typedef | EFI_STATUS (EFIAPI *EDKII_MEMORY_PROFILE_GET_RECORDING_STATE)(IN EDKII_MEMORY_PROFILE_PROTOCOL *This |
Variables | |
EFI_GUID | gEdkiiMemoryProfileGuid |
EFI_GUID | gEdkiiSmmMemoryProfileGuid |
Memory profile data structure.
Copyright (c) 2014 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
#define EDKII_MEMORY_PROFILE_GUID |
#define EDKII_SMM_MEMORY_PROFILE_GUID |
#define MEMORY_PROFILE_ACTION_BASIC_MASK 0xF |
#define MEMORY_PROFILE_ACTION_EXTENSION_ALIGN_MASK 0x0040 |
#define MEMORY_PROFILE_ACTION_EXTENSION_COPY_MASK 0x0100 |
#define MEMORY_PROFILE_ACTION_EXTENSION_LIB_MASK 0x8000 |
#define MEMORY_PROFILE_ACTION_EXTENSION_MASK 0xFFF0 |
#define MEMORY_PROFILE_ACTION_EXTENSION_MEM_TYPE_BASIC 0x0000 |
#define MEMORY_PROFILE_ACTION_EXTENSION_MEM_TYPE_MASK 0x0030 |
#define MEMORY_PROFILE_ACTION_EXTENSION_MEM_TYPE_RESERVED 0x0020 |
#define MEMORY_PROFILE_ACTION_EXTENSION_MEM_TYPE_RUNTIME 0x0010 |
#define MEMORY_PROFILE_ACTION_EXTENSION_REALLOC_MASK 0x0200 |
#define MEMORY_PROFILE_ACTION_EXTENSION_ZERO_MASK 0x0080 |
#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_ALIGNED_PAGES 0x8041 |
#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_ALIGNED_RESERVED_PAGES 0x8061 |
#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_ALIGNED_RUNTIME_PAGES 0x8051 |
#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_COPY_POOL 0x8103 |
#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_PAGES 0x8001 |
#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_POOL 0x8003 |
#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_RESERVED_COPY_POOL 0x8123 |
#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_RESERVED_PAGES 0x8021 |
#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_RESERVED_POOL 0x8023 |
#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_RESERVED_ZERO_POOL 0x80a3 |
#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_RUNTIME_COPY_POOL 0x8113 |
#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_RUNTIME_PAGES 0x8011 |
#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_RUNTIME_POOL 0x8013 |
#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_RUNTIME_ZERO_POOL 0x8093 |
#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_ZERO_POOL 0x8083 |
#define MEMORY_PROFILE_ACTION_LIB_FREE_ALIGNED_PAGES 0x8042 |
#define MEMORY_PROFILE_ACTION_LIB_FREE_PAGES 0x8002 |
#define MEMORY_PROFILE_ACTION_LIB_FREE_POOL 0x8004 |
#define MEMORY_PROFILE_ACTION_LIB_REALLOCATE_POOL 0x8203 |
#define MEMORY_PROFILE_ACTION_LIB_REALLOCATE_RESERVED_POOL 0x8223 |
#define MEMORY_PROFILE_ACTION_LIB_REALLOCATE_RUNTIME_POOL 0x8213 |
#define MEMORY_PROFILE_ACTION_USER_DEFINED_MASK 0x80000000 |
#define MEMORY_PROFILE_ALLOC_INFO_REVISION 0x0002 |
#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 0x0003 |
#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 MEMORY_PROFILE_RECORDING_DISABLE FALSE |
#define MEMORY_PROFILE_RECORDING_ENABLE TRUE |
#define SMRAM_PROFILE_COMMAND_DEPRECATED1 0x3 |
#define SMRAM_PROFILE_COMMAND_DEPRECATED2 0x4 |
#define SMRAM_PROFILE_COMMAND_GET_PROFILE_DATA 0x2 |
#define SMRAM_PROFILE_COMMAND_GET_PROFILE_DATA_BY_OFFSET 0x5 |
#define SMRAM_PROFILE_COMMAND_GET_PROFILE_INFO 0x1 |
#define SMRAM_PROFILE_COMMAND_GET_RECORDING_STATE 0x6 |
#define SMRAM_PROFILE_COMMAND_SET_RECORDING_STATE 0x7 |
typedef IN PHYSICAL_ADDRESS IN MEMORY_PROFILE_ACTION Action |
typedef IN PHYSICAL_ADDRESS IN MEMORY_PROFILE_ACTION IN EFI_MEMORY_TYPE IN VOID IN UINTN IN CHAR8* ActionString |
typedef IN OUT CHAR16 IN OUT INT8 * Buffer |
typedef IN PHYSICAL_ADDRESS CallerAddress |
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. |
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. |
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. |
typedef IN PHYSICAL_ADDRESS IN MEMORY_PROFILE_ACTION IN EFI_MEMORY_TYPE MemoryType |
typedef IN BOOLEAN RecordingState |
typedef IN PHYSICAL_ADDRESS IN MEMORY_PROFILE_ACTION IN EFI_MEMORY_TYPE IN VOID IN UINTN Size |
typedef EFI_STATUS | ( | EFIAPI * | EDKII_MEMORY_PROFILE_RECORD | ) |
Get memory profile recording state.
[in] | This | The EDKII_MEMORY_PROFILE_PROTOCOL instance. |
[out] | RecordingState | Recording state. |
Set memory profile recording state.
[in] | This | The EDKII_MEMORY_PROFILE_PROTOCOL instance. |
[in] | RecordingState | Recording state. |
Record memory profile of multilevel caller.
[in] | This | The EDKII_MEMORY_PROFILE_PROTOCOL instance. |
[in] | CallerAddress | Address of caller. |
[in] | Action | Memory profile action. |
[in] | MemoryType | Memory type. EfiMaxMemoryType means the MemoryType is unknown. |
[in] | Buffer | Buffer address. |
[in] | Size | Buffer size. |
[in] | ActionString | String for memory profile action. Only needed for user defined allocate action. |
EFI_GUID gEdkiiMemoryProfileGuid |
EFI_GUID gEdkiiSmmMemoryProfileGuid |