TianoCore EDK2
master
Loading...
Searching...
No Matches
ResetSystem.h
Go to the documentation of this file.
1
9
#ifndef _RESET_SYSTEM2_H_
10
#define _RESET_SYSTEM2_H_
11
12
#include <
Uefi.h
>
13
#include <
PiPei.h
>
14
15
#include <
Ppi/Reset2.h
>
16
#include <
Ppi/PlatformSpecificResetFilter.h
>
17
#include <
Ppi/PlatformSpecificResetNotification.h
>
18
#include <
Ppi/PlatformSpecificResetHandler.h
>
19
20
#include <
Library/BaseLib.h
>
21
#include <
Library/BaseMemoryLib.h
>
22
#include <
Library/DebugLib.h
>
23
#include <
Library/PeiServicesLib.h
>
24
#include <
Library/HobLib.h
>
25
#include <
Library/ResetSystemLib.h
>
26
#include <
Library/ReportStatusCodeLib.h
>
27
28
//
29
// The maximum recursion depth to ResetSystem() by reset notification handlers
30
//
31
#define MAX_RESET_NOTIFY_DEPTH 10
32
33
//
34
// Data to put in GUIDed HOB
35
//
36
typedef
struct
{
37
UINT32 Signature;
38
UINT32 Count;
39
EFI_RESET_SYSTEM
ResetFilters[0];
// ResetFilters[PcdGet32 (PcdMaximumResetNotifies)]
40
}
RESET_FILTER_LIST
;
41
#define RESET_FILTER_LIST_SIGNATURE SIGNATURE_32('r', 's', 't', 'l')
42
43
typedef
struct
{
44
EDKII_PLATFORM_SPECIFIC_RESET_FILTER_PPI
ResetFilter;
45
EFI_GUID
*Guid;
46
}
RESET_FILTER_INSTANCE
;
47
64
VOID
65
EFIAPI
66
ResetSystem2
(
67
IN
EFI_RESET_TYPE
ResetType,
68
IN
EFI_STATUS
ResetStatus,
69
IN
UINTN
DataSize,
70
IN
VOID *ResetData OPTIONAL
71
);
72
91
EFI_STATUS
92
EFIAPI
93
RegisterResetNotify
(
94
IN
EDKII_PLATFORM_SPECIFIC_RESET_FILTER_PPI
*This,
95
IN
EFI_RESET_SYSTEM
ResetFunction
96
);
97
113
EFI_STATUS
114
EFIAPI
115
UnregisterResetNotify
(
116
IN
EFI_RESET_NOTIFICATION_PROTOCOL
*This,
117
IN
EFI_RESET_SYSTEM
ResetFunction
118
);
119
120
#endif
UINTN
UINT64 UINTN
Definition:
ProcessorBind.h:112
BaseLib.h
BaseMemoryLib.h
HobLib.h
IN
#define IN
Definition:
Base.h:279
DebugLib.h
ReportStatusCodeLib.h
PeiServicesLib.h
PiPei.h
PlatformSpecificResetNotification.h
PlatformSpecificResetFilter.h
PlatformSpecificResetHandler.h
Reset2.h
ResetSystemLib.h
RegisterResetNotify
EFI_STATUS EFIAPI RegisterResetNotify(IN EDKII_PLATFORM_SPECIFIC_RESET_FILTER_PPI *This, IN EFI_RESET_SYSTEM ResetFunction)
Definition:
ResetSystem.c:96
ResetSystem2
VOID EFIAPI ResetSystem2(IN EFI_RESET_TYPE ResetType, IN EFI_STATUS ResetStatus, IN UINTN DataSize, IN VOID *ResetData OPTIONAL)
Definition:
ResetSystem.c:278
UnregisterResetNotify
EFI_STATUS EFIAPI UnregisterResetNotify(IN EFI_RESET_NOTIFICATION_PROTOCOL *This, IN EFI_RESET_SYSTEM ResetFunction)
Definition:
ResetSystem.c:186
Uefi.h
EFI_STATUS
RETURN_STATUS EFI_STATUS
Definition:
UefiBaseType.h:29
EFI_RESET_TYPE
EFI_RESET_TYPE
Definition:
UefiMultiPhase.h:132
EFI_RESET_SYSTEM
VOID(EFIAPI * EFI_RESET_SYSTEM)(IN EFI_RESET_TYPE ResetType, IN EFI_STATUS ResetStatus, IN UINTN DataSize, IN VOID *ResetData OPTIONAL)
Definition:
UefiSpec.h:1089
_EFI_RESET_NOTIFICATION_PROTOCOL
Definition:
ResetNotification.h:71
GUID
Definition:
Base.h:213
RESET_FILTER_INSTANCE
Definition:
ResetSystem.h:43
RESET_FILTER_LIST
Definition:
ResetSystem.h:36
MdeModulePkg
Universal
ResetSystemPei
ResetSystem.h
Generated on Fri Nov 15 2024 18:01:13 for TianoCore EDK2 by
1.9.6