summaryrefslogtreecommitdiffstats
path: root/MdeModulePkg/Include/Guid/MemoryProfile.h
diff options
context:
space:
mode:
Diffstat (limited to 'MdeModulePkg/Include/Guid/MemoryProfile.h')
-rw-r--r--MdeModulePkg/Include/Guid/MemoryProfile.h228
1 files changed, 113 insertions, 115 deletions
diff --git a/MdeModulePkg/Include/Guid/MemoryProfile.h b/MdeModulePkg/Include/Guid/MemoryProfile.h
index 7565e68b5c..8194b06330 100644
--- a/MdeModulePkg/Include/Guid/MemoryProfile.h
+++ b/MdeModulePkg/Include/Guid/MemoryProfile.h
@@ -18,52 +18,52 @@
//
typedef struct {
- UINT32 Signature;
- UINT16 Length;
- UINT16 Revision;
+ UINT32 Signature;
+ UINT16 Length;
+ UINT16 Revision;
} MEMORY_PROFILE_COMMON_HEADER;
-#define MEMORY_PROFILE_CONTEXT_SIGNATURE SIGNATURE_32 ('M','P','C','T')
-#define MEMORY_PROFILE_CONTEXT_REVISION 0x0002
+#define MEMORY_PROFILE_CONTEXT_SIGNATURE SIGNATURE_32 ('M','P','C','T')
+#define MEMORY_PROFILE_CONTEXT_REVISION 0x0002
typedef struct {
- MEMORY_PROFILE_COMMON_HEADER Header;
- UINT64 CurrentTotalUsage;
- UINT64 PeakTotalUsage;
- UINT64 CurrentTotalUsageByType[EfiMaxMemoryType + 2];
- UINT64 PeakTotalUsageByType[EfiMaxMemoryType + 2];
- UINT64 TotalImageSize;
- UINT32 ImageCount;
- UINT32 SequenceCount;
+ MEMORY_PROFILE_COMMON_HEADER Header;
+ UINT64 CurrentTotalUsage;
+ UINT64 PeakTotalUsage;
+ UINT64 CurrentTotalUsageByType[EfiMaxMemoryType + 2];
+ UINT64 PeakTotalUsageByType[EfiMaxMemoryType + 2];
+ UINT64 TotalImageSize;
+ UINT32 ImageCount;
+ UINT32 SequenceCount;
} MEMORY_PROFILE_CONTEXT;
-#define MEMORY_PROFILE_DRIVER_INFO_SIGNATURE SIGNATURE_32 ('M','P','D','I')
-#define MEMORY_PROFILE_DRIVER_INFO_REVISION 0x0003
+#define MEMORY_PROFILE_DRIVER_INFO_SIGNATURE SIGNATURE_32 ('M','P','D','I')
+#define MEMORY_PROFILE_DRIVER_INFO_REVISION 0x0003
typedef struct {
- MEMORY_PROFILE_COMMON_HEADER Header;
- EFI_GUID FileName;
- PHYSICAL_ADDRESS ImageBase;
- UINT64 ImageSize;
- PHYSICAL_ADDRESS EntryPoint;
- UINT16 ImageSubsystem;
- EFI_FV_FILETYPE FileType;
- UINT8 Reserved[1];
- UINT32 AllocRecordCount;
- UINT64 CurrentUsage;
- UINT64 PeakUsage;
- UINT64 CurrentUsageByType[EfiMaxMemoryType + 2];
- UINT64 PeakUsageByType[EfiMaxMemoryType + 2];
- UINT16 PdbStringOffset;
- UINT8 Reserved2[6];
-//CHAR8 PdbString[];
+ MEMORY_PROFILE_COMMON_HEADER Header;
+ EFI_GUID FileName;
+ PHYSICAL_ADDRESS ImageBase;
+ UINT64 ImageSize;
+ PHYSICAL_ADDRESS EntryPoint;
+ UINT16 ImageSubsystem;
+ EFI_FV_FILETYPE FileType;
+ UINT8 Reserved[1];
+ UINT32 AllocRecordCount;
+ UINT64 CurrentUsage;
+ UINT64 PeakUsage;
+ UINT64 CurrentUsageByType[EfiMaxMemoryType + 2];
+ UINT64 PeakUsageByType[EfiMaxMemoryType + 2];
+ UINT16 PdbStringOffset;
+ UINT8 Reserved2[6];
+ // CHAR8 PdbString[];
} MEMORY_PROFILE_DRIVER_INFO;
typedef enum {
MemoryProfileActionAllocatePages = 1,
- MemoryProfileActionFreePages = 2,
- MemoryProfileActionAllocatePool = 3,
- MemoryProfileActionFreePool = 4,
+ MemoryProfileActionFreePages = 2,
+ MemoryProfileActionAllocatePool = 3,
+ MemoryProfileActionFreePool = 4,
} MEMORY_PROFILE_ACTION;
//
@@ -82,7 +82,7 @@ typedef enum {
// 3 : AllocatePool
// 4 : FreePool
//
-#define MEMORY_PROFILE_ACTION_BASIC_MASK 0xF
+#define MEMORY_PROFILE_ACTION_BASIC_MASK 0xF
//
// Extension
@@ -101,27 +101,27 @@ typedef enum {
//
// Extension (used by memory allocation lib)
//
-#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_PAGES 0x8001
-#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_RUNTIME_PAGES 0x8011
-#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_RESERVED_PAGES 0x8021
-#define MEMORY_PROFILE_ACTION_LIB_FREE_PAGES 0x8002
-#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_ALIGNED_PAGES 0x8041
-#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_ALIGNED_RUNTIME_PAGES 0x8051
-#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_ALIGNED_RESERVED_PAGES 0x8061
-#define MEMORY_PROFILE_ACTION_LIB_FREE_ALIGNED_PAGES 0x8042
-#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_POOL 0x8003
-#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_RUNTIME_POOL 0x8013
-#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_RESERVED_POOL 0x8023
-#define MEMORY_PROFILE_ACTION_LIB_FREE_POOL 0x8004
-#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_ZERO_POOL 0x8083
-#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_RUNTIME_ZERO_POOL 0x8093
-#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_RESERVED_ZERO_POOL 0x80a3
-#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_COPY_POOL 0x8103
-#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_RUNTIME_COPY_POOL 0x8113
-#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_RESERVED_COPY_POOL 0x8123
-#define MEMORY_PROFILE_ACTION_LIB_REALLOCATE_POOL 0x8203
-#define MEMORY_PROFILE_ACTION_LIB_REALLOCATE_RUNTIME_POOL 0x8213
-#define MEMORY_PROFILE_ACTION_LIB_REALLOCATE_RESERVED_POOL 0x8223
+#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_PAGES 0x8001
+#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_RUNTIME_PAGES 0x8011
+#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_RESERVED_PAGES 0x8021
+#define MEMORY_PROFILE_ACTION_LIB_FREE_PAGES 0x8002
+#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_ALIGNED_PAGES 0x8041
+#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_ALIGNED_RUNTIME_PAGES 0x8051
+#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_ALIGNED_RESERVED_PAGES 0x8061
+#define MEMORY_PROFILE_ACTION_LIB_FREE_ALIGNED_PAGES 0x8042
+#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_POOL 0x8003
+#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_RUNTIME_POOL 0x8013
+#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_RESERVED_POOL 0x8023
+#define MEMORY_PROFILE_ACTION_LIB_FREE_POOL 0x8004
+#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_ZERO_POOL 0x8083
+#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_RUNTIME_ZERO_POOL 0x8093
+#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_RESERVED_ZERO_POOL 0x80a3
+#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_COPY_POOL 0x8103
+#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_RUNTIME_COPY_POOL 0x8113
+#define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_RESERVED_COPY_POOL 0x8123
+#define MEMORY_PROFILE_ACTION_LIB_REALLOCATE_POOL 0x8203
+#define MEMORY_PROFILE_ACTION_LIB_REALLOCATE_RUNTIME_POOL 0x8213
+#define MEMORY_PROFILE_ACTION_LIB_REALLOCATE_RESERVED_POOL 0x8223
//
// User defined: 0x80000000~0xFFFFFFFF
@@ -131,52 +131,52 @@ typedef enum {
// and the type is pages (can be freed partially)
// or pool (cannot be freed partially).
//
-#define MEMORY_PROFILE_ACTION_USER_DEFINED_MASK 0x80000000
+#define MEMORY_PROFILE_ACTION_USER_DEFINED_MASK 0x80000000
-#define MEMORY_PROFILE_ALLOC_INFO_SIGNATURE SIGNATURE_32 ('M','P','A','I')
-#define MEMORY_PROFILE_ALLOC_INFO_REVISION 0x0002
+#define MEMORY_PROFILE_ALLOC_INFO_SIGNATURE SIGNATURE_32 ('M','P','A','I')
+#define MEMORY_PROFILE_ALLOC_INFO_REVISION 0x0002
typedef struct {
- MEMORY_PROFILE_COMMON_HEADER Header;
- PHYSICAL_ADDRESS CallerAddress;
- UINT32 SequenceId;
- UINT8 Reserved[2];
- UINT16 ActionStringOffset;
- MEMORY_PROFILE_ACTION Action;
- EFI_MEMORY_TYPE MemoryType;
- PHYSICAL_ADDRESS Buffer;
- UINT64 Size;
-//CHAR8 ActionString[];
+ MEMORY_PROFILE_COMMON_HEADER Header;
+ PHYSICAL_ADDRESS CallerAddress;
+ UINT32 SequenceId;
+ UINT8 Reserved[2];
+ UINT16 ActionStringOffset;
+ MEMORY_PROFILE_ACTION Action;
+ EFI_MEMORY_TYPE MemoryType;
+ PHYSICAL_ADDRESS Buffer;
+ UINT64 Size;
+ // CHAR8 ActionString[];
} MEMORY_PROFILE_ALLOC_INFO;
-#define MEMORY_PROFILE_DESCRIPTOR_SIGNATURE SIGNATURE_32 ('M','P','D','R')
-#define MEMORY_PROFILE_DESCRIPTOR_REVISION 0x0001
+#define MEMORY_PROFILE_DESCRIPTOR_SIGNATURE SIGNATURE_32 ('M','P','D','R')
+#define MEMORY_PROFILE_DESCRIPTOR_REVISION 0x0001
typedef struct {
- MEMORY_PROFILE_COMMON_HEADER Header;
- PHYSICAL_ADDRESS Address;
- UINT64 Size;
+ MEMORY_PROFILE_COMMON_HEADER Header;
+ PHYSICAL_ADDRESS Address;
+ UINT64 Size;
} MEMORY_PROFILE_DESCRIPTOR;
-#define MEMORY_PROFILE_FREE_MEMORY_SIGNATURE SIGNATURE_32 ('M','P','R','M')
-#define MEMORY_PROFILE_FREE_MEMORY_REVISION 0x0001
+#define MEMORY_PROFILE_FREE_MEMORY_SIGNATURE SIGNATURE_32 ('M','P','R','M')
+#define MEMORY_PROFILE_FREE_MEMORY_REVISION 0x0001
typedef struct {
- MEMORY_PROFILE_COMMON_HEADER Header;
- UINT64 TotalFreeMemoryPages;
- UINT32 FreeMemoryEntryCount;
- UINT8 Reserved[4];
- //MEMORY_PROFILE_DESCRIPTOR MemoryDescriptor[FreeMemoryEntryCount];
+ MEMORY_PROFILE_COMMON_HEADER Header;
+ UINT64 TotalFreeMemoryPages;
+ UINT32 FreeMemoryEntryCount;
+ UINT8 Reserved[4];
+ // MEMORY_PROFILE_DESCRIPTOR MemoryDescriptor[FreeMemoryEntryCount];
} MEMORY_PROFILE_FREE_MEMORY;
-#define MEMORY_PROFILE_MEMORY_RANGE_SIGNATURE SIGNATURE_32 ('M','P','M','R')
-#define MEMORY_PROFILE_MEMORY_RANGE_REVISION 0x0001
+#define MEMORY_PROFILE_MEMORY_RANGE_SIGNATURE SIGNATURE_32 ('M','P','M','R')
+#define MEMORY_PROFILE_MEMORY_RANGE_REVISION 0x0001
typedef struct {
- MEMORY_PROFILE_COMMON_HEADER Header;
- UINT32 MemoryRangeCount;
- UINT8 Reserved[4];
- //MEMORY_PROFILE_DESCRIPTOR MemoryDescriptor[MemoryRangeCount];
+ MEMORY_PROFILE_COMMON_HEADER Header;
+ UINT32 MemoryRangeCount;
+ UINT8 Reserved[4];
+ // MEMORY_PROFILE_DESCRIPTOR MemoryDescriptor[MemoryRangeCount];
} MEMORY_PROFILE_MEMORY_RANGE;
//
@@ -219,7 +219,7 @@ EFI_STATUS
(EFIAPI *EDKII_MEMORY_PROFILE_GET_DATA)(
IN EDKII_MEMORY_PROFILE_PROTOCOL *This,
IN OUT UINT64 *ProfileSize,
- OUT VOID *ProfileBuffer
+ OUT VOID *ProfileBuffer
);
/**
@@ -270,8 +270,8 @@ EFI_STATUS
IN UINT64 ImageSize
);
-#define MEMORY_PROFILE_RECORDING_ENABLE TRUE
-#define MEMORY_PROFILE_RECORDING_DISABLE FALSE
+#define MEMORY_PROFILE_RECORDING_ENABLE TRUE
+#define MEMORY_PROFILE_RECORDING_DISABLE FALSE
/**
Get memory profile recording state.
@@ -286,7 +286,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
-(EFIAPI *EDKII_MEMORY_PROFILE_GET_RECORDING_STATE) (
+(EFIAPI *EDKII_MEMORY_PROFILE_GET_RECORDING_STATE)(
IN EDKII_MEMORY_PROFILE_PROTOCOL *This,
OUT BOOLEAN *RecordingState
);
@@ -303,7 +303,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
-(EFIAPI *EDKII_MEMORY_PROFILE_SET_RECORDING_STATE) (
+(EFIAPI *EDKII_MEMORY_PROFILE_SET_RECORDING_STATE)(
IN EDKII_MEMORY_PROFILE_PROTOCOL *This,
IN BOOLEAN RecordingState
);
@@ -333,7 +333,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
-(EFIAPI *EDKII_MEMORY_PROFILE_RECORD) (
+(EFIAPI *EDKII_MEMORY_PROFILE_RECORD)(
IN EDKII_MEMORY_PROFILE_PROTOCOL *This,
IN PHYSICAL_ADDRESS CallerAddress,
IN MEMORY_PROFILE_ACTION Action,
@@ -344,12 +344,12 @@ EFI_STATUS
);
struct _EDKII_MEMORY_PROFILE_PROTOCOL {
- EDKII_MEMORY_PROFILE_GET_DATA GetData;
- EDKII_MEMORY_PROFILE_REGISTER_IMAGE RegisterImage;
- EDKII_MEMORY_PROFILE_UNREGISTER_IMAGE UnregisterImage;
- EDKII_MEMORY_PROFILE_GET_RECORDING_STATE GetRecordingState;
- EDKII_MEMORY_PROFILE_SET_RECORDING_STATE SetRecordingState;
- EDKII_MEMORY_PROFILE_RECORD Record;
+ EDKII_MEMORY_PROFILE_GET_DATA GetData;
+ EDKII_MEMORY_PROFILE_REGISTER_IMAGE RegisterImage;
+ EDKII_MEMORY_PROFILE_UNREGISTER_IMAGE UnregisterImage;
+ EDKII_MEMORY_PROFILE_GET_RECORDING_STATE GetRecordingState;
+ EDKII_MEMORY_PROFILE_SET_RECORDING_STATE SetRecordingState;
+ EDKII_MEMORY_PROFILE_RECORD Record;
};
//
@@ -386,22 +386,22 @@ struct _EDKII_MEMORY_PROFILE_PROTOCOL {
//
// SMRAM profile command
//
-#define SMRAM_PROFILE_COMMAND_GET_PROFILE_INFO 0x1
-#define SMRAM_PROFILE_COMMAND_GET_PROFILE_DATA 0x2
+#define SMRAM_PROFILE_COMMAND_GET_PROFILE_INFO 0x1
+#define SMRAM_PROFILE_COMMAND_GET_PROFILE_DATA 0x2
//
// Below 2 commands have been deprecated. They may not be re-used.
//
-#define SMRAM_PROFILE_COMMAND_DEPRECATED1 0x3
-#define SMRAM_PROFILE_COMMAND_DEPRECATED2 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
-#define SMRAM_PROFILE_COMMAND_SET_RECORDING_STATE 0x7
+#define SMRAM_PROFILE_COMMAND_GET_PROFILE_DATA_BY_OFFSET 0x5
+#define SMRAM_PROFILE_COMMAND_GET_RECORDING_STATE 0x6
+#define SMRAM_PROFILE_COMMAND_SET_RECORDING_STATE 0x7
typedef struct {
- UINT32 Command;
- UINT32 DataLength;
- UINT64 ReturnStatus;
+ UINT32 Command;
+ UINT32 DataLength;
+ UINT64 ReturnStatus;
} SMRAM_PROFILE_PARAMETER_HEADER;
typedef struct {
@@ -449,20 +449,18 @@ typedef struct {
UINT64 NumberOfPage;
} SMRAM_PROFILE_PARAMETER_UNREGISTER_IMAGE;
-
-#define EDKII_MEMORY_PROFILE_GUID { \
+#define EDKII_MEMORY_PROFILE_GUID {\
0x821c9a09, 0x541a, 0x40f6, { 0x9f, 0x43, 0xa, 0xd1, 0x93, 0xa1, 0x2c, 0xfe } \
}
-extern EFI_GUID gEdkiiMemoryProfileGuid;
+extern EFI_GUID gEdkiiMemoryProfileGuid;
typedef EDKII_MEMORY_PROFILE_PROTOCOL EDKII_SMM_MEMORY_PROFILE_PROTOCOL;
-#define EDKII_SMM_MEMORY_PROFILE_GUID { \
+#define EDKII_SMM_MEMORY_PROFILE_GUID {\
0xe22bbcca, 0x516a, 0x46a8, { 0x80, 0xe2, 0x67, 0x45, 0xe8, 0x36, 0x93, 0xbd } \
}
-extern EFI_GUID gEdkiiSmmMemoryProfileGuid;
+extern EFI_GUID gEdkiiSmmMemoryProfileGuid;
#endif
-