TianoCore EDK2 master
Loading...
Searching...
No Matches
EsrtImpl.h
Go to the documentation of this file.
1
9#ifndef _DXE_ESRT_IMPL_H_
10#define _DXE_ESRT_IMPL_H_
11
12#include <Guid/EventGroup.h>
14
15#include <Library/UefiLib.h>
17#include <Library/UefiLib.h>
18#include <Library/PcdLib.h>
19#include <Library/BaseLib.h>
23#include <Library/DebugLib.h>
24#include <Library/CapsuleLib.h>
25
29
30//
31// Name of Variable for Non-FMP ESRT Repository
32//
33#define EFI_ESRT_NONFMP_VARIABLE_NAME L"EsrtNonFmp"
34
35//
36// Name of Variable for FMP
37//
38#define EFI_ESRT_FMP_VARIABLE_NAME L"EsrtFmp"
39
40//
41// Attribute of Cached ESRT entry
42//
43#define ESRT_FROM_FMP 0x00000001
44#define ESRT_FROM_NONFMP 0x00000002
45
46typedef struct {
47 EFI_HANDLE Handle;
48 //
49 // Ready to boot event
50 //
51 EFI_EVENT Event;
52
53 //
54 // Updates to Fmp storage must be locked.
55 //
56 EFI_LOCK FmpLock;
57
58 //
59 // Update to Non-Fmp storage must be locked
60 //
61 EFI_LOCK NonFmpLock;
63
77 IN EFI_GUID *FwClass,
78 IN UINTN Attribute,
80 );
81
94 UINTN Attribute
95 );
96
109 IN EFI_GUID *FwClass,
110 IN UINTN Attribute
111 );
112
126 UINTN Attribute
127 );
128
137VOID
140 IN EFI_FIRMWARE_IMAGE_DESCRIPTOR *FmpImageInfo,
141 IN UINT32 DescriptorVersion
142 );
143
156EFIAPI
158 IN EFI_GUID *FwClass,
160 );
161
173EFIAPI
176 );
177
188EFIAPI
190 IN EFI_GUID *FwClass
191 );
192
202EFIAPI
205 );
206
218EFIAPI
220 VOID
221 );
222
231EFIAPI
233 VOID
234 );
235
236#endif // #ifndef _EFI_ESRT_IMPL_H_
UINT64 UINTN
EFI_STATUS EFIAPI EsrtDxeLockEsrtRepository(VOID)
Definition: EsrtDxe.c:478
EFI_STATUS EFIAPI EsrtDxeUpdateEsrtEntry(IN EFI_SYSTEM_RESOURCE_ENTRY *Entry)
Definition: EsrtDxe.c:98
VOID SetEsrtEntryFromFmpInfo(IN OUT EFI_SYSTEM_RESOURCE_ENTRY *EsrtEntry, IN EFI_FIRMWARE_IMAGE_DESCRIPTOR *FmpImageInfo, IN UINT32 DescriptorVersion)
Definition: EsrtImpl.c:434
EFI_STATUS EFIAPI EsrtDxeSyncFmp(VOID)
Definition: EsrtDxe.c:222
EFI_STATUS EFIAPI EsrtDxeRegisterEsrtEntry(IN EFI_SYSTEM_RESOURCE_ENTRY *Entry)
Definition: EsrtDxe.c:179
EFI_STATUS DeleteEsrtEntry(IN EFI_GUID *FwClass, IN UINTN Attribute)
Definition: EsrtImpl.c:209
EFI_STATUS GetEsrtEntry(IN EFI_GUID *FwClass, IN UINTN Attribute, OUT EFI_SYSTEM_RESOURCE_ENTRY *Entry)
Definition: EsrtImpl.c:23
EFI_STATUS UpdateEsrtEntry(IN EFI_SYSTEM_RESOURCE_ENTRY *Entry, UINTN Attribute)
Definition: EsrtImpl.c:310
EFI_STATUS EFIAPI EsrtDxeUnRegisterEsrtEntry(IN EFI_GUID *FwClass)
Definition: EsrtDxe.c:145
EFI_STATUS EFIAPI EsrtDxeGetEsrtEntry(IN EFI_GUID *FwClass, IN OUT EFI_SYSTEM_RESOURCE_ENTRY *Entry)
Definition: EsrtDxe.c:38
EFI_STATUS InsertEsrtEntry(IN EFI_SYSTEM_RESOURCE_ENTRY *Entry, UINTN Attribute)
Definition: EsrtImpl.c:92
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29
VOID * EFI_EVENT
Definition: UefiBaseType.h:37
VOID * EFI_HANDLE
Definition: UefiBaseType.h:33
Definition: Base.h:213