From 06aaf2f82cd1cd6a45e826cf33666cb979cd9950 Mon Sep 17 00:00:00 2001 From: Bret Barkelew Date: Fri, 22 Feb 2019 13:36:24 +0800 Subject: [PATCH] MdeModulePkg/ResetUtilityLib: Add a new API ResetSystemWithSubtype BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1458 Add a new API ResetSystemWithSubtype's prototype declaration in header file. Also add the required data type header file. Cc: Jian J Wang Cc: Hao Wu Cc: Ray Ni Cc: Star Zeng Cc: Liming Gao Cc: Sean Brogan Cc: Michael Turner Cc: Bret Barkelew Signed-off-by: Zhichao Gao Reviewed-by: Hao Wu --- .../Include/Library/ResetUtilityLib.h | 34 ++++++++++++++++--- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/MdeModulePkg/Include/Library/ResetUtilityLib.h b/MdeModulePkg/Include/Library/ResetUtilityLib.h index ca310cdb01..656703e782 100644 --- a/MdeModulePkg/Include/Library/ResetUtilityLib.h +++ b/MdeModulePkg/Include/Library/ResetUtilityLib.h @@ -1,7 +1,7 @@ /** @file This header describes various helper functions for resetting the system. - Copyright (c) 2017 Intel Corporation. All rights reserved.
+ Copyright (c) 2017 - 2019 Intel Corporation. All rights reserved.
Copyright (c) 2016 Microsoft Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent @@ -10,10 +10,36 @@ #ifndef _RESET_UTILITY_LIB_H_ #define _RESET_UTILITY_LIB_H_ +#include + +/** + This is a shorthand helper function to reset with reset type and a subtype + so that the caller doesn't have to bother with a function that has half + a dozen parameters. + + This will generate a reset with status EFI_SUCCESS, a NULL string, and + no custom data. The subtype will be formatted in such a way that it can be + picked up by notification registrations and custom handlers. + + NOTE: This call will fail if the architectural ResetSystem underpinnings + are not initialized. For DXE, you can add gEfiResetArchProtocolGuid + to your DEPEX. + + @param[in] ResetType The default EFI_RESET_TYPE of the reset. + @param[in] ResetSubtype GUID pointer for the reset subtype to be used. + +**/ +VOID +EFIAPI +ResetSystemWithSubtype ( + IN EFI_RESET_TYPE ResetType, + IN CONST GUID *ResetSubtype + ); + /** - This is a shorthand helper function to reset with a subtype so that - the caller doesn't have to bother with a function that has half a dozen - parameters. + This is a shorthand helper function to reset with the reset type + 'EfiResetPlatformSpecific' and a subtype so that the caller doesn't + have to bother with a function that has half a dozen parameters. This will generate a reset with status EFI_SUCCESS, a NULL string, and no custom data. The subtype will be formatted in such a way that it can be -- 2.39.2