TianoCore EDK2
master
Loading...
Searching...
No Matches
StandaloneMmCorePrivateData.h
Go to the documentation of this file.
1
11
#ifndef _STANDALONE_MM_CORE_PRIVATE_DATA_H_
12
#define _STANDALONE_MM_CORE_PRIVATE_DATA_H_
13
14
//
15
// Page management
16
//
17
18
typedef
struct
{
19
LIST_ENTRY
Link;
20
UINTN
NumberOfPages;
21
}
FREE_PAGE_LIST
;
22
23
extern
LIST_ENTRY
mMmMemoryMap;
24
25
//
26
// Pool management
27
//
28
29
//
30
// MIN_POOL_SHIFT must not be less than 5
31
//
32
#define MIN_POOL_SHIFT 6
33
#define MIN_POOL_SIZE (1 << MIN_POOL_SHIFT)
34
35
//
36
// MAX_POOL_SHIFT must not be less than EFI_PAGE_SHIFT - 1
37
//
38
#define MAX_POOL_SHIFT (EFI_PAGE_SHIFT - 1)
39
#define MAX_POOL_SIZE (1 << MAX_POOL_SHIFT)
40
41
//
42
// MAX_POOL_INDEX are calculated by maximum and minimum pool sizes
43
//
44
#define MAX_POOL_INDEX (MAX_POOL_SHIFT - MIN_POOL_SHIFT + 1)
45
46
typedef
struct
{
47
UINTN
Size;
48
BOOLEAN Available;
49
}
POOL_HEADER
;
50
51
typedef
struct
{
52
POOL_HEADER
Header;
53
LIST_ENTRY
Link;
54
}
FREE_POOL_HEADER
;
55
56
extern
LIST_ENTRY
mMmPoolLists[MAX_POOL_INDEX];
57
58
#endif
UINTN
UINT64 UINTN
Definition:
ProcessorBind.h:112
_LIST_ENTRY
Definition:
Base.h:247
FREE_PAGE_LIST
Definition:
PiSmmCore.h:1222
FREE_POOL_HEADER
Definition:
PiSmmCore.h:1272
POOL_HEADER
Definition:
PiSmmCore.h:1252
StandaloneMmPkg
Core
StandaloneMmCorePrivateData.h
Generated on Fri Nov 15 2024 18:01:25 for TianoCore EDK2 by
1.9.6