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
18typedef struct {
19 LIST_ENTRY Link;
20 UINTN NumberOfPages;
22
23extern 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
46typedef struct {
47 UINTN Size;
48 BOOLEAN Available;
50
51typedef struct {
52 POOL_HEADER Header;
53 LIST_ENTRY Link;
55
56extern LIST_ENTRY mMmPoolLists[MAX_POOL_INDEX];
57
58#endif
UINT64 UINTN