TianoCore EDK2 master
Loading...
Searching...
No Matches
ResetSystem.h File Reference

Go to the source code of this file.

Data Structures

struct  RESET_FILTER_LIST
 
struct  RESET_FILTER_INSTANCE
 

Macros

#define MAX_RESET_NOTIFY_DEPTH   10
 
#define RESET_FILTER_LIST_SIGNATURE   SIGNATURE_32('r', 's', 't', 'l')
 

Functions

VOID EFIAPI ResetSystem2 (IN EFI_RESET_TYPE ResetType, IN EFI_STATUS ResetStatus, IN UINTN DataSize, IN VOID *ResetData OPTIONAL)
 
EFI_STATUS EFIAPI RegisterResetNotify (IN EDKII_PLATFORM_SPECIFIC_RESET_FILTER_PPI *This, IN EFI_RESET_SYSTEM ResetFunction)
 
EFI_STATUS EFIAPI UnregisterResetNotify (IN EFI_RESET_NOTIFICATION_PROTOCOL *This, IN EFI_RESET_SYSTEM ResetFunction)
 

Detailed Description

Copyright (c) 2017 - 2018, Intel Corporation. All rights reserved.

SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file ResetSystem.h.

Macro Definition Documentation

◆ MAX_RESET_NOTIFY_DEPTH

#define MAX_RESET_NOTIFY_DEPTH   10

Definition at line 31 of file ResetSystem.h.

◆ RESET_FILTER_LIST_SIGNATURE

#define RESET_FILTER_LIST_SIGNATURE   SIGNATURE_32('r', 's', 't', 'l')

Definition at line 41 of file ResetSystem.h.

Function Documentation

◆ RegisterResetNotify()

EFI_STATUS EFIAPI RegisterResetNotify ( IN EFI_RESET_NOTIFICATION_PROTOCOL This,
IN EFI_RESET_SYSTEM  ResetFunction 
)

Register a notification function to be called when ResetSystem() is called.

The RegisterResetNotify() function registers a notification function that is called when ResetSystem()is called and prior to completing the reset of the platform. The registered functions must not perform a platform reset themselves. These notifications are intended only for the notification of components which may need some special-purpose maintenance prior to the platform resetting.

Parameters
[in]ThisA pointer to the EDKII_PLATFORM_SPECIFIC_RESET_FILTER_PPI instance.
[in]ResetFunctionPoints to the function to be called when a ResetSystem() is executed.
Return values
EFI_SUCCESSThe reset notification function was successfully registered.
EFI_INVALID_PARAMETERResetFunction is NULL.
EFI_OUT_OF_RESOURCESThere are not enough resources available to register the reset notification function.
EFI_ALREADY_STARTEDThe reset notification function specified by ResetFunction has already been registered.

Register a notification function to be called when ResetSystem() is called.

The RegisterResetNotify() function registers a notification function that is called when ResetSystem() is called and prior to completing the reset of the platform. The registered functions must not perform a platform reset themselves. These notifications are intended only for the notification of components which may need some special-purpose maintenance prior to the platform resetting. The list of registered reset notification functions are processed if ResetSystem()is called before ExitBootServices(). The list of registered reset notification functions is ignored if ResetSystem() is called after ExitBootServices().

Parameters
[in]ThisA pointer to the EFI_RESET_NOTIFICATION_PROTOCOL instance.
[in]ResetFunctionPoints to the function to be called when a ResetSystem() is executed.
Return values
EFI_SUCCESSThe reset notification function was successfully registered.
EFI_INVALID_PARAMETERResetFunction is NULL.
EFI_OUT_OF_RESOURCESThere are not enough resources available to register the reset notification function.
EFI_ALREADY_STARTEDThe reset notification function specified by ResetFunction has already been registered.

Register a notification function to be called when ResetSystem() is called.

The RegisterResetNotify() function registers a notification function that is called when ResetSystem()is called and prior to completing the reset of the platform. The registered functions must not perform a platform reset themselves. These notifications are intended only for the notification of components which may need some special-purpose maintenance prior to the platform resetting. The list of registered reset notification functions are processed if ResetSystem()is called before ExitBootServices(). The list of registered reset notification functions is ignored if ResetSystem()is called after ExitBootServices().

Parameters
[in]ThisA pointer to the EFI_RESET_NOTIFICATION_PROTOCOL instance.
[in]ResetFunctionPoints to the function to be called when a ResetSystem() is executed.
Return values
EFI_SUCCESSThe reset notification function was successfully registered.
EFI_INVALID_PARAMETERResetFunction is NULL.
EFI_OUT_OF_RESOURCESThere are not enough resources available to register the reset notification function.
EFI_ALREADY_STARTEDThe reset notification function specified by ResetFunction has already been registered.

Definition at line 96 of file ResetSystem.c.

◆ ResetSystem2()

VOID EFIAPI ResetSystem2 ( IN EFI_RESET_TYPE  ResetType,
IN EFI_STATUS  ResetStatus,
IN UINTN  DataSize,
IN VOID *ResetData  OPTIONAL 
)

Resets the entire platform.

Parameters
[in]ResetTypeThe type of reset to perform.
[in]ResetStatusThe status code for the reset.
[in]DataSizeThe size, in bytes, of ResetData.
[in]ResetDataFor a ResetType of EfiResetCold, EfiResetWarm, or EfiResetShutdown the data buffer starts with a Null-terminated string, optionally followed by additional binary data. The string is a description that the caller may use to further indicate the reason for the system reset. For a ResetType of EfiResetPlatformSpecific the data buffer also starts with a Null-terminated string that is followed by an EFI_GUID that describes the specific type of reset to perform.

Definition at line 278 of file ResetSystem.c.

◆ UnregisterResetNotify()

EFI_STATUS EFIAPI UnregisterResetNotify ( IN EFI_RESET_NOTIFICATION_PROTOCOL This,
IN EFI_RESET_SYSTEM  ResetFunction 
)

Unregister a notification function.

The UnregisterResetNotify() function removes the previously registered notification using RegisterResetNotify().

Parameters
[in]ThisA pointer to the EFI_RESET_NOTIFICATION_PROTOCOL instance.
[in]ResetFunctionThe pointer to the ResetFunction being unregistered.
Return values
EFI_SUCCESSThe reset notification function was unregistered.
EFI_INVALID_PARAMETERResetFunction is NULL.
EFI_INVALID_PARAMETERThe reset notification function specified by ResetFunction was not previously registered using RegisterResetNotify().

Definition at line 186 of file ResetSystem.c.