TianoCore EDK2 master
Loading...
Searching...
No Matches
SmramInternal.h
Go to the documentation of this file.
1
12#include <Pi/PiMultiPhase.h>
13
15#include <Library/HobLib.h>
16
17//
18// The value of PcdQ35TsegMbytes is saved into this variable at module startup.
19//
20extern UINT16 mQ35TsegMbytes;
21
25VOID
27 VOID
28 );
29
33VOID
35 VOID
36 );
37
52VOID
54 OUT BOOLEAN *LockState,
55 OUT BOOLEAN *OpenState
56 );
57
58//
59// The functions below follow the PEI_SMM_ACCESS_PPI and
60// EFI_SMM_ACCESS2_PROTOCOL member declarations. The PeiServices and This
61// pointers are removed (TSEG doesn't depend on them), and so is the
62// DescriptorIndex parameter (TSEG doesn't support range-wise locking).
63//
64// The LockState and OpenState members that are common to both
65// PEI_SMM_ACCESS_PPI and EFI_SMM_ACCESS2_PROTOCOL are taken and updated in
66// isolation from the rest of the (non-shared) members.
67//
68
70SmramAccessOpen (
71 OUT BOOLEAN *LockState,
72 OUT BOOLEAN *OpenState
73 );
74
76SmramAccessClose (
77 OUT BOOLEAN *LockState,
78 OUT BOOLEAN *OpenState
79 );
80
82SmramAccessLock (
83 OUT BOOLEAN *LockState,
84 IN OUT BOOLEAN *OpenState
85 );
86
88SmramAccessGetCapabilities (
89 IN OUT UINTN *SmramMapSize,
91 );
UINT64 UINTN
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
VOID InitQ35SmramAtDefaultSmbase(VOID)
Definition: SmramInternal.c:44
VOID GetStates(OUT BOOLEAN *LockState, OUT BOOLEAN *OpenState)
Definition: SmramInternal.c:66
VOID InitQ35TsegMbytes(VOID)
Definition: SmramInternal.c:33
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29