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>
19
20#include <Library/BaseLib.h>
22#include <Library/DebugLib.h>
24#include <Library/HobLib.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//
36typedef struct {
37 UINT32 Signature;
38 UINT32 Count;
39 EFI_RESET_SYSTEM ResetFilters[0]; // ResetFilters[PcdGet32 (PcdMaximumResetNotifies)]
41#define RESET_FILTER_LIST_SIGNATURE SIGNATURE_32('r', 's', 't', 'l')
42
43typedef struct {
45 EFI_GUID *Guid;
47
64VOID
65EFIAPI
67 IN EFI_RESET_TYPE ResetType,
68 IN EFI_STATUS ResetStatus,
69 IN UINTN DataSize,
70 IN VOID *ResetData OPTIONAL
71 );
72
92EFIAPI
95 IN EFI_RESET_SYSTEM ResetFunction
96 );
97
114EFIAPI
117 IN EFI_RESET_SYSTEM ResetFunction
118 );
119
120#endif
UINT64 UINTN
#define IN
Definition: Base.h:279
EFI_STATUS EFIAPI RegisterResetNotify(IN EDKII_PLATFORM_SPECIFIC_RESET_FILTER_PPI *This, IN EFI_RESET_SYSTEM ResetFunction)
Definition: ResetSystem.c:96
VOID EFIAPI ResetSystem2(IN EFI_RESET_TYPE ResetType, IN EFI_STATUS ResetStatus, IN UINTN DataSize, IN VOID *ResetData OPTIONAL)
Definition: ResetSystem.c:278
EFI_STATUS EFIAPI UnregisterResetNotify(IN EFI_RESET_NOTIFICATION_PROTOCOL *This, IN EFI_RESET_SYSTEM ResetFunction)
Definition: ResetSystem.c:186
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29
EFI_RESET_TYPE
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
Definition: Base.h:213