TianoCore EDK2 master
|
#include <Uefi.h>
#include <PiPei.h>
#include <Ppi/Reset2.h>
#include <Ppi/PlatformSpecificResetFilter.h>
#include <Ppi/PlatformSpecificResetNotification.h>
#include <Ppi/PlatformSpecificResetHandler.h>
#include <Library/BaseLib.h>
#include <Library/BaseMemoryLib.h>
#include <Library/DebugLib.h>
#include <Library/PeiServicesLib.h>
#include <Library/HobLib.h>
#include <Library/ResetSystemLib.h>
#include <Library/ReportStatusCodeLib.h>
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) |
Copyright (c) 2017 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file ResetSystem.h.
#define MAX_RESET_NOTIFY_DEPTH 10 |
Definition at line 31 of file ResetSystem.h.
#define RESET_FILTER_LIST_SIGNATURE SIGNATURE_32('r', 's', 't', 'l') |
Definition at line 41 of file ResetSystem.h.
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.
[in] | This | A pointer to the EDKII_PLATFORM_SPECIFIC_RESET_FILTER_PPI instance. |
[in] | ResetFunction | Points to the function to be called when a ResetSystem() is executed. |
EFI_SUCCESS | The reset notification function was successfully registered. |
EFI_INVALID_PARAMETER | ResetFunction is NULL. |
EFI_OUT_OF_RESOURCES | There are not enough resources available to register the reset notification function. |
EFI_ALREADY_STARTED | The 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().
[in] | This | A pointer to the EFI_RESET_NOTIFICATION_PROTOCOL instance. |
[in] | ResetFunction | Points to the function to be called when a ResetSystem() is executed. |
EFI_SUCCESS | The reset notification function was successfully registered. |
EFI_INVALID_PARAMETER | ResetFunction is NULL. |
EFI_OUT_OF_RESOURCES | There are not enough resources available to register the reset notification function. |
EFI_ALREADY_STARTED | The 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().
[in] | This | A pointer to the EFI_RESET_NOTIFICATION_PROTOCOL instance. |
[in] | ResetFunction | Points to the function to be called when a ResetSystem() is executed. |
EFI_SUCCESS | The reset notification function was successfully registered. |
EFI_INVALID_PARAMETER | ResetFunction is NULL. |
EFI_OUT_OF_RESOURCES | There are not enough resources available to register the reset notification function. |
EFI_ALREADY_STARTED | The reset notification function specified by ResetFunction has already been registered. |
Definition at line 96 of file ResetSystem.c.
VOID EFIAPI ResetSystem2 | ( | IN EFI_RESET_TYPE | ResetType, |
IN EFI_STATUS | ResetStatus, | ||
IN UINTN | DataSize, | ||
IN VOID *ResetData | OPTIONAL | ||
) |
Resets the entire platform.
[in] | ResetType | The type of reset to perform. |
[in] | ResetStatus | The status code for the reset. |
[in] | DataSize | The size, in bytes, of ResetData. |
[in] | ResetData | For 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.
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().
[in] | This | A pointer to the EFI_RESET_NOTIFICATION_PROTOCOL instance. |
[in] | ResetFunction | The pointer to the ResetFunction being unregistered. |
EFI_SUCCESS | The reset notification function was unregistered. |
EFI_INVALID_PARAMETER | ResetFunction is NULL. |
EFI_INVALID_PARAMETER | The reset notification function specified by ResetFunction was not previously registered using RegisterResetNotify(). |
Definition at line 186 of file ResetSystem.c.